summaryrefslogtreecommitdiffstats
path: root/clang/cmake/modules
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2016-11-07 23:46:05 +0000
committerJustin Bogner <mail@justinbogner.com>2016-11-07 23:46:05 +0000
commit66b326bc550f569c29094e01cb9ac46c80b93721 (patch)
tree094e67f16165272a2a36149613efc75b77eb37b5 /clang/cmake/modules
parent8649fc053be167bfdf93e19c40fc9f78b3d5ebfa (diff)
downloadbcm5719-llvm-66b326bc550f569c29094e01cb9ac46c80b93721.tar.gz
bcm5719-llvm-66b326bc550f569c29094e01cb9ac46c80b93721.zip
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. llvm-svn: 286181
Diffstat (limited to 'clang/cmake/modules')
-rw-r--r--clang/cmake/modules/AddClang.cmake14
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})
OpenPOWER on IntegriCloud