CMakePresets.json: Fix formatting of --list-presets=all
Only print an extra newline after a section if that section was actually printed.
This commit is contained in:
parent
8bcc84283e
commit
215b9148eb
@ -1067,6 +1067,16 @@ void cmCMakePresetsGraph::ClearPresets()
|
||||
this->Files.clear();
|
||||
}
|
||||
|
||||
void cmCMakePresetsGraph::printPrecedingNewline(PrintPrecedingNewline* newline)
|
||||
{
|
||||
if (newline) {
|
||||
if (*newline == PrintPrecedingNewline::True) {
|
||||
std::cout << std::endl;
|
||||
}
|
||||
*newline = PrintPrecedingNewline::True;
|
||||
}
|
||||
}
|
||||
|
||||
void cmCMakePresetsGraph::PrintPresets(
|
||||
const std::vector<const cmCMakePresetsGraph::Preset*>& presets)
|
||||
{
|
||||
@ -1095,13 +1105,16 @@ void cmCMakePresetsGraph::PrintPresets(
|
||||
}
|
||||
}
|
||||
|
||||
void cmCMakePresetsGraph::PrintConfigurePresetList() const
|
||||
void cmCMakePresetsGraph::PrintConfigurePresetList(
|
||||
PrintPrecedingNewline* newline) const
|
||||
{
|
||||
PrintConfigurePresetList([](const ConfigurePreset&) { return true; });
|
||||
PrintConfigurePresetList([](const ConfigurePreset&) { return true; },
|
||||
newline);
|
||||
}
|
||||
|
||||
void cmCMakePresetsGraph::PrintConfigurePresetList(
|
||||
const std::function<bool(const ConfigurePreset&)>& filter) const
|
||||
const std::function<bool(const ConfigurePreset&)>& filter,
|
||||
PrintPrecedingNewline* newline) const
|
||||
{
|
||||
std::vector<const cmCMakePresetsGraph::Preset*> presets;
|
||||
for (auto const& p : this->ConfigurePresetOrder) {
|
||||
@ -1114,12 +1127,14 @@ void cmCMakePresetsGraph::PrintConfigurePresetList(
|
||||
}
|
||||
|
||||
if (!presets.empty()) {
|
||||
printPrecedingNewline(newline);
|
||||
std::cout << "Available configure presets:\n\n";
|
||||
cmCMakePresetsGraph::PrintPresets(presets);
|
||||
}
|
||||
}
|
||||
|
||||
void cmCMakePresetsGraph::PrintBuildPresetList() const
|
||||
void cmCMakePresetsGraph::PrintBuildPresetList(
|
||||
PrintPrecedingNewline* newline) const
|
||||
{
|
||||
std::vector<const cmCMakePresetsGraph::Preset*> presets;
|
||||
for (auto const& p : this->BuildPresetOrder) {
|
||||
@ -1132,12 +1147,14 @@ void cmCMakePresetsGraph::PrintBuildPresetList() const
|
||||
}
|
||||
|
||||
if (!presets.empty()) {
|
||||
printPrecedingNewline(newline);
|
||||
std::cout << "Available build presets:\n\n";
|
||||
cmCMakePresetsGraph::PrintPresets(presets);
|
||||
}
|
||||
}
|
||||
|
||||
void cmCMakePresetsGraph::PrintTestPresetList() const
|
||||
void cmCMakePresetsGraph::PrintTestPresetList(
|
||||
PrintPrecedingNewline* newline) const
|
||||
{
|
||||
std::vector<const cmCMakePresetsGraph::Preset*> presets;
|
||||
for (auto const& p : this->TestPresetOrder) {
|
||||
@ -1150,6 +1167,7 @@ void cmCMakePresetsGraph::PrintTestPresetList() const
|
||||
}
|
||||
|
||||
if (!presets.empty()) {
|
||||
printPrecedingNewline(newline);
|
||||
std::cout << "Available test presets:\n\n";
|
||||
cmCMakePresetsGraph::PrintPresets(presets);
|
||||
}
|
||||
@ -1157,9 +1175,8 @@ void cmCMakePresetsGraph::PrintTestPresetList() const
|
||||
|
||||
void cmCMakePresetsGraph::PrintAllPresets() const
|
||||
{
|
||||
this->PrintConfigurePresetList();
|
||||
std::cout << std::endl;
|
||||
this->PrintBuildPresetList();
|
||||
std::cout << std::endl;
|
||||
this->PrintTestPresetList();
|
||||
PrintPrecedingNewline newline = PrintPrecedingNewline::False;
|
||||
this->PrintConfigurePresetList(&newline);
|
||||
this->PrintBuildPresetList(&newline);
|
||||
this->PrintTestPresetList(&newline);
|
||||
}
|
||||
|
@ -383,13 +383,22 @@ public:
|
||||
return "";
|
||||
}
|
||||
|
||||
enum class PrintPrecedingNewline
|
||||
{
|
||||
False,
|
||||
True,
|
||||
};
|
||||
static void printPrecedingNewline(PrintPrecedingNewline* p);
|
||||
|
||||
static void PrintPresets(
|
||||
const std::vector<const cmCMakePresetsGraph::Preset*>& presets);
|
||||
void PrintConfigurePresetList() const;
|
||||
void PrintConfigurePresetList(
|
||||
const std::function<bool(const ConfigurePreset&)>& filter) const;
|
||||
void PrintBuildPresetList() const;
|
||||
void PrintTestPresetList() const;
|
||||
PrintPrecedingNewline* newline = nullptr) const;
|
||||
void PrintConfigurePresetList(
|
||||
const std::function<bool(const ConfigurePreset&)>& filter,
|
||||
PrintPrecedingNewline* newline = nullptr) const;
|
||||
void PrintBuildPresetList(PrintPrecedingNewline* newline = nullptr) const;
|
||||
void PrintTestPresetList(PrintPrecedingNewline* newline = nullptr) const;
|
||||
void PrintAllPresets() const;
|
||||
|
||||
private:
|
||||
|
@ -0,0 +1,8 @@
|
||||
^Not searching for unused variables given on the command line.
|
||||
Available configure presets:
|
||||
|
||||
"default"
|
||||
|
||||
Available test presets:
|
||||
|
||||
"default"$
|
14
Tests/RunCMake/CMakePresets/ListAllPresetsNoBuild.json.in
Normal file
14
Tests/RunCMake/CMakePresets/ListAllPresetsNoBuild.json.in
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"version": 3,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "default"
|
||||
}
|
||||
],
|
||||
"testPresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"configurePreset": "default"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
^Not searching for unused variables given on the command line.
|
||||
Available configure presets:
|
||||
|
||||
"default"
|
||||
|
||||
Available build presets:
|
||||
|
||||
"default"$
|
14
Tests/RunCMake/CMakePresets/ListAllPresetsNoTest.json.in
Normal file
14
Tests/RunCMake/CMakePresets/ListAllPresetsNoTest.json.in
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"version": 3,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "default"
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"configurePreset": "default"
|
||||
}
|
||||
]
|
||||
}
|
@ -304,6 +304,12 @@ unset(RunCMake_TEST_BINARY_DIR)
|
||||
run_cmake_presets(ListPresetsNoSuchPreset)
|
||||
run_cmake_presets(ListPresetsHidden)
|
||||
|
||||
set(CMakePresets_FILE "${RunCMake_SOURCE_DIR}/ListAllPresetsNoBuild.json.in")
|
||||
run_cmake_presets(ListAllPresetsNoBuild --list-presets=all)
|
||||
|
||||
set(CMakePresets_FILE "${RunCMake_SOURCE_DIR}/ListAllPresetsNoTest.json.in")
|
||||
run_cmake_presets(ListAllPresetsNoTest --list-presets=all)
|
||||
|
||||
# Test warning and error flags
|
||||
set(CMakePresets_FILE "${RunCMake_SOURCE_DIR}/Warnings.json.in")
|
||||
set(CMakePresets_WARN_UNUSED_CLI 1)
|
||||
|
Loading…
Reference in New Issue
Block a user