[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