summaryrefslogtreecommitdiffstats
path: root/Source/cmakemain.cxx
diff options
context:
space:
mode:
authorKyle Edwards <kyle.edwards@kitware.com>2022-10-25 14:59:19 (GMT)
committerKyle Edwards <kyle.edwards@kitware.com>2022-10-26 16:01:01 (GMT)
commit7d9aa0f00cd9f7c2ed3d0c710090e9901c4430e9 (patch)
tree22f5104cebf519b8ac3f7469d78a8cd01cdd994b /Source/cmakemain.cxx
parent322193afcdfd3d3ba5a456e5e6f64e3637091736 (diff)
downloadCMake-7d9aa0f00cd9f7c2ed3d0c710090e9901c4430e9.zip
CMake-7d9aa0f00cd9f7c2ed3d0c710090e9901c4430e9.tar.gz
CMake-7d9aa0f00cd9f7c2ed3d0c710090e9901c4430e9.tar.bz2
cmake::Workflow: Refactor to use enum class argument
Diffstat (limited to 'Source/cmakemain.cxx')
-rw-r--r--Source/cmakemain.cxx12
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index 15e3190..a6938bc 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -917,8 +917,9 @@ int do_workflow(int ac, char const* const* av)
std::cerr << "This cmake does not support --workflow\n";
return -1;
#else
+ using WorkflowListPresets = cmake::WorkflowListPresets;
std::string presetName;
- bool listPresets = false;
+ auto listPresets = WorkflowListPresets::No;
using CommandArgument =
cmCommandLineArgument<bool(std::string const& value)>;
@@ -927,7 +928,10 @@ int do_workflow(int ac, char const* const* av)
CommandArgument{ "--preset", CommandArgument::Values::One,
CommandArgument::setToValue(presetName) },
CommandArgument{ "--list-presets", CommandArgument::Values::Zero,
- CommandArgument::setToTrue(listPresets) }
+ [&listPresets](const std::string&) -> bool {
+ listPresets = WorkflowListPresets::Yes;
+ return true;
+ } },
};
std::vector<std::string> inputArgs;
@@ -950,14 +954,14 @@ int do_workflow(int ac, char const* const* av)
if (!(matched && parsed)) {
if (!matched) {
presetName.clear();
- listPresets = false;
+ listPresets = WorkflowListPresets::No;
std::cerr << "Unknown argument " << arg << std::endl;
}
break;
}
}
- if (presetName.empty() && !listPresets) {
+ if (presetName.empty() && listPresets == WorkflowListPresets::No) {
/* clang-format off */
std::cerr <<
"Usage: cmake --workflow [options]\n"