This is an archive of the discontinued LLVM Phabricator instance.

[llvm] [cmake] Store a list of all possible LLVM_DISTRIBUTION_COMPONENTS
AbandonedPublic

Authored by mgorny on Sep 30 2019, 11:59 PM.

Details

Summary

Collect all possible LLVM_DISTRIBUTION_COMPONENTS for a given
configuration, and store them in LLVM_ALL_DISTRIBUTION_COMPONENTS cache
variable. This will make it easier for distribution maintainers to
establish the possible options, and to update them on upgrades.

Diff Detail

Event Timeline

mgorny created this revision.Sep 30 2019, 11:59 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 30 2019, 11:59 PM
mgorny planned changes to this revision.Oct 1 2019, 10:51 AM

Actually, this still misses a lot of useful components (such as headers). Help improving it would be welcome.

beanz requested changes to this revision.Oct 1 2019, 11:14 AM

This isn't really possible to do because CMake doesn't have a mechanism for listing all targets. A more correct approach for this would require generating a ninja build, then you could use ninja -t list to dump all the targets, then you can post-process that list to find a full list of components.

I suppose I'm looking for all the install-* targets. FWICS I can further filter irrelevant 'metatargets' via looking for install-*-stripped.

mgorny added a comment.Oct 1 2019, 1:26 PM

Hmm, that still misses Sphinx docs (HTML + manpages) and opt-viewer.

mgorny abandoned this revision.Oct 5 2019, 9:27 AM