aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-03-19 23:19:44 +0100
committerJay Berkenbilt <ejb@ql.org>2022-03-19 23:19:44 +0100
commit6dcb26d21ed116016f0f3ee7630f532a70a66b79 (patch)
tree8a488747a52b86fa6462a4bafb2d2cf3e833d086 /CMakeLists.txt
parent198b96471a6666ea5386f0577723215c5fbb4ea8 (diff)
downloadqpdf-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.txt7
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()