[libcxx] Link target `cxx_external_threads` to `cxx-headers` for BUILD_EXTERNAL_THREA...
authorDavid Nicuesa <David.Nicuesa@arm.com>
Tue, 1 Sep 2020 11:41:21 +0000 (12:41 +0100)
committerMikhail Maltsev <mikhail.maltsev@arm.com>
Tue, 1 Sep 2020 11:43:44 +0000 (12:43 +0100)
Fix compilation of libcxx when using -DLIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY. Target `cxx_external_threads` gets linked to `cxx-headers` to include all needed headers and flags.

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D86773

libcxx/src/CMakeLists.txt

index 2001c09..dcd53c8 100644 (file)
@@ -323,7 +323,8 @@ endif()
 
 
 if (LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY)
-  file(GLOB LIBCXX_EXTERNAL_THREADING_SUPPORT_SOURCES ../test/support/external_threads.cpp)
+  set(LIBCXX_EXTERNAL_THREADING_SUPPORT_SOURCES
+      "${CMAKE_CURRENT_SOURCE_DIR}/../test/support/external_threads.cpp")
 
   if (LIBCXX_ENABLE_SHARED)
     add_library(cxx_external_threads SHARED ${LIBCXX_EXTERNAL_THREADING_SUPPORT_SOURCES})
@@ -337,6 +338,8 @@ if (LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY)
       COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}"
       OUTPUT_NAME   "c++external_threads"
   )
+
+  target_link_libraries(cxx_external_threads PRIVATE cxx-headers)
 endif()
 
 if (LIBCXX_INSTALL_LIBRARY)