Explorar o código

Refactor: Use cmCommandLineArgument::setTo{True,Value}()

Kyle Edwards %!s(int64=3) %!d(string=hai) anos
pai
achega
62f4a41647
Modificáronse 2 ficheiros con 21 adicións e 76 borrados
  1. 2 8
      Source/cmake.cxx
  2. 19 68
      Source/cmakemain.cxx

+ 2 - 8
Source/cmake.cxx

@@ -565,10 +565,7 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& args)
                      "No install directory specified for --install-prefix",
                      CommandArgument::Values::One, PrefixLambda },
     CommandArgument{ "--find-package", CommandArgument::Values::Zero,
-                     [&](std::string const&, cmake*) -> bool {
-                       findPackageMode = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(findPackageMode) },
   };
   for (decltype(args.size()) i = 1; i < args.size(); ++i) {
     std::string const& arg = args[i];
@@ -876,10 +873,7 @@ void cmake::SetArgs(const std::vector<std::string>& args)
     CommandArgument{ "-P", "-P must be followed by a file name.",
                      CommandArgument::Values::One,
                      CommandArgument::RequiresSeparator::No,
-                     [&](std::string const&, cmake*) -> bool {
-                       scriptMode = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(scriptMode) },
     CommandArgument{ "-D", "-D must be followed with VAR=VALUE.",
                      CommandArgument::Values::One,
                      CommandArgument::RequiresSeparator::No,

+ 19 - 68
Source/cmakemain.cxx

@@ -9,6 +9,7 @@
 #include <climits>
 #include <cstdio>
 #include <cstring>
+#include <functional>
 #include <iostream>
 #include <sstream>
 #include <string>
@@ -262,37 +263,17 @@ int do_cmake(int ac, char const* const* av)
         return true;
       } },
     CommandArgument{ "--system-information", CommandArgument::Values::Zero,
-                     [&](std::string const&) -> bool {
-                       sysinfo = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(sysinfo) },
     CommandArgument{ "-N", CommandArgument::Values::Zero,
-                     [&](std::string const&) -> bool {
-                       view_only = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(view_only) },
     CommandArgument{ "-LAH", CommandArgument::Values::Zero,
-                     [&](std::string const&) -> bool {
-                       list_all_cached = true;
-                       list_help = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(list_all_cached, list_help) },
     CommandArgument{ "-LA", CommandArgument::Values::Zero,
-                     [&](std::string const&) -> bool {
-                       list_all_cached = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(list_all_cached) },
     CommandArgument{ "-LH", CommandArgument::Values::Zero,
-                     [&](std::string const&) -> bool {
-                       list_cached = true;
-                       list_help = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(list_cached, list_help) },
     CommandArgument{ "-L", CommandArgument::Values::Zero,
-                     [&](std::string const&) -> bool {
-                       list_cached = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(list_cached) },
     CommandArgument{ "-P", "No script specified for argument -P",
                      CommandArgument::Values::One,
                      CommandArgument::RequiresSeparator::No,
@@ -510,15 +491,9 @@ int do_build(int ac, char const* const* av)
 
   std::vector<CommandArgument> arguments = {
     CommandArgument{ "--preset", CommandArgument::Values::One,
-                     [&](std::string const& value) -> bool {
-                       presetName = value;
-                       return true;
-                     } },
+                     CommandArgument::setToValue(presetName) },
     CommandArgument{ "--list-presets", CommandArgument::Values::Zero,
-                     [&](std::string const&) -> bool {
-                       listPresets = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(listPresets) },
     CommandArgument{ "-j", CommandArgument::Values::ZeroOrOne,
                      CommandArgument::RequiresSeparator::No, jLambda },
     CommandArgument{ "--parallel", CommandArgument::Values::ZeroOrOne,
@@ -527,15 +502,9 @@ int do_build(int ac, char const* const* av)
     CommandArgument{ "--target", CommandArgument::Values::OneOrMore,
                      targetLambda },
     CommandArgument{ "--config", CommandArgument::Values::One,
-                     [&](std::string const& value) -> bool {
-                       config = value;
-                       return true;
-                     } },
+                     CommandArgument::setToValue(config) },
     CommandArgument{ "--clean-first", CommandArgument::Values::Zero,
-                     [&](std::string const&) -> bool {
-                       cleanFirst = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(cleanFirst) },
     CommandArgument{ "--resolve-package-references",
                      CommandArgument::Values::One, resolvePackagesLambda },
     CommandArgument{ "-v", CommandArgument::Values::Zero, verboseLambda },
@@ -545,10 +514,7 @@ int do_build(int ac, char const* const* av)
     CommandArgument{ "--use-stderr", CommandArgument::Values::Zero,
                      [](std::string const&) -> bool { return true; } },
     CommandArgument{ "--", CommandArgument::Values::Zero,
-                     [&](std::string const&) -> bool {
-                       nativeOptionsPassed = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(nativeOptionsPassed) },
   };
 
   if (ac >= 3) {
@@ -831,31 +797,16 @@ int do_install(int ac, char const* const* av)
 
   std::vector<CommandArgument> arguments = {
     CommandArgument{ "--config", CommandArgument::Values::One,
-                     [&](std::string const& value) -> bool {
-                       config = value;
-                       return true;
-                     } },
+                     CommandArgument::setToValue(config) },
     CommandArgument{ "--component", CommandArgument::Values::One,
-                     [&](std::string const& value) -> bool {
-                       component = value;
-                       return true;
-                     } },
-    CommandArgument{ "--default-directory-permissions",
-                     CommandArgument::Values::One,
-                     [&](std::string const& value) -> bool {
-                       defaultDirectoryPermissions = value;
-                       return true;
-                     } },
+                     CommandArgument::setToValue(component) },
+    CommandArgument{
+      "--default-directory-permissions", CommandArgument::Values::One,
+      CommandArgument::setToValue(defaultDirectoryPermissions) },
     CommandArgument{ "--prefix", CommandArgument::Values::One,
-                     [&](std::string const& value) -> bool {
-                       prefix = value;
-                       return true;
-                     } },
+                     CommandArgument::setToValue(prefix) },
     CommandArgument{ "--strip", CommandArgument::Values::Zero,
-                     [&](std::string const&) -> bool {
-                       strip = true;
-                       return true;
-                     } },
+                     CommandArgument::setToTrue(strip) },
     CommandArgument{ "-v", CommandArgument::Values::Zero, verboseLambda },
     CommandArgument{ "--verbose", CommandArgument::Values::Zero,
                      verboseLambda }