forked from OSchip/llvm-project
[CMake] Support passing arguments to build tool for external projects
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. Differential Revision: https://reviews.llvm.org/D115815
This commit is contained in:
parent
ba927f66c0
commit
d4d9de362b
|
@ -176,6 +176,10 @@ if(LLVM_CCACHE_BUILD)
|
||||||
endif()
|
endif()
|
||||||
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.")
|
||||||
|
mark_as_advanced(LLVM_EXTERNAL_PROJECT_BUILD_TOOL_ARGS)
|
||||||
|
|
||||||
option(LLVM_DEPENDENCY_DEBUGGING "Dependency debugging mode to verify correctly expressed library dependencies (Darwin only)" OFF)
|
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
|
# Some features of the LLVM build may be disallowed when dependency debugging is
|
||||||
|
|
|
@ -11,8 +11,14 @@ function(llvm_ExternalProject_BuildCmd out_var target bin_dir)
|
||||||
# Use special command for Makefiles to support parallelism.
|
# Use special command for Makefiles to support parallelism.
|
||||||
set(${out_var} "$(MAKE)" "-C" "${bin_dir}" "${target}" PARENT_SCOPE)
|
set(${out_var} "$(MAKE)" "-C" "${bin_dir}" "${target}" PARENT_SCOPE)
|
||||||
else()
|
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}
|
set(${out_var} ${CMAKE_COMMAND} --build ${bin_dir} --target ${target}
|
||||||
--config ${ARG_CONFIGURATION} PARENT_SCOPE)
|
--config ${ARG_CONFIGURATION} ${tool_args} PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue