diff --git a/Help/release/4.0.rst b/Help/release/4.0.rst index 9e48ec7dd2..80a55bf872 100644 --- a/Help/release/4.0.rst +++ b/Help/release/4.0.rst @@ -226,3 +226,9 @@ Other Changes * On AIX, ``SHARED`` library targets now produce a shared library archive by default. See policy :policy:`CMP0182`. + +* The :option:`cmake --preset` command no longer outputs a summary of the + preset's CMake cache and environment variables by default. That summary is + now only shown when the message log level is set to ``VERBOSE``, ``DEBUG``, + or ``TRACE`` via the :option:`cmake --log-level` option or the + :variable:`CMAKE_MESSAGE_LOG_LEVEL` cache variable. diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 20551679ac..0981fcdfad 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -2935,8 +2935,12 @@ int cmake::Run(std::vector const& args, bool noconfigure) return -1; } #ifndef CMAKE_BOOTSTRAP - this->PrintPresetVariables(); - this->PrintPresetEnvironment(); + if (this->GetLogLevel() == Message::LogLevel::LOG_VERBOSE || + this->GetLogLevel() == Message::LogLevel::LOG_DEBUG || + this->GetLogLevel() == Message::LogLevel::LOG_TRACE) { + this->PrintPresetVariables(); + this->PrintPresetEnvironment(); + } #endif // In script mode we terminate after running the script. diff --git a/Tests/RunCMake/CMakePresets/RunCMakeTest.cmake b/Tests/RunCMake/CMakePresets/RunCMakeTest.cmake index 5423702739..6ffd7e5b90 100644 --- a/Tests/RunCMake/CMakePresets/RunCMakeTest.cmake +++ b/Tests/RunCMake/CMakePresets/RunCMakeTest.cmake @@ -76,6 +76,11 @@ function(run_cmake_presets name) set(_preset) endif() + set(_log_level) + if(CMakePresets_LOG_LEVEL) + set(_log_level "--log-level=${CMakePresets_LOG_LEVEL}") + endif() + set(_make_program) if(RunCMake_MAKE_PROGRAM) set(_make_program -DCMAKE_MAKE_PROGRAM=${RunCMake_MAKE_PROGRAM}) @@ -88,6 +93,7 @@ function(run_cmake_presets name) ${_make_program} ${_unused_cli} ${_preset} + ${_log_level} ${ARGN} ) run_cmake(${name}) @@ -192,6 +198,7 @@ unset(ENV{TEST_D_ENV_REF}) set(ENV{TEST_ENV_OVERRIDE} "This environment variable will be overridden") set(ENV{TEST_PENV} "Process environment variable") set(ENV{TEST_ENV_REF_PENV} "suffix") +set(CMakePresets_LOG_LEVEL "verbose") run_cmake_presets(Good "-DTEST_OVERRIDE_1=Overridden value" "-DTEST_OVERRIDE_2:STRING=Overridden value" -C "${RunCMake_SOURCE_DIR}/CacheOverride.cmake" "-UTEST_UNDEF") unset(ENV{TEST_ENV_OVERRIDE}) unset(ENV{TEST_PENV}) @@ -209,6 +216,7 @@ if(WIN32) endif() set(CMakePresets_FILE "${RunCMake_SOURCE_DIR}/GoodBOM.json.in") run_cmake_presets(GoodBOM) +unset(CMakePresets_LOG_LEVEL) set(CMakePresets_FILE "${RunCMake_SOURCE_DIR}/CMakePresets.json.in") file(REMOVE_RECURSE ${RunCMake_BINARY_DIR}/GoodBinaryCmdLine-build) run_cmake_presets(GoodBinaryCmdLine -B ${RunCMake_BINARY_DIR}/GoodBinaryCmdLine-build)