[PATCH] D115815: [CMake] Support passing arguments to build tool for external projects
Andrew Ng via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 15 11:34:46 PST 2021
andrewng created this revision.
andrewng added a reviewer: phosek.
Herald added a subscriber: mgorny.
andrewng requested review of this revision.
Herald added a project: LLVM.
Add CMake variable LLVM_EXTERNAL_PROJECT_BUILD_TOOL_ARGS to allow
arguments to be passed to the native tool used in CMake --build
invocations for external projects.
Can be used to pass extra arguments for enhanced versions of build
tools, e.g. distributed build options.
https://reviews.llvm.org/D115815
Files:
llvm/CMakeLists.txt
llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Index: llvm/cmake/modules/LLVMExternalProjectUtils.cmake
===================================================================
--- llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+++ llvm/cmake/modules/LLVMExternalProjectUtils.cmake
@@ -11,8 +11,14 @@
# Use special command for Makefiles to support parallelism.
set(${out_var} "$(MAKE)" "-C" "${bin_dir}" "${target}" PARENT_SCOPE)
else()
+ set(tool_args "${LLVM_EXTERNAL_PROJECT_BUILD_TOOL_ARGS}")
+ if(NOT tool_args STREQUAL "")
+ string(CONFIGURE "${tool_args}" tool_args @ONLY)
+ string(PREPEND tool_args "-- ")
+ separate_arguments(tool_args UNIX_COMMAND "${tool_args}")
+ endif()
set(${out_var} ${CMAKE_COMMAND} --build ${bin_dir} --target ${target}
- --config ${ARG_CONFIGURATION} PARENT_SCOPE)
+ --config ${ARG_CONFIGURATION} ${tool_args} PARENT_SCOPE)
endif()
endfunction()
Index: llvm/CMakeLists.txt
===================================================================
--- llvm/CMakeLists.txt
+++ llvm/CMakeLists.txt
@@ -176,6 +176,9 @@
endif()
endif()
+set(LLVM_EXTERNAL_PROJECT_BUILD_TOOL_ARGS "" CACHE STRING
+ "Optional arguments for the native tool used in CMake --build invocations for external projects.")
+
option(LLVM_DEPENDENCY_DEBUGGING "Dependency debugging mode to verify correctly expressed library dependencies (Darwin only)" OFF)
# Some features of the LLVM build may be disallowed when dependency debugging is
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D115815.394612.patch
Type: text/x-patch
Size: 1514 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211215/0ecd72d4/attachment.bin>
More information about the llvm-commits
mailing list