diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 14f66d9e70755d5772e573147bdd5bd0136c3eba..73f5ad5b87b746b0065da8135547c98cd31c06ef 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -1687,6 +1687,9 @@ void cmake::PrintPresetList(const cmCMakePresetsFile& file) const this->GetRegisteredGenerators(generators, false); auto filter = [&generators](const cmCMakePresetsFile::ConfigurePreset& preset) -> bool { + if (preset.Generator.empty()) { + return true; + } auto condition = [&preset](const GeneratorInfo& info) -> bool { return info.name == preset.Generator; }; diff --git a/Tests/RunCMake/CMakePresets/ListPresets-stdout.txt b/Tests/RunCMake/CMakePresets/ListPresets-stdout.txt index 60d6adbd98a932b379c9597e2f1beb6b1ce61656..97eedae7c6b61f4b6b6f823901df7efa95955e0c 100644 --- a/Tests/RunCMake/CMakePresets/ListPresets-stdout.txt +++ b/Tests/RunCMake/CMakePresets/ListPresets-stdout.txt @@ -1,6 +1,7 @@ ^Not searching for unused variables given on the command line\. Available configure presets: - "zzzzzz" - Sleepy - "aaaaaaaa" - Screaming - "mmmmmm"$ + "zzzzzz" - Sleepy + "aaaaaaaa" - Screaming + "mmmmmm" + "no-generator"$ diff --git a/Tests/RunCMake/CMakePresets/ListPresets.json.in b/Tests/RunCMake/CMakePresets/ListPresets.json.in index 2ef3797daf20e3e84eae0add39f8a5d6294b4cf7..160098c537f656b00d989338cdb712d9d4d4dcba 100644 --- a/Tests/RunCMake/CMakePresets/ListPresets.json.in +++ b/Tests/RunCMake/CMakePresets/ListPresets.json.in @@ -1,5 +1,5 @@ { - "version": 1, + "version": 3, "configurePresets": [ { "name": "zzzzzz", @@ -18,6 +18,9 @@ "generator": "@RunCMake_GENERATOR@", "binaryDir": "${sourceDir}/build/mmmmmm" }, + { + "name": "no-generator" + }, { "name": "invalid-generator", "generator": "Invalid Generator", diff --git a/Tests/RunCMake/CMakePresets/ListPresetsHidden-stdout.txt b/Tests/RunCMake/CMakePresets/ListPresetsHidden-stdout.txt index 60d6adbd98a932b379c9597e2f1beb6b1ce61656..97eedae7c6b61f4b6b6f823901df7efa95955e0c 100644 --- a/Tests/RunCMake/CMakePresets/ListPresetsHidden-stdout.txt +++ b/Tests/RunCMake/CMakePresets/ListPresetsHidden-stdout.txt @@ -1,6 +1,7 @@ ^Not searching for unused variables given on the command line\. Available configure presets: - "zzzzzz" - Sleepy - "aaaaaaaa" - Screaming - "mmmmmm"$ + "zzzzzz" - Sleepy + "aaaaaaaa" - Screaming + "mmmmmm" + "no-generator"$ diff --git a/Tests/RunCMake/CMakePresets/ListPresetsNoSuchPreset-stdout.txt b/Tests/RunCMake/CMakePresets/ListPresetsNoSuchPreset-stdout.txt index 60d6adbd98a932b379c9597e2f1beb6b1ce61656..97eedae7c6b61f4b6b6f823901df7efa95955e0c 100644 --- a/Tests/RunCMake/CMakePresets/ListPresetsNoSuchPreset-stdout.txt +++ b/Tests/RunCMake/CMakePresets/ListPresetsNoSuchPreset-stdout.txt @@ -1,6 +1,7 @@ ^Not searching for unused variables given on the command line\. Available configure presets: - "zzzzzz" - Sleepy - "aaaaaaaa" - Screaming - "mmmmmm"$ + "zzzzzz" - Sleepy + "aaaaaaaa" - Screaming + "mmmmmm" + "no-generator"$ diff --git a/Tests/RunCMake/CMakePresets/ListPresetsWorkingDir-stdout.txt b/Tests/RunCMake/CMakePresets/ListPresetsWorkingDir-stdout.txt index 60d6adbd98a932b379c9597e2f1beb6b1ce61656..97eedae7c6b61f4b6b6f823901df7efa95955e0c 100644 --- a/Tests/RunCMake/CMakePresets/ListPresetsWorkingDir-stdout.txt +++ b/Tests/RunCMake/CMakePresets/ListPresetsWorkingDir-stdout.txt @@ -1,6 +1,7 @@ ^Not searching for unused variables given on the command line\. Available configure presets: - "zzzzzz" - Sleepy - "aaaaaaaa" - Screaming - "mmmmmm"$ + "zzzzzz" - Sleepy + "aaaaaaaa" - Screaming + "mmmmmm" + "no-generator"$