diff options
author | Carlos Alberto Enciso <carlos.alberto.enciso@gmail.com> | 2022-08-23 05:45:25 +0100 |
---|---|---|
committer | Carlos Alberto Enciso <carlos.alberto.enciso@gmail.com> | 2022-08-23 05:45:25 +0100 |
commit | 6c6c4f6a9b3ef2d7db937cb78784245ea8a61418 (patch) | |
tree | 409dd5ce38f3ca54c570b2bfb62e486f414578ca /clang/CMakeLists.txt | |
parent | b88aba9d7d72adbad2c2c4d1d513bed4f5aa81ad (diff) | |
download | llvm-6c6c4f6a9b3ef2d7db937cb78784245ea8a61418.tar.gz |
[CMake] Support passing arguments to build tool (bootstrap).
For bootstrap builds (CLANG_ENABLE_BOOTSTRAP=ON) allow
arguments to be passed to the native tool used in CMake
for the stage2 step.
Can be used to pass extra arguments for enhanced versions
of build tools, e.g. distributed build options.
Reviewed By: phosek
Differential Revision: https://reviews.llvm.org/D131665
Diffstat (limited to 'clang/CMakeLists.txt')
-rw-r--r-- | clang/CMakeLists.txt | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index a6782db7b580..332df8f3b8bf 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -787,6 +787,14 @@ if (CLANG_ENABLE_BOOTSTRAP) endif() endforeach() + # Build arguments for native tool used in CMake. + set(build_configuration "$<CONFIG>") + set(build_tool_args "${LLVM_EXTERNAL_PROJECT_BUILD_TOOL_ARGS}") + if(NOT build_tool_args STREQUAL "") + string(PREPEND build_tool_args "-- ") + separate_arguments(build_tool_args UNIX_COMMAND "${build_tool_args}") + endif() + ExternalProject_Add(${NEXT_CLANG_STAGE} DEPENDS clang-bootstrap-deps PREFIX ${NEXT_CLANG_STAGE} @@ -809,6 +817,9 @@ if (CLANG_ENABLE_BOOTSTRAP) ${${CLANG_STAGE}_RANLIB} ${${CLANG_STAGE}_OBJCOPY} ${${CLANG_STAGE}_STRIP} + BUILD_COMMAND ${CMAKE_COMMAND} --build ${BINARY_DIR} + --config ${build_configuration} + ${build_tool_args} INSTALL_COMMAND "" STEP_TARGETS configure build USES_TERMINAL_CONFIGURE 1 |