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,13 +302,21 @@ void cmGeneratorExpression::Split(const std::string &input,
if (!part.empty())
{
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);
preGenex = input.substr(startPos + 1, pos - startPos - 1);
}
if(!part.empty())
{
cmSystemTools::ExpandListArgument(part.c_str(), output);
}
}
pos += 2;
int nestingLevel = 1;
const char *c = input.c_str() + pos;