[Cmake-commits] CMake branch, next, updated. v2.8.10.2-2518-g0dba8ff

Stephen Kelly steveire at gmail.com
Thu Mar 14 16:45:39 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  0dba8ff010609a2b9943f202529fa0e582dc7e65 (commit)
       via  1ac45f752c77a87435b1fb55f6d41e1d13618fb9 (commit)
      from  7f19de3c6b559bd3529de46d2017d0a5a2b5cf10 (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=0dba8ff010609a2b9943f202529fa0e582dc7e65
commit 0dba8ff010609a2b9943f202529fa0e582dc7e65
Merge: 7f19de3 1ac45f7
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Thu Mar 14 16:45:36 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Mar 14 16:45:36 2013 -0400

    Merge topic 'fix-genex-preprocess' into next
    
    1ac45f7 Fix cmGeneratorExpression::Preprocess for interleaved inputs.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1ac45f752c77a87435b1fb55f6d41e1d13618fb9
commit 1ac45f752c77a87435b1fb55f6d41e1d13618fb9
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Thu Mar 14 21:40:21 2013 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Thu Mar 14 21:40:47 2013 +0100

    Fix cmGeneratorExpression::Preprocess for interleaved inputs.
    
    We can't find both preprocessing expressions at once, because then
    the BUILD_INTERFACE will always be favored if both are present, even
    if INSTALL_INTERFACE appears first.

diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx
index 3f59129..3a9a4ce 100644
--- a/Source/cmGeneratorExpression.cxx
+++ b/Source/cmGeneratorExpression.cxx
@@ -236,9 +236,29 @@ static std::string stripExportInterface(const std::string &input,
 
   std::string::size_type pos = 0;
   std::string::size_type lastPos = pos;
-  while((pos = input.find("$<BUILD_INTERFACE:", lastPos)) != input.npos
-    || (pos = input.find("$<INSTALL_INTERFACE:", lastPos)) != input.npos)
+  while (true)
     {
+    std::string::size_type bPos = input.find("$<BUILD_INTERFACE:", lastPos);
+    std::string::size_type iPos = input.find("$<INSTALL_INTERFACE:", lastPos);
+
+    if (bPos == std::string::npos && iPos == std::string::npos)
+      {
+      break;
+      }
+
+    if (bPos == std::string::npos)
+      {
+      pos = iPos;
+      }
+    else if (iPos == std::string::npos)
+      {
+      pos = bPos;
+      }
+    else
+      {
+      pos = std::min(bPos, iPos);
+      }
+
     result += input.substr(lastPos, pos - lastPos);
     const bool gotInstallInterface = input[pos + 2] == 'I';
     pos += gotInstallInterface ? sizeof("$<INSTALL_INTERFACE:") - 1

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

Summary of changes:
 Source/cmGeneratorExpression.cxx |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list