From 51c6d93fed3d95dd78e86fb5f9128e44e78f4855 Mon Sep 17 00:00:00 2001 From: Justin Bogner Date: Mon, 24 Oct 2016 21:40:15 +0000 Subject: [PATCH] cmake: Make /usr/share/cmake installable with LLVM_DISTRIBUTION_COMPONENTS Add a cmake-exports install component and appropriate targets for LLVM_DISTRIBUTION_COMPONENTS to work with. llvm-svn: 285030 --- llvm/cmake/modules/CMakeLists.txt | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt index be74751..080c30e 100644 --- a/llvm/cmake/modules/CMakeLists.txt +++ b/llvm/cmake/modules/CMakeLists.txt @@ -103,20 +103,32 @@ configure_file( @ONLY) if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}) + install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} + COMPONENT cmake-exports) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake ${llvm_cmake_builddir}/LLVMConfigVersion.cmake LLVM-Config.cmake - DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}) + DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} + COMPONENT cmake-exports) install(DIRECTORY . DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} + COMPONENT cmake-exports FILES_MATCHING PATTERN *.cmake PATTERN .svn EXCLUDE PATTERN LLVMConfig.cmake EXCLUDE PATTERN LLVMConfigVersion.cmake EXCLUDE PATTERN LLVM-Config.cmake EXCLUDE PATTERN GetHostTriple.cmake EXCLUDE) + + if (NOT CMAKE_CONFIGURATION_TYPES) + # Add a dummy target so this can be used with LLVM_DISTRIBUTION_COMPONENTS + add_custom_target(cmake-exports) + add_custom_target(install-cmake-exports + COMMAND "${CMAKE_COMMAND}" + -DCMAKE_INSTALL_COMPONENT=cmake-exports + -P "${CMAKE_BINARY_DIR}/cmake_install.cmake") + endif() endif() -- 2.7.4