Index: libcxx/benchmarks/CMakeLists.txt =================================================================== --- libcxx/benchmarks/CMakeLists.txt +++ libcxx/benchmarks/CMakeLists.txt @@ -137,6 +137,7 @@ add_executable(${libcxx_target} EXCLUDE_FROM_ALL ${source_file}) add_dependencies(${libcxx_target} cxx cxx-headers google-benchmark-libcxx) add_dependencies(cxx-benchmarks ${libcxx_target}) + target_link_libraries(${libcxx_target} ${LIBCXX_LIBRARIES}) if (LIBCXX_ENABLE_SHARED) target_link_libraries(${libcxx_target} cxx_shared) else() Index: libcxx/lib/CMakeLists.txt =================================================================== --- libcxx/lib/CMakeLists.txt +++ libcxx/lib/CMakeLists.txt @@ -241,7 +241,7 @@ if(COMMAND llvm_setup_rpath) llvm_setup_rpath(cxx_shared) endif() - target_link_libraries(cxx_shared ${LIBCXX_LIBRARIES}) + target_link_libraries(cxx_shared PRIVATE ${LIBCXX_LIBRARIES}) set_target_properties(cxx_shared PROPERTIES LINK_FLAGS "${LIBCXX_LINK_FLAGS}" @@ -265,7 +265,7 @@ # Build the static library. if (LIBCXX_ENABLE_STATIC) add_library(cxx_static STATIC ${cxx_static_sources}) - target_link_libraries(cxx_static ${LIBCXX_LIBRARIES}) + target_link_libraries(cxx_static PRIVATE ${LIBCXX_LIBRARIES}) set(CMAKE_STATIC_LIBRARY_PREFIX "lib") set_target_properties(cxx_static PROPERTIES @@ -461,3 +461,8 @@ -P "${LIBCXX_BINARY_DIR}/cmake_install.cmake") add_custom_target(install-libcxx DEPENDS install-cxx) endif() + +# TODO: This is needed by cxx-benchmarks but this variable isn't +# available outside of the scope of this file so we need to export +# it. This is not necessarily the cleanest solution. +set(LIBCXX_LIBRARIES ${LIBCXX_LIBRARIES} PARENT_SCOPE) Index: libcxxabi/src/CMakeLists.txt =================================================================== --- libcxxabi/src/CMakeLists.txt +++ libcxxabi/src/CMakeLists.txt @@ -189,7 +189,7 @@ if(COMMAND llvm_setup_rpath) llvm_setup_rpath(cxxabi_shared) endif() - target_link_libraries(cxxabi_shared ${LIBCXXABI_LIBRARIES} ${LIBCXXABI_SHARED_LIBRARIES}) + target_link_libraries(cxxabi_shared PRIVATE ${LIBCXXABI_LIBRARIES} ${LIBCXXABI_SHARED_LIBRARIES}) set_target_properties(cxxabi_shared PROPERTIES CXX_EXTENSIONS @@ -226,7 +226,7 @@ endif() endif() add_library(cxxabi_static STATIC ${cxxabi_static_sources}) - target_link_libraries(cxxabi_static ${LIBCXXABI_LIBRARIES} ${LIBCXXABI_STATIC_LIBRARIES}) + target_link_libraries(cxxabi_static PRIVATE ${LIBCXXABI_LIBRARIES} ${LIBCXXABI_STATIC_LIBRARIES}) set_target_properties(cxxabi_static PROPERTIES CXX_EXTENSIONS Index: libunwind/src/CMakeLists.txt =================================================================== --- libunwind/src/CMakeLists.txt +++ libunwind/src/CMakeLists.txt @@ -146,7 +146,7 @@ if(COMMAND llvm_setup_rpath) llvm_setup_rpath(unwind_shared) endif() - target_link_libraries(unwind_shared ${libraries}) + target_link_libraries(unwind_shared PRIVATE ${libraries}) set_target_properties(unwind_shared PROPERTIES LINK_FLAGS "${LIBUNWIND_LINK_FLAGS}" @@ -162,7 +162,7 @@ # Build the static library. if (LIBUNWIND_ENABLE_STATIC) add_library(unwind_static STATIC ${unwind_static_sources}) - target_link_libraries(unwind_static ${libraries}) + target_link_libraries(unwind_static PRIVATE ${libraries}) set_target_properties(unwind_static PROPERTIES LINK_FLAGS "${LIBUNWIND_LINK_FLAGS}"