summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-02-18 10:24:41 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-02-18 11:07:32 (GMT)
commitec2c67bcf3aada9b601d5dca52b31a4fb6104240 (patch)
treee0fabec542d7f0248157a32c67826339521e5bce
parenta0ac2c59feec347a4cc93ab46fcf28f1dad49e99 (diff)
downloadCMake-ec2c67bcf3aada9b601d5dca52b31a4fb6104240.zip
CMake-ec2c67bcf3aada9b601d5dca52b31a4fb6104240.tar.gz
CMake-ec2c67bcf3aada9b601d5dca52b31a4fb6104240.tar.bz2
Strip stray semicolons when evaluating generator expressions.
-rw-r--r--Source/cmGeneratorExpression.cxx7
-rw-r--r--Source/cmGeneratorExpression.h1
-rw-r--r--Source/cmGeneratorExpressionEvaluator.cxx3
3 files changed, 8 insertions, 3 deletions
diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx
index 5d162fe..08ffe1d 100644
--- a/Source/cmGeneratorExpression.cxx
+++ b/Source/cmGeneratorExpression.cxx
@@ -153,7 +153,8 @@ cmCompiledGeneratorExpression::~cmCompiledGeneratorExpression()
}
//----------------------------------------------------------------------------
-static std::string stripEmptyListElements(const std::string &input)
+std::string cmGeneratorExpression::StripEmptyListElements(
+ const std::string &input)
{
std::string result;
@@ -223,7 +224,7 @@ static std::string stripAllGeneratorExpressions(const std::string &input)
lastPos = pos;
}
result += input.substr(lastPos);
- return stripEmptyListElements(result);
+ return cmGeneratorExpression::StripEmptyListElements(result);
}
//----------------------------------------------------------------------------
@@ -284,7 +285,7 @@ static std::string stripExportInterface(const std::string &input,
}
result += input.substr(lastPos);
- return stripEmptyListElements(result);
+ return cmGeneratorExpression::StripEmptyListElements(result);
}
//----------------------------------------------------------------------------
diff --git a/Source/cmGeneratorExpression.h b/Source/cmGeneratorExpression.h
index 489b052..ca41573 100644
--- a/Source/cmGeneratorExpression.h
+++ b/Source/cmGeneratorExpression.h
@@ -66,6 +66,7 @@ public:
static bool IsValidTargetName(const std::string &input);
+ static std::string StripEmptyListElements(const std::string &input);
private:
cmGeneratorExpression(const cmGeneratorExpression &);
void operator=(const cmGeneratorExpression &);
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index cd6a40b..023daf8 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -508,6 +508,9 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
}
}
+ linkedTargetsContent =
+ cmGeneratorExpression::StripEmptyListElements(linkedTargetsContent);
+
if (!prop)
{
if (target->IsImported())