Tests: Print explanation when RunCMake.Autogen_Qt*_6 fails to do nothing

This test has been spuriously failing to do nothing.
Tell `ninja` to explain why it's doing something.
This commit is contained in:
Brad King
2026-04-21 10:24:06 -04:00
parent 56921fa912
commit 22f2a1787f
+5 -1
View File
@@ -12,6 +12,7 @@ if (DEFINED with_qt_version)
macro(set_test_variables_for_unwanted_builds)
if (RunCMake_GENERATOR MATCHES "Ninja")
set(RunCMake_TEST_EXPECT_stdout "ninja: no work to do.")
set(RunCMake_TEST_EXPECT_stderr "((^|\n)ninja explain:[^\n]*)*$")
elseif (RunCMake_GENERATOR MATCHES "Make")
set(RunCMake_TEST_NOT_EXPECT_stdout "Building CXX object multi_ui_files/CMakeFiles/example.dir/src/main.cpp.o|\
Building CXX object multi_ui_files/CMakeFiles/example.dir/src/widget.cpp.o")
@@ -29,6 +30,9 @@ if (DEFINED with_qt_version)
if (NOT RunCMake_GENERATOR MATCHES "Visual Studio")
set(test_verbose_arg "--verbose")
endif()
if(RunCMake_GENERATOR MATCHES "Ninja")
set(ninja_explain_arg -- -d explain)
endif()
if (RunCMake_GENERATOR_IS_MULTI_CONFIG)
set(config_desc "-${test_config}")
set(RunCMake_TEST_VARIANT_DESCRIPTION "${config_desc}")
@@ -46,7 +50,7 @@ if (DEFINED with_qt_version)
set(RunCMake_TEST_VARIANT_DESCRIPTION "${config_desc}-No files were built on the third build")
set_test_variables_for_unwanted_builds()
run_cmake_command("${test_name}-build" ${CMAKE_COMMAND} --build . ${test_verbose_arg} ${multiconfig_config_arg})
run_cmake_command("${test_name}-build" ${CMAKE_COMMAND} --build . ${test_verbose_arg} ${multiconfig_config_arg} ${ninja_explain_arg})
endfunction()
if(RunCMake_GENERATOR MATCHES "Make|Ninja|Visual Studio|Xcode")