@@ -59,13 +59,13 @@ if (NOT (${ARCH} STREQUAL x86_64) AND NOT (${ARCH} STREQUAL aarch64) AND NOT (${
5959endif ()
6060
6161# Global compile options, only effective within this project
62- set (global_compile_options "-Wall -Wno-error=pragmas" )
63- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)
64- # Hint: -faligned-new is enabled by default after -std=c++17
65- set (global_compile_options "${global_compile_options} -Werror -faligned-new" )
66- endif ()
62+ set (global_compile_options "-Werror -Wall -Wno-error=pragmas" )
6763set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS } ${global_compile_options} " )
6864set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } ${global_compile_options} " )
65+ if (${CMAKE_CXX_COMPILER_ID } STREQUAL GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)
66+ # Hint: -faligned-new is enabled by default after -std=c++17
67+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -faligned-new" )
68+ endif ()
6969
7070if (PHOTON_BUILD_WITH_ASAN)
7171 if ((NOT CMAKE_BUILD_TYPE STREQUAL "Debug" ) OR (NOT CMAKE_SYSTEM_NAME STREQUAL "Linux" ))
@@ -82,6 +82,9 @@ set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
8282set (CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG" )
8383set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -DNDEBUG -g" )
8484set (CMAKE_CXX_FLAGS_MINSIZEREL "-O2 -march=native" ) # Only for CI test
85+ set (CMAKE_C_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG } )
86+ set (CMAKE_C_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE } )
87+ set (CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO } )
8588set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
8689set (CMAKE_BUILD_RPATH_USE_ORIGIN ON )
8790set (CMAKE_POSITION_INDEPENDENT_CODE ON )
@@ -90,23 +93,15 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
9093 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -Wno-packed-bitfield-compat" )
9194endif ()
9295
93- if (${ARCH} STREQUAL x86_64)
94- # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
95- elseif (${ARCH} STREQUAL aarch64)
96- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -mcpu=native -fsigned-char -fno-stack-protector -fomit-frame-pointer" )
97- endif ()
98-
9996if (${ARCH} STREQUAL x86_64)
10097 check_cxx_compiler_flag (-mcrc32 COMPILER_HAS_MCRC32_FLAG )
10198 if (COMPILER_HAS_MCRC32_FLAG)
10299 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -mcrc32" )
103100 endif ()
101+ elseif (${ARCH} STREQUAL aarch64)
102+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -mcpu=native -fsigned-char -fno-stack-protector -fomit-frame-pointer" )
104103endif ()
105104
106- set (CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS } )
107- set (CMAKE_C_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG } )
108- set (CMAKE_C_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE } )
109-
110105# Default build type is Release
111106if (NOT CMAKE_BUILD_TYPE )
112107 set (CMAKE_BUILD_TYPE Release)
0 commit comments