[cmake] Create exports for umbrella library targets
authorShoaib Meenai <smeenai@fb.com>
Tue, 5 Mar 2019 00:38:32 +0000 (00:38 +0000)
committerShoaib Meenai <smeenai@fb.com>
Tue, 5 Mar 2019 00:38:32 +0000 (00:38 +0000)
When using the umbrella llvm-libraries and clang-libraries targets, we
should export all library targets, otherwise they'll be part of our
distribution but not usable from the CMake package.

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

llvm-svn: 355354

clang/cmake/modules/AddClang.cmake
llvm/cmake/modules/AddLLVM.cmake

index 5ff2e8b13fa0e2c2e511fae4d4585ccd06096260..76ff6b1f152d890bdb708580434cea47c19a299d 100644 (file)
@@ -91,6 +91,7 @@ macro(add_clang_library name)
     if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "libclang")
 
       if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
+          "clang-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
           NOT LLVM_DISTRIBUTION_COMPONENTS)
         set(export_to_clangtargets EXPORT ClangTargets)
         set_property(GLOBAL PROPERTY CLANG_HAS_EXPORTS True)
index 34327432bf7b775a03c6b1d7398e54c10b67cbee..e722fbdc9323c4af100069a179fe52049817fec4 100644 (file)
@@ -633,6 +633,7 @@ macro(add_llvm_library name)
   # config file.
   if (NOT ARG_BUILDTREE_ONLY AND NOT ARG_MODULE)
     set_property( GLOBAL APPEND PROPERTY LLVM_LIBS ${name} )
+    set(in_llvm_libs YES)
   endif()
 
   if (ARG_MODULE AND NOT TARGET ${name})
@@ -663,6 +664,7 @@ macro(add_llvm_library name)
       endif()
 
       if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
+          (in_llvm_libs AND "llvm-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS) OR
           NOT LLVM_DISTRIBUTION_COMPONENTS)
         set(export_to_llvmexports EXPORT LLVMExports)
         set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)