diff --git a/libcxx/cmake/Modules/CheckLibcxxAtomic.cmake b/libcxx/cmake/Modules/CheckLibcxxAtomic.cmake --- a/libcxx/cmake/Modules/CheckLibcxxAtomic.cmake +++ b/libcxx/cmake/Modules/CheckLibcxxAtomic.cmake @@ -34,10 +34,12 @@ # Perform the check for 64bit atomics without libatomic. It may have been # added to the required libraries during in the configuration of LLVM, which # would cause the check for CXX atomics without libatomic to incorrectly pass. -set(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) -list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "atomic") -check_cxx_atomics(LIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB) -set(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES}) +if (CMAKE_REQUIRED_LIBRARIES) + set(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) + list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "atomic") + check_cxx_atomics(LIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB) + set(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES}) +endif() check_library_exists(atomic __atomic_fetch_add_8 "" LIBCXX_HAS_ATOMIC_LIB) # If not, check if the library exists, and atomics work with it.