[Cmake-commits] CMake branch, next, updated. v3.2.0-rc2-761-gef05bdf

Brad King brad.king at kitware.com
Thu Feb 26 15:02:21 EST 2015


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  ef05bdfa0c161137c9028e69f821b05aa6cb4581 (commit)
       via  689f86ec9aeba325e7f5846fffe760e4d57d7656 (commit)
      from  e101aa7d114e7e398b2bae3fd082857babc47a87 (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=ef05bdfa0c161137c9028e69f821b05aa6cb4581
commit ef05bdfa0c161137c9028e69f821b05aa6cb4581
Merge: e101aa7 689f86e
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Feb 26 15:02:20 2015 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Feb 26 15:02:20 2015 -0500

    Merge topic 'install-manifest-optimize' into next
    
    689f86ec install: Write the entire installation manifest at once


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=689f86ec9aeba325e7f5846fffe760e4d57d7656
commit 689f86ec9aeba325e7f5846fffe760e4d57d7656
Author:     Robert Goulet <Robert.Goulet at autodesk.com>
AuthorDate: Thu Feb 26 19:18:04 2015 +0000
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Feb 26 14:57:07 2015 -0500

    install: Write the entire installation manifest at once
    
    Avoid a separate open/close for each file installed.  Use a single
    file(WRITE) instead of a loop with file(APPEND).

diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 579e715..d994659 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1907,7 +1907,10 @@ protected:
   std::string Manifest;
   void ManifestAppend(std::string const& file)
     {
-    this->Manifest += ";";
+    if (!this->Manifest.empty())
+      {
+      this->Manifest += ";";
+      }
     this->Manifest += file.substr(this->DestDirLength);
     }
 
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 7ca7684..d9dcad4 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -535,17 +535,12 @@ void cmLocalGenerator::GenerateInstallRules()
       "${CMAKE_INSTALL_COMPONENT}.txt\")\n"
       "else()\n"
       "  set(CMAKE_INSTALL_MANIFEST \"install_manifest.txt\")\n"
-      "endif()\n\n";
-    fout
-      << "file(WRITE \""
-      << homedir << "/${CMAKE_INSTALL_MANIFEST}\" "
-      << "\"\")" << std::endl;
-    fout
-      << "foreach(file ${CMAKE_INSTALL_MANIFEST_FILES})" << std::endl
-      << "  file(APPEND \""
-      << homedir << "/${CMAKE_INSTALL_MANIFEST}\" "
-      << "\"${file}\\n\")" << std::endl
-      << "endforeach()" << std::endl;
+      "endif()\n"
+      "\n"
+      "string(REPLACE \";\" \"\\n\" CMAKE_INSTALL_MANIFEST_CONTENT\n"
+      "       \"${CMAKE_INSTALL_MANIFEST_FILES}\")\n"
+      "file(WRITE \"" << homedir << "/${CMAKE_INSTALL_MANIFEST}\"\n"
+      "     \"${CMAKE_INSTALL_MANIFEST_CONTENT}\")\n";
     }
 }
 

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

Summary of changes:
 Source/cmFileCommand.cxx    |    5 ++++-
 Source/cmLocalGenerator.cxx |   17 ++++++-----------
 2 files changed, 10 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list