diff --git a/Source/Checks/cm_cxx_features.cmake b/Source/Checks/cm_cxx_features.cmake index 0ba0c22b6b..f4832b3487 100644 --- a/Source/Checks/cm_cxx_features.cmake +++ b/Source/Checks/cm_cxx_features.cmake @@ -102,11 +102,18 @@ else() set(CMake_HAVE_CXX_FILESYSTEM FALSE) endif() -if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|aarch64)$") - cm_check_cxx_feature(atomic_builtin) - if(NOT CMake_HAVE_CXX_ATOMIC_BUILTIN) - set(cm_check_cxx_feature_LINK_LIBRARIES atomic) - cm_check_cxx_feature(atomic_lib) # defines CMake_HAVE_CXX_ATOMIC_LIB - unset(cm_check_cxx_feature_LINK_LIBRARIES) +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + if(CMAKE_CXX_COMPILER_ARCHITECTURE_ID) + set(arch_id "${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}") + else() + set(arch_id "${CMAKE_SYSTEM_PROCESSOR}") + endif() + if(NOT arch_id MATCHES "^(x86_64|aarch64)$") + cm_check_cxx_feature(atomic_builtin) + if(NOT CMake_HAVE_CXX_ATOMIC_BUILTIN) + set(cm_check_cxx_feature_LINK_LIBRARIES atomic) + cm_check_cxx_feature(atomic_lib) # defines CMake_HAVE_CXX_ATOMIC_LIB + unset(cm_check_cxx_feature_LINK_LIBRARIES) + endif() endif() endif()