diff --git a/CMakeLists.txt b/CMakeLists.txt index 44dbae8b..b3daab9c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -197,10 +197,13 @@ find_package(Threads REQUIRED) find_package(ZLIB REQUIRED) if (TON_ARCH AND NOT MSVC) + CHECK_CXX_COMPILER_FLAG( "-march=${TON_ARCH}" COMPILER_OPT_ARCH_SUPPORTED ) if (TON_ARCH STREQUAL "apple-m1") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=${TON_ARCH}") - else() + elseif(COMPILER_OPT_ARCH_SUPPORTED) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${TON_ARCH}") + elseif(NOT TON_ARCH STREQUAL "native") + message(FATAL_ERROR "Compiler doesn't support arch ${TON_ARCH}") endif() endif() if (THREADS_HAVE_PTHREAD_ARG)