File tree Expand file tree Collapse file tree 2 files changed +12
-13
lines changed
Expand file tree Collapse file tree 2 files changed +12
-13
lines changed Original file line number Diff line number Diff line change @@ -9,10 +9,8 @@ enable_language(C)
99set (CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG" )
1010set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -DNDEBUG -g" )
1111
12- # Get CPU arch
13- execute_process (COMMAND uname -m OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
14- if (NOT (${ARCH} STREQUAL x86_64) AND NOT (${ARCH} STREQUAL aarch64) AND NOT (${ARCH} STREQUAL arm64))
15- message (FATAL_ERROR "Unknown CPU architecture ${ARCH} " )
12+ if (NOT (CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64) AND NOT (CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) AND NOT (CMAKE_SYSTEM_PROCESSOR STREQUAL arm64))
13+ message (FATAL_ERROR "Unknown CPU architecture ${CMAKE_SYSTEM_PROCESSOR} " )
1614endif ()
1715
1816option (OBD_VER "Overlaybd version" "overlaybd/0.0.0-undefined" )
@@ -25,7 +23,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
2523set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic -Wall -Werror=sign-compare" )
2624set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpic -Wall -Werror=sign-compare -DOVERLAYBD_VER=${OBD_VER} " )
2725
28- if (${ARCH} STREQUAL aarch64)
26+ if (( CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) OR ( CMAKE_SYSTEM_PROCESSOR STREQUAL arm64) )
2927 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a+crc -fsigned-char -fno-stack-protector -fomit-frame-pointer" )
3028endif ()
3129
Original file line number Diff line number Diff line change @@ -2,22 +2,23 @@ file(GLOB SOURCE_ZFILE "*.cpp")
22file (GLOB SOURCE_LZ4 "lz4/*.c" )
33file (GLOB SOURCE_CRC32 "crc32/crc32c.cpp" )
44
5- # Get CPU arch
6- execute_process (COMMAND uname -m OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
7- if (NOT (${ARCH} STREQUAL x86_64) AND NOT (${ARCH} STREQUAL aarch64))
8- message (FATAL_ERROR "Unknown CPU architecture ${ARCH} " )
9- endif ()
10-
115set (CMAKE_CXX_STANDARD 17)
126add_library (crc32_lib STATIC ${SOURCE_CRC32} )
137target_include_directories (crc32_lib PUBLIC
148 ${PHOTON_INCLUDE_DIR}
159)
1610
17- if (${ARCH} STREQUAL x86_64)
11+ if (CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
1812 target_compile_options (crc32_lib PUBLIC -msse4.2 -mcrc32)
1913else ()
20- target_compile_options (crc32_lib PRIVATE -march=native -mcpu=generic+crc)
14+ if (NOT CMAKE_CXX_FLAGS MATCHES "-march=|-mcpu=" )
15+ check_cxx_compiler_flag(-mcpu=native COMPILER_HAS_NATIVE_FLAG)
16+ if (COMPILER_HAS_NATIVE_FLAG)
17+ target_compile_options (crc32_lib PRIVATE -mcpu=native)
18+ else ()
19+ target_compile_options (crc32_lib PRIVATE -mcpu=generic+crc)
20+ endif ()
21+ endif ()
2122endif ()
2223
2324if (ENABLE_DSA OR ENABLE_ISAL)
You can’t perform that action at this time.
0 commit comments