cd9953bfbc2070959a7492270728f3713958c208
[m6w6/libmemcached] / CMake / CheckStdatomic.cmake
1 include(CheckCSourceRuns)
2 include(CheckCXXSourceRuns)
3
4 # check for C11 stdatomic and C++11 std::atomic, set HAVE_C_STDATOMIC and/or HAVE_CXX_STDATOMIC
5 function(check_stdatomic)
6 check_cxx_source_runs(
7 "#include <atomic>
8 int main() {
9 std::atomic<int> i(0);
10 return atomic_fetch_add(&i,1);
11 }"
12 HAVE_CXX_STDATOMIC)
13 check_c_source_runs(
14 "#include <stdatomic.h>
15 int main() {
16 atomic_int i;
17 atomic_init(&i, 0);
18 return atomic_fetch_add(&i,1);
19 }"
20 HAVE_C_STDATOMIC)
21 endfunction( )