[cmake] Honor CMAKE_VERBOSE_MAKEFILE when building external projects #75749
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When the top-level CMake invocation has
CMAKE_VERBOSE_MAKEFILE=ON
, indicating the user wants to have verbose builds (i.e. all executed commands explicitly echoed), some of the subprojects and runtimes (such as compiler-rt, libcxx, etc) do not build in verbose mode. For example, with Ninja:This is because
llvm_ExternalProject_Add()
andadd_custom_libcxx()
use CMake'sExternalProject_Add()
function to configure such subproject builds, and do not pass through theCMAKE_VERBOSE_MAKEFILE
setting.Similar to what is done in
clang/CMakeLists.txt
, add-DCMAKE_VERBOSE_MAKEFILE=ON
to theExternalProject_Add()
invocations inllvm_ExternalProject_Add()
andadd_custom_libcxx()
, whenever the top-level CMake invocation hadCMAKE_VERBOSE_MAKEFILE
turned on.