[PATCH] D26900: [cmake] Obtain LLVM_CMAKE_PATH from llvm-config if available

Michał Górny via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Jan 7 08:12:48 PST 2017


mgorny retitled this revision from "[cmake] Obtain LLVM_CMAKE_PATH from llvm-config" to "[cmake] Obtain LLVM_CMAKE_PATH from llvm-config if available".
mgorny updated the summary for this revision.
mgorny updated this revision to Diff 83527.
mgorny added a comment.

Updated to support fallback to hardcoded path.


https://reviews.llvm.org/D26900

Files:
  CMakeLists.txt


Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -58,7 +58,18 @@
   find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
     NO_DEFAULT_PATH)
 
-  set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
+  # --cmakedir is supported since llvm r291218 (4.0 release)
+  execute_process(
+    COMMAND ${LLVM_CONFIG} --cmakedir
+    RESULT_VARIABLE HAD_ERROR
+    OUTPUT_VARIABLE CONFIG_OUTPUT)
+  if(NOT HAD_ERROR)
+    string(STRIP "${CONFIG_OUTPUT}" LLVM_CMAKE_PATH)
+  else()
+    set(LLVM_CMAKE_PATH
+        "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
+  endif()
+
   set(LLVMCONFIG_FILE "${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
   if(EXISTS ${LLVMCONFIG_FILE})
     list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26900.83527.patch
Type: text/x-patch
Size: 855 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170107/4ad8630a/attachment.bin>


More information about the cfe-commits mailing list