[Cmake-commits] CMake branch, next, updated. v3.2.0-rc2-763-gee27398

Brad King brad.king at kitware.com
Thu Feb 26 15:04:27 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  ee27398822ff58d00ee45899128354b27ddf56af (commit)
       via  c48141744e7b14940dc55ec98da631c4d2356dd7 (commit)
      from  ef05bdfa0c161137c9028e69f821b05aa6cb4581 (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=ee27398822ff58d00ee45899128354b27ddf56af
commit ee27398822ff58d00ee45899128354b27ddf56af
Merge: ef05bdf c481417
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Feb 26 15:04:26 2015 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Feb 26 15:04:26 2015 -0500

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


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c48141744e7b14940dc55ec98da631c4d2356dd7
commit c48141744e7b14940dc55ec98da631c4d2356dd7
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 15:04: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:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list