Merge topic 'cxx-atomic' into release-4.1

37171d9db0 Source: Improve detection of Linux architectures requiring explicit libatomic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11441
This commit is contained in:
Brad King 2025-11-25 10:59:45 -05:00
commit 812acd7ee6

View File

@ -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()