[Lldb-commits] [PATCH] D61952: [CMake] Stabilize install process for LLDB.framework

Stefan Gränitz via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu May 16 09:12:50 PDT 2019

sgraenitz added a comment.

In D61952#1504346 <https://reviews.llvm.org/D61952#1504346>, @labath wrote:

> I'm not very familiar with frameworks and complexities involved in creating them, but the fact that we need to delete stuff from the build tree in order to install properly makes me think that there is something fishy going on. Is there no way to arrange things so that this can be avoided?

Well, maybe there are better ways to do it, but we have a number of restrictions.

> For instance, what if we set the build output paths to be separate and disjoint locations for each target. Then use a separate target, or some POST_BUILD commands to copy/symlink the files to construct an build-tree framework, and have the install targets create the install-tree framework from the original build output paths?

Ok, so you mean copying the entire framework to a staging directory, something like a "test-tree". Then we add test resources and run the test suite there. Sounds reasonable, I will investigate.
Certainly we had to consider ordering issues too, because all external headers and libraries must be copied in first, before copying to the test-tree.

In D61952#1503551 <https://reviews.llvm.org/D61952#1503551>, @JDevlieghere wrote:

> How does this cleanup affect dependency tracking? Does the build dir become unusable after running ninja install?

Good point. Ideally we'd just copy them in again before running the test suite. Unlike I expected, this doesn't work at the moment. Maybe I should get this done first:

  $ cmake -GNinja ...
  $ ninja check-lldb
  $ ninja install
  $ ninja check-lldb

Which other test suite invocation(s) should I verify?

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list