Merge topic 'fix-genex-split-duplication'

f93a388 Fix the cmGeneratorExpression::Split when leading chars are present.
This commit is contained in:
Brad King 2013-03-04 15:40:14 -05:00 committed by CMake Topic Stage
commit 91d86838a9
1 changed files with 10 additions and 2 deletions

View File

@ -302,12 +302,20 @@ void cmGeneratorExpression::Split(const std::string &input,
if (!part.empty()) if (!part.empty())
{ {
std::string::size_type startPos = input.rfind(";", pos); std::string::size_type startPos = input.rfind(";", pos);
if (startPos != pos - 1 && startPos >= lastPos) if (startPos == std::string::npos)
{
preGenex = part;
part = "";
}
else if (startPos != pos - 1 && startPos >= lastPos)
{ {
part = input.substr(lastPos, startPos - lastPos); part = input.substr(lastPos, startPos - lastPos);
preGenex = input.substr(startPos + 1, pos - startPos - 1); preGenex = input.substr(startPos + 1, pos - startPos - 1);
} }
cmSystemTools::ExpandListArgument(part.c_str(), output); if(!part.empty())
{
cmSystemTools::ExpandListArgument(part.c_str(), output);
}
} }
pos += 2; pos += 2;
int nestingLevel = 1; int nestingLevel = 1;