[Cmake-commits] CMake branch, next, updated. v2.8.12.2-7644-g81132f4

Ben Boeckel ben.boeckel at kitware.com
Tue Feb 11 15:26:01 EST 2014


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  81132f4478ebcd8a3575c237e5b5c8978088c2a1 (commit)
       via  f963030d0ac717b8753f2f4e8c259492b11245f3 (commit)
       via  66d5cbfd15e336424223564ceeaeac0f002a175f (commit)
       via  1f0ba49792e430b7df819c7b934834ad565c5d5e (commit)
      from  390c5ecb274ecd8b9d6dc6faaf4ed10470bce4f2 (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=81132f4478ebcd8a3575c237e5b5c8978088c2a1
commit 81132f4478ebcd8a3575c237e5b5c8978088c2a1
Merge: 390c5ec f963030
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Tue Feb 11 15:26:00 2014 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Feb 11 15:26:00 2014 -0500

    Merge topic 'dev/custom-parsers' into next
    
    f963030d release notes
    66d5cbfd EVIS fix
    1f0ba497 genex fix


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f963030d0ac717b8753f2f4e8c259492b11245f3
commit f963030d0ac717b8753f2f4e8c259492b11245f3
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Tue Feb 11 15:24:53 2014 -0500
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Tue Feb 11 15:24:53 2014 -0500

    release notes

diff --git a/Help/release/dev/custom-parsers.rst b/Help/release/dev/custom-parsers.rst
index 4d545b9..eef01fb 100644
--- a/Help/release/dev/custom-parsers.rst
+++ b/Help/release/dev/custom-parsers.rst
@@ -1,20 +1,6 @@
 custom-parsers
 --------------
 
-* Rewrite the cmMakefile::ExpandVariablesInString method to use a custom
-  parser. This allows us to remove the lex/yacc parser for expanding
-  variables.
-* Optimize cmGeneratorExpression::StripEmptyListElements and
-  cmSystemTools::ExpandListArguments so as not to build a string
-  character-by-character. This avoids excess reallocations of the result
-  string.
-* Optimize cmGeneratorExpressionLexer::Tokenize to use a switch statement. The
-  many dereferences of the input pointer were expensive. Also remove excess
-  pointer arithmetic.
-* Testing the configure (no generate) step with ParaView shows ~20%
-  performance improvement (~47s -> ~39s on my machine).
-* In terms of complete configure/generate steps, further testing with ParaView
-  shows a 20% performance improvement over 2.8.12.2 with Unix Makefiles and
-  minimal with Ninja. Ninja is less because it generate step is the expensive
-  part (future work will address this) by a long shot and these changes help
-  the configure step for the most part.
+* The :manual:`cmake-language(7)` internal implementation of variable
+  evaluation has been optimized and shows non-trivial speedup on large
+  projects.

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=66d5cbfd15e336424223564ceeaeac0f002a175f
commit 66d5cbfd15e336424223564ceeaeac0f002a175f
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Tue Feb 11 15:21:12 2014 -0500
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Tue Feb 11 15:21:12 2014 -0500

    EVIS fix

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 3fd3ad3..6bac9bb 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -2749,7 +2749,7 @@ const char *cmMakefile::ExpandVariablesInString(std::string& source,
           }
         else if(!nextc)
           {
-          PUSH((last, next));
+          PUSH((last, next - last));
           last = next;
           good = false;
           }
@@ -2779,7 +2779,7 @@ const char *cmMakefile::ExpandVariablesInString(std::string& source,
           }
         if(good)
           {
-          PUSH((last, in));
+          PUSH((last, in - last));
           last = lookup.start;
           openstack.push(lookup);
           }
@@ -2792,19 +2792,19 @@ const char *cmMakefile::ExpandVariablesInString(std::string& source,
           char nextc = *next;
           if(nextc == 't')
             {
-            PUSH((last, in));
+            PUSH((last, in - last));
             PUSH(("\t"));
             last = next + 1;
             }
           else if(nextc == 'n')
             {
-            PUSH((last, in));
+            PUSH((last, in - last));
             PUSH(("\n"));
             last = next + 1;
             }
           else if(nextc == 'r')
             {
-            PUSH((last, in));
+            PUSH((last, in - last));
             PUSH(("\r"));
             last = next + 1;
             }
@@ -2815,7 +2815,7 @@ const char *cmMakefile::ExpandVariablesInString(std::string& source,
           else
             {
             // Take what we've found so far, skipping the escape character.
-            PUSH((last, in));
+            PUSH((last, in - last));
             // Start tracking from the next character.
             last = in + 1;
             }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1f0ba49792e430b7df819c7b934834ad565c5d5e
commit 1f0ba49792e430b7df819c7b934834ad565c5d5e
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Tue Feb 11 15:20:57 2014 -0500
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Tue Feb 11 15:20:57 2014 -0500

    genex fix

diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx
index 926ba74..cd30546 100644
--- a/Source/cmGeneratorExpression.cxx
+++ b/Source/cmGeneratorExpression.cxx
@@ -173,7 +173,7 @@ std::string cmGeneratorExpression::StripEmptyListElements(
       {
       if(skipSemiColons)
         {
-        result.append(last, c);
+        result.append(last, c - last);
         last = c + 1;
         }
       skipSemiColons = true;

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

Summary of changes:
 Help/release/dev/custom-parsers.rst |   20 +++-----------------
 Source/cmGeneratorExpression.cxx    |    2 +-
 Source/cmMakefile.cxx               |   12 ++++++------
 3 files changed, 10 insertions(+), 24 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list