diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 7d0ced99f..c7ce52fa8 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -188,6 +188,18 @@ if(CMAKE_CXX_STANDARD GREATER 16) target_compile_definitions(FuzzFailTest_Single PUBLIC -DTEST_FILE_FOLDER="${TEST_FILE_FOLDER}") target_sources(FuzzFailTest_Single PUBLIC ${PROJECT_SOURCE_DIR}/fuzz/fuzzApp.cpp) endif() + + # Some platforms need to link to atomic + file(WRITE "${CMAKE_BINARY_DIR}/test_atomic.cpp" + "#include \n" "int main() { std::atomic i(0); i++; return 0; }\n") + try_compile(ATOMIC_BUILD_SUCCEEDED "${CMAKE_BINARY_DIR}" "${CMAKE_BINARY_DIR}/test_atomic.cpp") + if(NOT ATOMIC_BUILD_SUCCEEDED) + target_link_libraries(FuzzFailTest PRIVATE atomic) + if(CLI11_SINGLE_FILE AND CLI11_SINGLE_FILE_TESTS) + target_link_libraries(FuzzFailTestSingle PRIVATE atomic) + endif() + endif() + file(REMOVE ${CMAKE_BINARY_DIR}/test_atomic.cpp) endif() # Add -Wno-deprecated-declarations to DeprecatedTest