We both want to respect the user's CFLAGS, but also, not all of our arches support -march or -mtune. --- a/benchmark/CMakeLists.txt +++ b/benchmark/CMakeLists.txt @@ -30,7 +30,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel") if(NOT CMAKE_CXX_FLAGS MATCHES "-march" AND NOT CMAKE_CXX_FLAGS MATCHES "-arch" AND NOT CMAKE_OSX_ARCHITECTURES) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") endif() if(NOT MSVC) --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -26,7 +26,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel") if (NOT CMAKE_CXX_FLAGS MATCHES "-march" AND NOT CMAKE_CXX_FLAGS MATCHES "-arch" AND NOT CMAKE_OSX_ARCHITECTURES) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -mtune=native") endif() if(NOT CMAKE_CXX_COMPILER_ID MATCHES Clang) # We are using clang-cl set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -42,8 +42,6 @@ # Note: to compile on ARM (or cross compile), you may need to add the following: # -DTARGET_ARCH="armv8-a -mfpu=neon -mfloat-abi=softfp -target arm-linux-gnueabi" -set(TARGET_ARCH "native" CACHE STRING "Target architecture arguments") -string(REGEX MATCH "emulated\\<[0-9]+\\>" TARGET_EMULATED ${TARGET_ARCH}) if (TARGET_EMULATED) message(STATUS "Using emulated target: ${TARGET_EMULATED}") @@ -100,7 +99,6 @@ include_directories(/usr/${ARM_ARCH_DIRECTORY}/include/) if(NOT CMAKE_CXX_FLAGS MATCHES "-march") message(STATUS "SETTING ARCH TO ${TARGET_ARCH}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${TARGET_ARCH}") endif() if(ARM_ARCH_DIRECTORY MATCHES "arm-linux-gnueabi") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=neon -mfloat-abi=softfp -target arm-linux-gnueabi") @@ -110,16 +108,13 @@ message(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") message(STATUS "CMAKE_CXX_LINK_EXECUTABLE: ${CMAKE_CXX_LINK_EXECUTABLE}") elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^ppc64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=${TARGET_ARCH} -mtune=${TARGET_ARCH}") elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "riscv64") # Nothing specific elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc") # Nothing specific elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "s390x") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=z14 -mzvector") elseif(NOT WIN32 AND NOT EMSCRIPTEN) if(TARGET_ARCH AND NOT CMAKE_CXX_FLAGS MATCHES "-march" AND NOT CMAKE_CXX_FLAGS MATCHES "-arch" AND NOT CMAKE_OSX_ARCHITECTURES) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${TARGET_ARCH}") endif() endif() endif()