[PATCH] D127384: [cmake] Export driver template to fix standalone build

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 9 01:54:04 PDT 2022


nikic created this revision.
nikic added a reviewer: abrachet.
Herald added a subscriber: mgorny.
Herald added a project: All.
nikic requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Export the driver-template.cpp.in file so that tools using GENERATE_DRIVER work in standalone builds (currently only relevant for clang). I've given the file an `llvm-` prefix, as we're now searching for the file in CMAKE_MODULE_PATH.


https://reviews.llvm.org/D127384

Files:
  llvm/cmake/driver-template.cpp.in
  llvm/cmake/modules/AddLLVM.cmake
  llvm/cmake/modules/CMakeLists.txt
  llvm/cmake/modules/llvm-driver-template.cpp.in


Index: llvm/cmake/modules/CMakeLists.txt
===================================================================
--- llvm/cmake/modules/CMakeLists.txt
+++ llvm/cmake/modules/CMakeLists.txt
@@ -173,7 +173,8 @@
     PATTERN LLVMConfigExtensions.cmake EXCLUDE
     PATTERN LLVMConfigVersion.cmake EXCLUDE
     PATTERN LLVM-Config.cmake EXCLUDE
-    PATTERN GetHostTriple.cmake EXCLUDE)
+    PATTERN GetHostTriple.cmake EXCLUDE
+    PATTERN llvm-driver-template.cpp.in)
 
   if (NOT LLVM_ENABLE_IDE)
     # Add a dummy target so this can be used with LLVM_DISTRIBUTION_COMPONENTS
Index: llvm/cmake/modules/AddLLVM.cmake
===================================================================
--- llvm/cmake/modules/AddLLVM.cmake
+++ llvm/cmake/modules/AddLLVM.cmake
@@ -892,9 +892,13 @@
 
   if (ARG_GENERATE_DRIVER)
     string(REPLACE "-" "_" TOOL_NAME ${name})
-    configure_file(
-      ${LLVM_MAIN_SRC_DIR}/cmake/driver-template.cpp.in
-      ${CMAKE_CURRENT_BINARY_DIR}/${name}-driver.cpp)
+    foreach(path ${CMAKE_MODULE_PATH})
+      if(EXISTS ${path}/llvm-driver-template.cpp.in)
+        configure_file(
+          ${path}/llvm-driver-template.cpp.in
+          ${CMAKE_CURRENT_BINARY_DIR}/${name}-driver.cpp)
+      endif()
+    endforeach()
 
     list(APPEND ALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-driver.cpp)
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127384.435453.patch
Type: text/x-patch
Size: 1322 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220609/d99ec6d7/attachment.bin>


More information about the llvm-commits mailing list