[Cmake-commits] CMake branch, next, updated. v3.6.1-1657-g7cb415e

Brad King brad.king at kitware.com
Wed Aug 31 09:37:23 EDT 2016


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  7cb415ef8b47a1f0ac6a40c2e7e2a6885a30c78d (commit)
       via  3bd55dba7c889776bd094c6c29045c567b9000e2 (commit)
       via  0a2d0b126ca01a7d989a887c71693989e9d15224 (commit)
       via  a9affa07cdeea6b66c920e4826abfe59854f7ffa (commit)
       via  7a25220776202998904d979ebf64c008fc4c4d24 (commit)
       via  0820c7850805e7c41fd54292fa4ebd13b28b51fa (commit)
       via  5b1f9cd12703eca0505ee0b6d9d2a0e53ed86f67 (commit)
       via  6f8b93983a3bfb4a9262cae8e9b989edb61e8a4b (commit)
       via  59d559af2e35d3521c7cffc4a0c7c33ffaf2c744 (commit)
       via  9bbf1dc06ebb891498747768736442b22058c49e (commit)
      from  698e66225604dfd7b2419d2459bddcbc08c609b9 (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7cb415ef8b47a1f0ac6a40c2e7e2a6885a30c78d
commit 7cb415ef8b47a1f0ac6a40c2e7e2a6885a30c78d
Merge: 698e662 3bd55db
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Aug 31 09:37:22 2016 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Aug 31 09:37:22 2016 -0400

    Merge topic 'install-directory-genex-fix' into next
    
    3bd55dba install: Fix evaluation of leading generator expressions in DIRECTORY
    0a2d0b12 Merge topic '16101-xcode-fix-directory-exclude-from-all'
    a9affa07 Merge topic 'FindOpenSSL-new-windows-names'
    7a252207 Merge topic 'fortran-macOS-sysroot'
    0820c785 Merge topic 'FindMatlab-additional-components'
    5b1f9cd1 Merge topic 'syntax-unexpected-eof'
    6f8b9398 Merge topic 'import-libuv'
    59d559af Merge topic 'drop-linux-i386-binary'
    9bbf1dc0 CMake Nightly Date Stamp


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3bd55dba7c889776bd094c6c29045c567b9000e2
commit 3bd55dba7c889776bd094c6c29045c567b9000e2
Author:     Yves Frederix <yves.frederix at gmail.com>
AuthorDate: Mon Aug 29 22:24:55 2016 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 31 09:33:39 2016 -0400

    install: Fix evaluation of leading generator expressions in DIRECTORY
    
    Since commit v3.5.0-rc1~58^2 (install: Allow generator expressions in
    DIRECTORY, 2016-01-12) we accidentally treat leading generator
    expressions as relative paths even though they may evaluate to absolute
    paths.  Defer the conversion to an absolute path until after evaluation.

diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index 86ab85a..4912eac 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -976,7 +976,8 @@ bool cmInstallCommand::HandleDirectoryMode(
     } else if (doing == DoingDirs) {
       // Convert this directory to a full path.
       std::string dir = args[i];
-      if (!cmSystemTools::FileIsFullPath(dir.c_str())) {
+      std::string::size_type gpos = cmGeneratorExpression::Find(dir);
+      if (gpos != 0 && !cmSystemTools::FileIsFullPath(dir.c_str())) {
         dir = this->Makefile->GetCurrentSourceDirectory();
         dir += "/";
         dir += args[i];
diff --git a/Source/cmInstallDirectoryGenerator.cxx b/Source/cmInstallDirectoryGenerator.cxx
index 3928231..469b119 100644
--- a/Source/cmInstallDirectoryGenerator.cxx
+++ b/Source/cmInstallDirectoryGenerator.cxx
@@ -13,6 +13,7 @@
 
 #include "cmGeneratorExpression.h"
 #include "cmLocalGenerator.h"
+#include "cmMakefile.h"
 
 cmInstallDirectoryGenerator::cmInstallDirectoryGenerator(
   std::vector<std::string> const& dirs, const char* dest,
@@ -73,6 +74,16 @@ void cmInstallDirectoryGenerator::GenerateScriptForConfig(
     cmSystemTools::ExpandListArgument(
       cge->Evaluate(this->LocalGenerator, config), dirs);
   }
+
+  // Make sure all dirs have absolute paths.
+  cmMakefile const& mf = *this->LocalGenerator->GetMakefile();
+  for (std::vector<std::string>::iterator i = dirs.begin(); i != dirs.end();
+       ++i) {
+    if (!cmSystemTools::FileIsFullPath(i->c_str())) {
+      *i = std::string(mf.GetCurrentSourceDirectory()) + "/" + *i;
+    }
+  }
+
   this->AddDirectoryInstallRule(os, config, indent, dirs);
 }
 

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

Summary of changes:
 Source/CMakeVersion.cmake              |    2 +-
 Source/cmInstallCommand.cxx            |    3 ++-
 Source/cmInstallDirectoryGenerator.cxx |   11 +++++++++++
 3 files changed, 14 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list