Skip to content

Commit

Permalink
[CMake] Support passing arguments to build tool for external projects
Browse files Browse the repository at this point in the history
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
  • Loading branch information
nga888 committed Jan 6, 2022
1 parent ba927f6 commit d4d9de3
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
4 changes: 4 additions & 0 deletions llvm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,10 @@ if(LLVM_CCACHE_BUILD)
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)

# Some features of the LLVM build may be disallowed when dependency debugging is
Expand Down
8 changes: 7 additions & 1 deletion llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@ function(llvm_ExternalProject_BuildCmd out_var target bin_dir)
# 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()

Expand Down

0 comments on commit d4d9de3

Please sign in to comment.