From 6f98f4ac92a789a310cc7d9965556b4a8439654f Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Mon, 7 Oct 2013 13:24:41 +0200 Subject: [PATCH] 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. --- Source/cmGeneratorExpression.cxx | 3 +++ Tests/ExportImport/Export/CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx index 127cf6b326..d73c72c101 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 entries; cmGeneratorExpression::Split(content, entries); + const char *sep = ""; for(std::vector::const_iterator ei = entries.begin(); ei != entries.end(); ++ei) { + result += sep; + sep = ";"; if (!cmSystemTools::FileIsFullPath(ei->c_str()) && cmGeneratorExpression::Find(*ei) == std::string::npos) { diff --git a/Tests/ExportImport/Export/CMakeLists.txt b/Tests/ExportImport/Export/CMakeLists.txt index 1f23b2ae79..72ae78f577 100644 --- a/Tests/ExportImport/Export/CMakeLists.txt +++ b/Tests/ExportImport/Export/CMakeLists.txt @@ -159,7 +159,7 @@ set_property(TARGET testLibRequired APPEND PROPERTY $> # Test that the below is non-fatal $<$:$> - $ + $ ) set_property(TARGET testLibRequired APPEND PROPERTY