summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2014-02-09 16:35:40 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2014-02-09 16:35:40 +0000
commit6574a84331530911502c2f02732299a1ca93ab07 (patch)
treed237ee43e1e4e174a44a402ec3e3227c0917bbd6 /cmake
parent5534cb3f570de54eeb1b1787296074f3a35ca2a7 (diff)
downloadllvm-6574a84331530911502c2f02732299a1ca93ab07.tar.gz
llvm-6574a84331530911502c2f02732299a1ca93ab07.tar.bz2
llvm-6574a84331530911502c2f02732299a1ca93ab07.tar.xz
Teach LLVMConfig to avoid modifying CMAKE_MODULE_PATH
Do not modify this value on the application's behalf and just ensure API modules are always available next to the LLVMConfig module. This is already the case in the install tree so use file(COPY) to make it so in the build tree. Include the LLVM-Config API module from next to the LLVMConfig location. Contributed by Brad King. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201047 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/CMakeLists.txt10
-rw-r--r--cmake/modules/LLVMConfig.cmake.in16
2 files changed, 13 insertions, 13 deletions
diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
index b48018d51f..169418c6b9 100644
--- a/cmake/modules/CMakeLists.txt
+++ b/cmake/modules/CMakeLists.txt
@@ -15,6 +15,16 @@ configure_file(
${llvm_cmake_builddir}/LLVMConfig.cmake
@ONLY)
+# For compatibility with projects that include(LLVMConfig)
+# via CMAKE_MODULE_PATH, place API modules next to it.
+# This should be removed in the future.
+file(COPY .
+ DESTINATION ${llvm_cmake_builddir}
+ FILES_MATCHING PATTERN *.cmake
+ PATTERN .svn EXCLUDE
+ PATTERN CMakeFiles EXCLUDE
+ )
+
configure_file(
LLVMConfigVersion.cmake.in
${llvm_cmake_builddir}/LLVMConfigVersion.cmake
diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in
index 5e38d82f59..224a26352d 100644
--- a/cmake/modules/LLVMConfig.cmake.in
+++ b/cmake/modules/LLVMConfig.cmake.in
@@ -41,16 +41,6 @@ set(LLVM_INCLUDE_DIRS ${LLVM_INSTALL_PREFIX}/include)
set(LLVM_LIBRARY_DIRS ${LLVM_INSTALL_PREFIX}/lib)
set(LLVM_DEFINITIONS "-D__STDC_LIMIT_MACROS" "-D__STDC_CONSTANT_MACROS")
-# We try to include using the current setting of CMAKE_MODULE_PATH,
-# which suppossedly was filled by the user with the directory where
-# this file was installed:
-include( LLVM-Config OPTIONAL RESULT_VARIABLE LLVMCONFIG_INCLUDED )
-
-# If failed, we assume that this is an un-installed build:
-if( NOT LLVMCONFIG_INCLUDED )
- set(CMAKE_MODULE_PATH
- ${CMAKE_MODULE_PATH}
- "@LLVM_SOURCE_DIR@/cmake/modules")
- include( LLVM-Config )
-endif()
-
+get_filename_component(_SELF_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
+include(${_SELF_DIR}/LLVM-Config.cmake)
+unset(_SELF_DIR)