summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-02-27 15:34:35 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2015-02-27 15:34:35 (GMT)
commit38f1f4e7f30bc9544805da7925d500045722bff1 (patch)
tree6b587f30c66e6ffd5e4c29199eaf752e45550a8a
parent83a9cf6d2893f7284da522b052cd53c4affb8f76 (diff)
parentc48141744e7b14940dc55ec98da631c4d2356dd7 (diff)
downloadCMake-38f1f4e7f30bc9544805da7925d500045722bff1.zip
CMake-38f1f4e7f30bc9544805da7925d500045722bff1.tar.gz
CMake-38f1f4e7f30bc9544805da7925d500045722bff1.tar.bz2
Merge topic 'install-manifest-optimize'
c4814174 install: Write the entire installation manifest at once
-rw-r--r--Source/cmFileCommand.cxx5
-rw-r--r--Source/cmLocalGenerator.cxx17
2 files changed, 10 insertions, 12 deletions
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 212603c..0290c92 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1903,7 +1903,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 2accf47..42e943a 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";
}
}