diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-03-19 23:19:44 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2022-03-19 23:19:44 +0100 |
commit | 6dcb26d21ed116016f0f3ee7630f532a70a66b79 (patch) | |
tree | 8a488747a52b86fa6462a4bafb2d2cf3e833d086 /CMakeLists.txt | |
parent | 198b96471a6666ea5386f0577723215c5fbb4ea8 (diff) | |
download | qpdf-6dcb26d21ed116016f0f3ee7630f532a70a66b79.tar.zst |
Fix test for whether atomic library is needed
Some platforms need it for atomic<long long> but not for atomic<int>.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d58f76c9..33ff69aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,6 +154,7 @@ if(WIN32 AND NOT SKIP_OS_SECURE_RANDOM) endif() include(CheckCXXSourceCompiles) +set(ATOMIC_LIBRARY) function(check_atomic) foreach(I 0 1) if(I) @@ -162,8 +163,8 @@ function(check_atomic) check_cxx_source_compiles( "#include <atomic> int main() { - static std::atomic<int> a{0}; - a = a.fetch_add(1); + static std::atomic<unsigned long long> a{0}; + a = a.fetch_add(1LL); return 0; }" ATOMIC_WORKED${I}) @@ -172,7 +173,7 @@ int main() { endif() endforeach() if(ATOMIC_WORKED1) - list(APPEND CMAKE_REQUIRED_LIBRARIES atomic) + set(ATOMIC_WORKED1 atomic PARENT_SCOPE) endif() endfunction() check_atomic() |