Skip to content

Commit 698ad72

Browse files
authored
added a try_compile block to detect if we need to link against atomic (as required by at least linux/arm32) (#152)
1 parent fa65b9a commit 698ad72

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,15 @@ if(WIN32)
122122
endif(OpenSSL_FOUND)
123123
endif(WIN32)
124124

125+
file(WRITE ${CMAKE_BINARY_DIR}/test_atomic.cpp
126+
"#include <atomic>\n"
127+
"int main() { std::atomic<int64_t> i(0); i++; return 0; }\n")
128+
try_compile(ATOMIC_WITHOUT_LINKING ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/test_atomic.cpp)
129+
if (NOT ATOMIC_WITHOUT_LINKING)
130+
target_link_libraries(${PROJECT_NAME} PUBLIC atomic)
131+
endif ()
132+
file(REMOVE ${CMAKE_BINARY_DIR}/test_atomic.cpp)
133+
125134
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14)
126135
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
127136
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_EXTENSIONS OFF)

0 commit comments

Comments
 (0)