From c8eb29bfa241a19d0bbaa9226d2b0fe7a7bd9e2d Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Wed, 5 Nov 2014 23:51:45 +0000 Subject: [PATCH] cmake: Only export targets in the standalone build Trying to fix bots that didn't like the fact that I exported targets that depended on LLVM without exporting targets from LLVM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221415 91177308-0d34-0410-b5e6-96231b3b80d8 --- CMakeLists.txt | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ba3db6c141..fbff5add48 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -480,24 +480,26 @@ endif() set(CLANG_ORDER_FILE "" CACHE FILEPATH "Order file to use when compiling clang in order to improve startup time.") -# Generate a list of CMake library targets so that other CMake projects can -# link against them. LLVM calls its version of this file LLVMExports.cmake, but -# the usual CMake convention seems to be ${Project}Targets.cmake. -set(CLANG_INSTALL_PACKAGE_DIR share/clang/cmake) -set(clang_cmake_builddir "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}") -get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS) -export(TARGETS ${CLANG_EXPORTS} FILE ${clang_cmake_builddir}/ClangTargets.cmake) - -# Install a /share/clang/cmake/ClangConfig.cmake file so that -# find_package(Clang) works. Install the target list with it. -install(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake - ${CLANG_BINARY_DIR}/share/clang/cmake/ClangTargets.cmake - DESTINATION share/clang/cmake) - -# Also copy ClangConfig.cmake to the build directory so that dependent projects -# can build against a build directory of Clang more easily. -configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake - ${CLANG_BINARY_DIR}/share/clang/cmake/ClangConfig.cmake - COPYONLY) +if (CLANG_BUILT_STANDALONE) + # Generate a list of CMake library targets so that other CMake projects can + # link against them. LLVM calls its version of this file LLVMExports.cmake, but + # the usual CMake convention seems to be ${Project}Targets.cmake. + set(CLANG_INSTALL_PACKAGE_DIR share/clang/cmake) + set(clang_cmake_builddir "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}") + get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS) + export(TARGETS ${CLANG_EXPORTS} FILE ${clang_cmake_builddir}/ClangTargets.cmake) + + # Install a /share/clang/cmake/ClangConfig.cmake file so that + # find_package(Clang) works. Install the target list with it. + install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake + ${CLANG_BINARY_DIR}/share/clang/cmake/ClangTargets.cmake + DESTINATION share/clang/cmake) + + # Also copy ClangConfig.cmake to the build directory so that dependent projects + # can build against a build directory of Clang more easily. + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake + ${CLANG_BINARY_DIR}/share/clang/cmake/ClangConfig.cmake + COPYONLY) +endif () -- 2.40.0