cmake: set CMAKE_CXX_LINK_FLAGS in CheckAtomic module

The checks are valid, the "atomic" is added to CMAKE_REQUIRED_LIBRARIES,
but it fails during linking with undefined reference to __atomic_store_8
error.

"-latomic" needs to be added to CMAKE_CXX_LINK_FLAGS to fix that.
This commit is contained in:
Szabolcs Hubai 2019-11-02 00:50:57 +01:00 committed by Johannes Pohl
parent e177689426
commit c1a2fedd8d

View file

@ -116,6 +116,7 @@ if(NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
endif()
if( HAVE_LIBATOMIC OR HAVE_LIBATOMIC_2ARGS )
list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic")
check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITH_LIB)
if (NOT HAVE_CXX_ATOMICS_WITH_LIB)
message(FATAL_ERROR "Host compiler must support std::atomic!")
@ -136,6 +137,7 @@ if(NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
endif()
if( HAVE_CXX_LIBATOMICS64 OR HAVE_CXX_LIBATOMICS64_2ARGS )
list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic")
check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITH_LIB)
if (NOT HAVE_CXX_ATOMICS64_WITH_LIB)
message(FATAL_ERROR "Host compiler must support std::atomic!")