HomePhabricator

[CMake] Export the LLVM_LINK_LLVM_DYLIB setting

Description

[CMake] Export the LLVM_LINK_LLVM_DYLIB setting

Summary:
When building out-of-tree tools, there are several macros available to
automate linking against llvm. An examples is add_llvm_executable, or
the clang variant of this.

These macros use the LLVM_LINK_LLVM_DYLIB option to decide whether to
link against libraries defined by setting LLVM_LINK_COMPONENTS or to
link against libLLVM instead. Currently this is problematic in
out-of-tree targets, because they cannot identify whether this option is
required or even available. If the option was enabled in LLVM's own
build, the clang libraries are built against libLLVM, so a client
linking against those must link against it too. On the other hand the
client can't just always link against it, because it might not be
available.

This is related to D44391, but that change assumed the client knew
whether they wanted the dylib or not.

Reviewers: mgorny, beanz, labath

Reviewed By: mgorny

Subscribers: bollu, llvm-commits

Differential Revision: https://reviews.llvm.org/D49193

Details

Committed
pfaffeJul 18 2018, 1:53 AM
Reviewer
mgorny
Differential Revision
D49193: [CMake] Export the LLVM_LINK_LLVM_DYLIB setting
Parents
rL337365: [ELF] - Improve relocatable-many-sections.s test case. NFC.
Branches
Unknown
Tags
Unknown