summaryrefslogtreecommitdiffstats
path: root/clang/cmake/modules
diff options
context:
space:
mode:
authorMichael Gottesman <mgottesman@apple.com>2016-06-29 20:22:44 +0000
committerMichael Gottesman <mgottesman@apple.com>2016-06-29 20:22:44 +0000
commitfe9d2d81f65b9730776dc70f639a936fe706e43b (patch)
tree12912316df82ad92897a9e3ca3321c9f37cf885f /clang/cmake/modules
parentaec68b263dc195424519a21c9f7570388c55d390 (diff)
downloadbcm5719-llvm-fe9d2d81f65b9730776dc70f639a936fe706e43b.tar.gz
bcm5719-llvm-fe9d2d81f65b9730776dc70f639a936fe706e43b.zip
[cmake] Move creation of ClangTargets and installation of ClangConfig.cmake from ./CMakeLists.txt -> ./cmake/modules/CMakeLists.txt.
This matches LLVM. llvm-svn: 274157
Diffstat (limited to 'clang/cmake/modules')
-rw-r--r--clang/cmake/modules/CMakeLists.txt22
1 files changed, 22 insertions, 0 deletions
diff --git a/clang/cmake/modules/CMakeLists.txt b/clang/cmake/modules/CMakeLists.txt
new file mode 100644
index 00000000000..7906e4f4d2d
--- /dev/null
+++ b/clang/cmake/modules/CMakeLists.txt
@@ -0,0 +1,22 @@
+# 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 lib${LLVM_LIBDIR_SUFFIX}/cmake/clang)
+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 <prefix>/lib/cmake/clang/ClangConfig.cmake file so that
+# find_package(Clang) works. Install the target list with it.
+install(EXPORT ClangTargets DESTINATION ${CLANG_INSTALL_PACKAGE_DIR})
+
+install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/ClangConfig.cmake
+ DESTINATION lib${LLVM_LIBDIR_SUFFIX}/cmake/clang)
+
+# 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}/ClangConfig.cmake
+ ${CLANG_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/clang/ClangConfig.cmake
+ COPYONLY)
OpenPOWER on IntegriCloud