cmCommand refactor: cmSeparateArgumentsCommand

This commit is contained in:
Gabor Bencze
2019-08-04 19:05:36 +02:00
committed by Brad King
parent d780822da6
commit 2a9299782e
3 changed files with 12 additions and 34 deletions
+8 -9
View File
@@ -5,17 +5,16 @@
#include <algorithm>
#include <sstream>
#include "cmExecutionStatus.h"
#include "cmMakefile.h"
#include "cmSystemTools.h"
class cmExecutionStatus;
// cmSeparateArgumentsCommand
bool cmSeparateArgumentsCommand::InitialPass(
std::vector<std::string> const& args, cmExecutionStatus&)
bool cmSeparateArgumentsCommand(std::vector<std::string> const& args,
cmExecutionStatus& status)
{
if (args.empty()) {
this->SetError("must be given at least one argument.");
status.SetError("must be given at least one argument.");
return false;
}
@@ -59,17 +58,17 @@ bool cmSeparateArgumentsCommand::InitialPass(
} else {
std::ostringstream e;
e << "given unknown argument " << arg;
this->SetError(e.str());
status.SetError(e.str());
return false;
}
}
if (mode == ModeOld) {
// Original space-replacement version of command.
if (const char* def = this->Makefile->GetDefinition(var)) {
if (const char* def = status.GetMakefile().GetDefinition(var)) {
std::string value = def;
std::replace(value.begin(), value.end(), ' ', ';');
this->Makefile->AddDefinition(var, value);
status.GetMakefile().AddDefinition(var, value);
}
} else {
// Parse the command line.
@@ -97,7 +96,7 @@ bool cmSeparateArgumentsCommand::InitialPass(
value += si;
}
}
this->Makefile->AddDefinition(var, value);
status.GetMakefile().AddDefinition(var, value);
}
return true;