diff options
author | Justin Bogner <mail@justinbogner.com> | 2016-11-07 23:46:05 +0000 |
---|---|---|
committer | Justin Bogner <mail@justinbogner.com> | 2016-11-07 23:46:05 +0000 |
commit | c810f98ea54272aeaadd690570028b87a51c0e0d (patch) | |
tree | 9078920f68bbb19722259b0cd82d9b8bdc48c0b2 /clang/cmake | |
parent | 64c36f3b533991e707e1895085e695759bae1f55 (diff) |
cmake: Support exports correctly with LLVM_DISTRIBUTION_COMPONENTS
We need to apply the same export logic in clang as in llvm for
LLVM_DISTRIBUTION_COMPONENTS, or the clang exports will be invalid
when we use this config.
This makes using distribution components without setting
LLVM_TOOLCHAIN_ONLY=On work correctly.
Diffstat (limited to 'clang/cmake')
-rw-r--r-- | clang/cmake/modules/AddClang.cmake | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake index 88ee1f71ed7..16c65f632bc 100644 --- a/clang/cmake/modules/AddClang.cmake +++ b/clang/cmake/modules/AddClang.cmake @@ -89,9 +89,15 @@ macro(add_clang_library name) target_link_libraries(${name} INTERFACE ${LLVM_COMMON_LIBS}) if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "libclang") + + if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR + NOT LLVM_DISTRIBUTION_COMPONENTS) + set(export_to_clangtargets EXPORT ClangTargets) + endif() + install(TARGETS ${name} COMPONENT ${name} - EXPORT ClangTargets + ${export_to_clangtargets} LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} RUNTIME DESTINATION bin) @@ -128,7 +134,13 @@ macro(add_clang_tool name) add_clang_executable(${name} ${ARGN}) if (CLANG_BUILD_TOOLS) + if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR + NOT LLVM_DISTRIBUTION_COMPONENTS) + set(export_to_clangtargets EXPORT ClangTargets) + endif() + install(TARGETS ${name} + ${export_to_clangtargets} RUNTIME DESTINATION bin COMPONENT ${name}) |