summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorExpression.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-10-07 11:24:41 (GMT)
committerBrad King <brad.king@kitware.com>2013-10-07 12:17:12 (GMT)
commit6f98f4ac92a789a310cc7d9965556b4a8439654f (patch)
tree60f95720ba38972890b6a9d9b9040c7f649d98a1 /Source/cmGeneratorExpression.cxx
parent5b98d09e803270e57aa9a13ad53a144b95b58abc (diff)
downloadCMake-6f98f4ac92a789a310cc7d9965556b4a8439654f.zip
CMake-6f98f4ac92a789a310cc7d9965556b4a8439654f.tar.gz
CMake-6f98f4ac92a789a310cc7d9965556b4a8439654f.tar.bz2
Genex: Fix processing multiple include directories for relative paths
Re-insert the semicolon which was removed during splitting. Commit d777b8e7 (Genex: Allow relative paths in INSTALL_INTERFACE., 2013-07-25) introduced the prefixItems method to allow relative paths in the argument of the INSTALL_INTERFACE expression. That method was buggy in that it did not re-introduce the semicolon separator in the result. This bug also affects paths which are already absolute in user code.
Diffstat (limited to 'Source/cmGeneratorExpression.cxx')
-rw-r--r--Source/cmGeneratorExpression.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx
index 127cf6b..d73c72c 100644
--- a/Source/cmGeneratorExpression.cxx
+++ b/Source/cmGeneratorExpression.cxx
@@ -238,9 +238,12 @@ static void prefixItems(const std::string &content, std::string &result,
{
std::vector<std::string> entries;
cmGeneratorExpression::Split(content, entries);
+ const char *sep = "";
for(std::vector<std::string>::const_iterator ei = entries.begin();
ei != entries.end(); ++ei)
{
+ result += sep;
+ sep = ";";
if (!cmSystemTools::FileIsFullPath(ei->c_str())
&& cmGeneratorExpression::Find(*ei) == std::string::npos)
{