This is an archive of the discontinued LLVM Phabricator instance.

Stop building liblldb with CMake's framework functionality
ClosedPublic

Authored by xiaobai on Jul 26 2018, 4:33 PM.

Details

Summary

CMake has a bug in its ninja generator that prevents you from
installing targets that are built with framework support. Therefore, I want to
not rely on CMake's framework support.

Diff Detail

Repository
rL LLVM

Event Timeline

xiaobai created this revision.Jul 26 2018, 4:33 PM

Tested this by invoking

cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Debug -DLLDB_BUILD_FRAMEWORK=1 && ninja lldb

The resulting framework appears to be the same as before.

labath accepted this revision.Jul 27 2018, 1:16 AM

Can't say I fully understand what's going on, but the changes seem reasonable to me.

If there is some public cmake bug describing the issue you ran into, it would be nice, for the sake of future archaeologists, to reference it somewhere (commit message and LLDBFramework.cmake?).

This revision is now accepted and ready to land.Jul 27 2018, 1:16 AM

Can't say I fully understand what's going on, but the changes seem reasonable to me.

Let me know if I can clear anything up.

If there is some public cmake bug describing the issue you ran into, it would be nice, for the sake of future archaeologists, to reference it somewhere (commit message and LLDBFramework.cmake?).

I haven't checked to see if a bug has been filed for this specific case but I have a minimal repro. I'll file a bug against CMake and add a link to the report in the commit message and in LLDBFramework.cmake before I actually commit this.

xiaobai updated this revision to Diff 157713.Jul 27 2018, 11:07 AM

Add comment pointing to CMake bug report

This revision was automatically updated to reflect the committed changes.