cmStringCommand: Accumulate with cmJoin and range adaptors.
This commit is contained in:
parent
0c12f1ea0d
commit
bb10012fea
@ -303,13 +303,6 @@ bool cmStringCommand::RegexMatch(std::vector<std::string> const& args)
|
|||||||
std::string regex = args[2];
|
std::string regex = args[2];
|
||||||
std::string outvar = args[3];
|
std::string outvar = args[3];
|
||||||
|
|
||||||
// Concatenate all the last arguments together.
|
|
||||||
std::string input = args[4];
|
|
||||||
for(unsigned int i=5; i < args.size(); ++i)
|
|
||||||
{
|
|
||||||
input += args[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
this->Makefile->ClearMatches();
|
this->Makefile->ClearMatches();
|
||||||
// Compile the regular expression.
|
// Compile the regular expression.
|
||||||
cmsys::RegularExpression re;
|
cmsys::RegularExpression re;
|
||||||
@ -321,6 +314,9 @@ bool cmStringCommand::RegexMatch(std::vector<std::string> const& args)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Concatenate all the last arguments together.
|
||||||
|
std::string input = cmJoin(cmRange(args).advance(4), std::string());
|
||||||
|
|
||||||
// Scan through the input for all matches.
|
// Scan through the input for all matches.
|
||||||
std::string output;
|
std::string output;
|
||||||
if(re.find(input.c_str()))
|
if(re.find(input.c_str()))
|
||||||
@ -352,13 +348,6 @@ bool cmStringCommand::RegexMatchAll(std::vector<std::string> const& args)
|
|||||||
std::string regex = args[2];
|
std::string regex = args[2];
|
||||||
std::string outvar = args[3];
|
std::string outvar = args[3];
|
||||||
|
|
||||||
// Concatenate all the last arguments together.
|
|
||||||
std::string input = args[4];
|
|
||||||
for(unsigned int i=5; i < args.size(); ++i)
|
|
||||||
{
|
|
||||||
input += args[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
this->Makefile->ClearMatches();
|
this->Makefile->ClearMatches();
|
||||||
// Compile the regular expression.
|
// Compile the regular expression.
|
||||||
cmsys::RegularExpression re;
|
cmsys::RegularExpression re;
|
||||||
@ -371,6 +360,9 @@ bool cmStringCommand::RegexMatchAll(std::vector<std::string> const& args)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Concatenate all the last arguments together.
|
||||||
|
std::string input = cmJoin(cmRange(args).advance(4), std::string());
|
||||||
|
|
||||||
// Scan through the input for all matches.
|
// Scan through the input for all matches.
|
||||||
std::string output;
|
std::string output;
|
||||||
const char* p = input.c_str();
|
const char* p = input.c_str();
|
||||||
@ -456,13 +448,6 @@ bool cmStringCommand::RegexReplace(std::vector<std::string> const& args)
|
|||||||
l = r;
|
l = r;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Concatenate all the last arguments together.
|
|
||||||
std::string input = args[5];
|
|
||||||
for(unsigned int i=6; i < args.size(); ++i)
|
|
||||||
{
|
|
||||||
input += args[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
this->Makefile->ClearMatches();
|
this->Makefile->ClearMatches();
|
||||||
// Compile the regular expression.
|
// Compile the regular expression.
|
||||||
cmsys::RegularExpression re;
|
cmsys::RegularExpression re;
|
||||||
@ -475,6 +460,9 @@ bool cmStringCommand::RegexReplace(std::vector<std::string> const& args)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Concatenate all the last arguments together.
|
||||||
|
std::string input = cmJoin(cmRange(args).advance(5), std::string());
|
||||||
|
|
||||||
// Scan through the input for all matches.
|
// Scan through the input for all matches.
|
||||||
std::string output;
|
std::string output;
|
||||||
std::string::size_type base = 0;
|
std::string::size_type base = 0;
|
||||||
@ -673,11 +661,7 @@ bool cmStringCommand::HandleReplaceCommand(std::vector<std::string> const&
|
|||||||
const std::string& replaceExpression = args[2];
|
const std::string& replaceExpression = args[2];
|
||||||
const std::string& variableName = args[3];
|
const std::string& variableName = args[3];
|
||||||
|
|
||||||
std::string input = args[4];
|
std::string input = cmJoin(cmRange(args).advance(4), std::string());
|
||||||
for(unsigned int i=5; i < args.size(); ++i)
|
|
||||||
{
|
|
||||||
input += args[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
cmsys::SystemTools::ReplaceString(input, matchExpression.c_str(),
|
cmsys::SystemTools::ReplaceString(input, matchExpression.c_str(),
|
||||||
replaceExpression.c_str());
|
replaceExpression.c_str());
|
||||||
@ -756,11 +740,7 @@ bool cmStringCommand
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string const& variableName = args[1];
|
std::string const& variableName = args[1];
|
||||||
std::string value;
|
std::string value = cmJoin(cmRange(args).advance(2), std::string());
|
||||||
for(unsigned int i = 2; i < args.size(); ++i)
|
|
||||||
{
|
|
||||||
value += args[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
this->Makefile->AddDefinition(variableName, value.c_str());
|
this->Makefile->AddDefinition(variableName, value.c_str());
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user