From: Justin Bogner Date: Fri, 4 Nov 2016 21:55:23 +0000 (+0000) Subject: cmake: When using LLVM_DISTRIBUTION_COMPONENTS, adjust LLVMExports accordingly X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3293f40456326902355f994d96721cd76ab91e01;p=llvm cmake: When using LLVM_DISTRIBUTION_COMPONENTS, adjust LLVMExports accordingly This Makes sure we only export targets that we're distributing, since cmake will fail to import the file otherwise due to missing targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286024 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake index 238b8810f42..3dcbabe4d20 100644 --- a/cmake/modules/AddLLVM.cmake +++ b/cmake/modules/AddLLVM.cmake @@ -584,10 +584,15 @@ macro(add_llvm_library name) set(install_type ARCHIVE) endif() + if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR + NOT LLVM_DISTRIBUTION_COMPONENTS) + set(export_to_llvmexports EXPORT LLVMExports) + endif() + install(TARGETS ${name} - EXPORT LLVMExports - ${install_type} DESTINATION ${install_dir} - COMPONENT ${name}) + ${export_to_llvmexports} + ${install_type} DESTINATION ${install_dir} + COMPONENT ${name}) if (NOT CMAKE_CONFIGURATION_TYPES) add_custom_target(install-${name} @@ -618,10 +623,16 @@ macro(add_llvm_loadable_module name) else() set(dlldir "lib${LLVM_LIBDIR_SUFFIX}") endif() + + if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR + NOT LLVM_DISTRIBUTION_COMPONENTS) + set(export_to_llvmexports EXPORT LLVMExports) + endif() + install(TARGETS ${name} - EXPORT LLVMExports - LIBRARY DESTINATION ${dlldir} - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) + ${export_to_llvmexports} + LIBRARY DESTINATION ${dlldir} + ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) endif() set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) endif() @@ -797,8 +808,13 @@ macro(add_llvm_tool name) if ( ${name} IN_LIST LLVM_TOOLCHAIN_TOOLS OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) if( LLVM_BUILD_TOOLS ) + if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR + NOT LLVM_DISTRIBUTION_COMPONENTS) + set(export_to_llvmexports EXPORT LLVMExports) + endif() + install(TARGETS ${name} - EXPORT LLVMExports + ${export_to_llvmexports} RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR} COMPONENT ${name}) diff --git a/cmake/modules/TableGen.cmake b/cmake/modules/TableGen.cmake index c9cfb37f8d2..a366299ab49 100644 --- a/cmake/modules/TableGen.cmake +++ b/cmake/modules/TableGen.cmake @@ -137,8 +137,13 @@ macro(add_tablegen target project) endif() if (${project} STREQUAL LLVM AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR + NOT LLVM_DISTRIBUTION_COMPONENTS) + set(export_to_llvmexports EXPORT LLVMExports) + endif() + install(TARGETS ${target} - EXPORT LLVMExports + ${export_to_llvmexports} RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}) endif() set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${target})