diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt --- a/lld/CMakeLists.txt +++ b/lld/CMakeLists.txt @@ -54,6 +54,7 @@ include(AddLLVM) include(TableGen) include(HandleLLVMOptions) + include(CheckAtomic) if(LLVM_INCLUDE_TESTS) if(CMAKE_VERSION VERSION_LESS 3.12) diff --git a/lld/Common/CMakeLists.txt b/lld/Common/CMakeLists.txt --- a/lld/Common/CMakeLists.txt +++ b/lld/Common/CMakeLists.txt @@ -1,3 +1,9 @@ +set(LLD_SYSTEM_LIBS ${LLVM_PTHREAD_LIB}) + +if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB) + list(APPEND LLD_SYSTEM_LIBS atomic) +endif() + find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc) find_first_existing_vc_file("${LLD_SOURCE_DIR}" lld_vc) @@ -50,7 +56,7 @@ Target LINK_LIBS - ${LLVM_PTHREAD_LIB} + ${LLD_SYSTEM_LIBS} DEPENDS intrinsics_gen