[libcxx-commits] [PATCH] D60276: [libc++] Localize CMake code only related to the shared library

Shoaib Meenai via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Apr 4 15:52:09 PDT 2019


smeenai added inline comments.


================
Comment at: libcxx/lib/CMakeLists.txt:183
+    # to build the static libc++abi before libc++, so we must tell it explicitly.
+    add_dependencies(cxx_shared "${LIBCXX_CXX_STATIC_ABI_LIBRARY}")
+  else()
----------------
smeenai wrote:
> Sorry, I just realized a potential issue here. At least with the Ninja generator, this adds an order-only dependency from cxx_shared to LIBCXX_CXX_STATIC_ABI_LIBRARY, not a full dependency. In other words, if you change a source file for LIBCXX_CXX_STATIC_ABI_LIBRARY and then rebuild cxx_shared, LIBCXX_CXX_STATIC_ABI_LIBRARY will get rebuilt, but cxx_shared won't be relinked. I'm not sure if there's any way to get the full dependency other than just using target_link_libraries directly :(
Well, there's `LINK_DEPENDS`, but it's only available for Makefile and Ninja generators. It looks like at least the Xcode generator doesn't have the order-only dependency issue though.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60276/new/

https://reviews.llvm.org/D60276





More information about the libcxx-commits mailing list