[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