diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 7e7b801efebff..8e1385e90b82d 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -892,9 +892,14 @@ macro(add_llvm_executable name) 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) + break() + endif() + endforeach() list(APPEND ALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-driver.cpp) diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt index 0a7d84fe1c9bd..c77d30c82de9a 100644 --- a/llvm/cmake/modules/CMakeLists.txt +++ b/llvm/cmake/modules/CMakeLists.txt @@ -173,7 +173,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 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 diff --git a/llvm/cmake/driver-template.cpp.in b/llvm/cmake/modules/llvm-driver-template.cpp.in similarity index 100% rename from llvm/cmake/driver-template.cpp.in rename to llvm/cmake/modules/llvm-driver-template.cpp.in