1 # Check if std::atomic needs -latomic
3 include(CheckCXXSourceCompiles)
6 check_std_atomic_source_code
11 std::atomic<long long> x;
18 check_cxx_source_compiles("${check_std_atomic_source_code}" std_atomic_without_libatomic)
20 if(NOT std_atomic_without_libatomic)
21 set(CMAKE_REQUIRED_LIBRARIES atomic)
22 check_cxx_source_compiles("${check_std_atomic_source_code}" std_atomic_with_libatomic)
23 set(CMAKE_REQUIRED_LIBRARIES)
24 if(NOT std_atomic_with_libatomic)
25 message(FATAL_ERROR "Toolchain doesn't support std::atomic with nor without -latomic")
27 target_link_libraries(standard_settings INTERFACE atomic)