From bddcf4b2eba87eb9a5513fc978f885895dd17591 Mon Sep 17 00:00:00 2001 From: Justin Bogner Date: Mon, 7 Nov 2016 23:46:05 +0000 Subject: [PATCH] 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286181 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/modules/AddClang.cmake | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake index 88ee1f71ed..16c65f632b 100644 --- a/cmake/modules/AddClang.cmake +++ b/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}) -- 2.40.0