Add a CMake option controlling whether to link to libatomic. Refs #169.

This commit is contained in:
Peter Dimov
2024-10-12 22:07:11 +03:00
parent ba4f9a5be8
commit 8b85cda4f1
+23 -1
View File
@@ -22,12 +22,34 @@ target_link_libraries(boost_uuid
target_compile_features(boost_uuid INTERFACE cxx_std_11)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC"))
# Link Boost::uuid to libatomic
set(_def_linkatomic OFF)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(_def_linkatomic ON)
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
set(_def_linkatomic ON)
endif()
option(BOOST_UUID_LINK_LIBATOMIC "Boost.UUID: link Boost::uuid to libatomic" ${_def_linkatomic})
unset(_def_linkatomic)
if(BOOST_UUID_LINK_LIBATOMIC)
target_link_libraries(boost_uuid INTERFACE atomic)
endif()
# Testing support
if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
add_subdirectory(test)