From 3e8e563de2c54d2ecc71fb02ea3a3e1a2b8d4dc0 Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Thu, 30 Nov 2023 18:08:29 +0100 Subject: [PATCH] tests for atomic support --- CHANGELOG.rst | 1 + src/rapidfuzz/CMakeLists.txt | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/rapidfuzz/CMakeLists.txt b/src/rapidfuzz/CMakeLists.txt index 864fb992..e0dc8fc7 100644 --- a/src/rapidfuzz/CMakeLists.txt +++ b/src/rapidfuzz/CMakeLists.txt @@ -117,6 +117,8 @@ if(NOT Windows) ATOMICS_VOID_PTR_TEST_SOURCE "${ATOMICS_TEST_SOURCE}") string(REPLACE "std::atomic" "std::atomic" ATOMICS_UNSIGNED_TEST_SOURCE "${ATOMICS_TEST_SOURCE}") + string(REPLACE "std::atomic" "std::atomic" + ATOMICS_UINT64_TEST_SOURCE "${ATOMICS_TEST_SOURCE}") if(APPLE) set(CMAKE_REQUIRED_FLAGS "-std=c++11") @@ -129,10 +131,13 @@ if(NOT Windows) HAVE_CXX_ATOMICS_VOID_PTR_WITHOUT_LIB) check_cxx_source_compiles("${ATOMICS_UNSIGNED_TEST_SOURCE}" HAVE_CXX_ATOMICS_UNSIGNED_WITHOUT_LIB) + check_cxx_source_compiles("${ATOMICS_UINT64_TEST_SOURCE}" + HAVE_CXX_ATOMICS_UINT64_WITHOUT_LIB) if((NOT HAVE_CXX_ATOMICS_INT_WITHOUT_LIB) OR (NOT HAVE_CXX_ATOMICS_SIZE_T_WITHOUT_LIB) OR (NOT HAVE_CXX_ATOMICS_VOID_PTR_WITHOUT_LIB) - OR (NOT HAVE_CXX_ATOMICS_UNSIGNED_WITHOUT_LIB)) + OR (NOT HAVE_CXX_ATOMICS_UNSIGNED_WITHOUT_LIB) + OR (NOT HAVE_CXX_ATOMICS_UINT64_WITHOUT_LIB)) set(CMAKE_REQUIRED_LIBRARIES "atomic") check_cxx_source_compiles("${ATOMICS_TEST_SOURCE}" HAVE_CXX_ATOMICS_INT_WITH_LIB) @@ -142,6 +147,8 @@ if(NOT Windows) HAVE_CXX_ATOMICS_VOID_PTR_WITH_LIB) check_cxx_source_compiles("${ATOMICS_UNSIGNED_TEST_SOURCE}" HAVE_CXX_ATOMICS_UNSIGNED_WITH_LIB) + check_cxx_source_compiles("${ATOMICS_UINT64_TEST_SOURCE}" + HAVE_CXX_ATOMICS_UINT64_WITH_LIB) if(NOT HAVE_CXX_ATOMICS_INT_WITH_LIB) message( FATAL_ERROR @@ -159,6 +166,11 @@ if(NOT Windows) FATAL_ERROR "No native support for std::atomic, or libatomic not found!" ) + elseif(NOT HAVE_CXX_ATOMICS_UINT64_WITH_LIB) + message( + FATAL_ERROR + "No native support for std::atomic, or libatomic not found!" + ) else() message(STATUS "Linking with libatomic for atomics support") unset(CMAKE_REQUIRED_LIBRARIES)