cmake: --list=presets=[type] doesn't generate incorrect warnings

Fixes #23407
This commit is contained in:
Robert Maynard
2022-04-11 10:35:19 -04:00
parent 00677703d0
commit 45299a8f9b
3 changed files with 19 additions and 3 deletions

View File

@@ -306,10 +306,11 @@ int do_cmake(int ac, char const* const* av)
parsedArgs.emplace_back("--find-package");
return true;
} },
CommandArgument{ "--list-presets", CommandArgument::Values::Zero,
[&](std::string const&) -> bool {
CommandArgument{ "--list-presets", CommandArgument::Values::ZeroOrOne,
[&](std::string const& value) -> bool {
workingMode = cmake::HELP_MODE;
parsedArgs.emplace_back("--list-presets");
parsedArgs.emplace_back(value);
return true;
} },
};

View File

@@ -0,0 +1,7 @@
^Not searching for unused variables given on the command line\.
Available configure presets:
"zzzzzz" - Sleepy
"aaaaaaaa" - Screaming
"mmmmmm"
"no-generator"$

View File

@@ -71,13 +71,18 @@ function(run_cmake_presets name)
set(_unused_cli)
endif()
set(_preset "--preset=${name}")
if(CMakePresets_NO_PRESET)
set(_preset)
endif()
set(RunCMake_TEST_COMMAND ${CMAKE_COMMAND}
${_source_args}
-DRunCMake_TEST=${name}
-DRunCMake_GENERATOR=${RunCMake_GENERATOR}
-DCMAKE_MAKE_PROGRAM=${RunCMake_MAKE_PROGRAM}
${_unused_cli}
--preset=${name}
${_preset}
${ARGN}
)
run_cmake(${name})
@@ -288,7 +293,10 @@ run_cmake_presets(ListPresets --list-presets)
set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/ListPresetsWorkingDir")
set(RunCMake_TEST_NO_CLEAN 1)
set(CMakePresets_NO_SOURCE_ARGS 1)
set(CMakePresets_NO_PRESET 1)
run_cmake_presets(ListPresetsWorkingDir --list-presets)
run_cmake_presets(ListConfigurePresetsWorkingDir --list-presets=configure)
unset(CMakePresets_NO_PRESET)
unset(CMakePresets_NO_SOURCE_ARGS)
unset(RunCMake_TEST_NO_CLEAN)
unset(RunCMake_TEST_BINARY_DIR)