[Cmake-commits] CMake branch, next, updated. v2.8.11-1969-g32f0ae5

Stephen Kelly steveire at gmail.com
Thu May 16 13:27:20 EDT 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  32f0ae5b92662303b26582f5c42fe2f5a17f252e (commit)
       via  05bf9721e48f8fbf3b3b5338ec779ee5e344a6d0 (commit)
      from  1abd128d3646c4db45e9a4223f4bf39614461ae0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=32f0ae5b92662303b26582f5c42fe2f5a17f252e
commit 32f0ae5b92662303b26582f5c42fe2f5a17f252e
Merge: 1abd128 05bf972
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Thu May 16 13:27:02 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu May 16 13:27:02 2013 -0400

    Merge topic 'fix-genex-comma-parse' into next
    
    05bf972 Fix handling of commas in arbitrary content in genexes.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=05bf9721e48f8fbf3b3b5338ec779ee5e344a6d0
commit 05bf9721e48f8fbf3b3b5338ec779ee5e344a6d0
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Thu May 2 09:02:01 2013 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Thu May 16 19:25:06 2013 +0200

    Fix handling of commas in arbitrary content in genexes.
    
    As the comma is the parameter separator, it needs to be re-added
    when evaluating to reconstruct arbitrary content.

diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index 6618e83..5d06199 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -1051,11 +1051,6 @@ std::string GeneratorExpressionContent::Evaluate(
                                         pend = this->ParamChildren.end();
     for ( ; pit != pend; ++pit)
       {
-      if (!result.empty())
-        {
-        result += ",";
-        }
-
       std::vector<cmGeneratorExpressionEvaluator*>::const_iterator it
                                                               = pit->begin();
       const std::vector<cmGeneratorExpressionEvaluator*>::const_iterator end
@@ -1077,6 +1072,10 @@ std::string GeneratorExpressionContent::Evaluate(
           return std::string();
           }
         }
+      if ((pit + 1) != pend)
+        {
+        result += ",";
+        }
       }
     if (node->RequiresLiteralInput())
       {
diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt
index 0008c16..9cd8a7f 100644
--- a/Tests/GeneratorExpression/CMakeLists.txt
+++ b/Tests/GeneratorExpression/CMakeLists.txt
@@ -120,6 +120,16 @@ add_custom_target(check-part2 ALL
     -Dtest_target_includes6=$<TARGET_PROPERTY:empty3,INCLUDE_DIRECTORIES>
     -Dtest_target_includes7=$<TARGET_PROPERTY:empty1,INTERFACE_INCLUDE_DIRECTORIES>
     -Dtest_target_includes8=$<TARGET_PROPERTY:empty5,INCLUDE_DIRECTORIES>
+    -Dtest_arbitrary_content_comma_1=$<1:a,>
+    -Dtest_arbitrary_content_comma_2=$<1:,a>
+    -Dtest_arbitrary_content_comma_3=$<1:a,,>
+    -Dtest_arbitrary_content_comma_4=$<1:,>
+    -Dtest_arbitrary_content_comma_5=$<1:,,>
+    -Dtest_arbitrary_content_comma_6=$<1:,,,>
+    -Dtest_arbitrary_content_comma_7=$<1:,,a>
+    -Dtest_arbitrary_content_comma_8=$<1:a,,b>
+    -Dtest_arbitrary_content_comma_9=$<1:a,,b,,>
+    -Dtest_arbitrary_content_comma_10=$<1:,,a,,b,,>
     -P ${CMAKE_CURRENT_SOURCE_DIR}/check-part2.cmake
   COMMAND ${CMAKE_COMMAND} -E echo "check done (part 2 of 2)"
   VERBATIM
diff --git a/Tests/GeneratorExpression/check-part2.cmake b/Tests/GeneratorExpression/check-part2.cmake
index 3f7187c..a1db5f6 100644
--- a/Tests/GeneratorExpression/check-part2.cmake
+++ b/Tests/GeneratorExpression/check-part2.cmake
@@ -34,3 +34,13 @@ check(test_target_includes5 "/empty2/public;/empty3/public;/empty2/public;/empty
 check(test_target_includes6 "/empty3/public;/empty3/private;/empty2/public;/empty3/public;/empty4/public")
 check(test_target_includes7 "/empty1/public;/empty2/public;/empty3/public;/empty4/public")
 check(test_target_includes8 "/empty5/private1;/empty5/private2")
+check(test_arbitrary_content_comma_1 "a,")
+check(test_arbitrary_content_comma_2 ",a")
+check(test_arbitrary_content_comma_3 "a,,")
+check(test_arbitrary_content_comma_4 ",")
+check(test_arbitrary_content_comma_5 ",,")
+check(test_arbitrary_content_comma_6 ",,,")
+check(test_arbitrary_content_comma_7 ",,a")
+check(test_arbitrary_content_comma_8 "a,,b")
+check(test_arbitrary_content_comma_9 "a,,b,,")
+check(test_arbitrary_content_comma_10 ",,a,,b,,")

-----------------------------------------------------------------------

Summary of changes:
 Source/cmGeneratorExpressionEvaluator.cxx   |    9 ++++-----
 Tests/GeneratorExpression/CMakeLists.txt    |   10 ++++++++++
 Tests/GeneratorExpression/check-part2.cmake |   10 ++++++++++
 3 files changed, 24 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list