[CMake] Export the LLVM_LINK_LLVM_DYLIB setting
authorPhilip Pfaffe <philip.pfaffe@gmail.com>
Wed, 18 Jul 2018 08:53:31 +0000 (08:53 +0000)
committerPhilip Pfaffe <philip.pfaffe@gmail.com>
Wed, 18 Jul 2018 08:53:31 +0000 (08:53 +0000)
commit3b8b3c2a2cd3b7e52e097e49c59de1cd81b8cb04
treedae5c730878af56235ed179997ab9500f27899cf
parent2566c0a2f2264aba6aa7b4d56fe7c2b4708268ee
[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

llvm-svn: 337366
llvm/cmake/modules/LLVMConfig.cmake.in