summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2007-06-28 20:11:18 (GMT)
committerBrad King <brad.king@kitware.com>2007-06-28 20:11:18 (GMT)
commitfdf7b203af156f08bf149b35d0b54573d4b25abf (patch)
treed73c95726631536288f9efd46a704f2d5b11b3c8 /Source/cmInstallGenerator.cxx
parent33e9becd6f1a8343d347611c2037bd980ea41690 (diff)
downloadCMake-fdf7b203af156f08bf149b35d0b54573d4b25abf.zip
CMake-fdf7b203af156f08bf149b35d0b54573d4b25abf.tar.gz
CMake-fdf7b203af156f08bf149b35d0b54573d4b25abf.tar.bz2
ENH: First step of install script generator cleanup. Each configuration to be installed is now separately handled instead of using variables to store per-configuration names. For targets the component and configuration install-time tests are now done in the install script instead of in the FILE(INSTALL) command. This cleans things up like not trying to strip a file that was optionally not installed. It also simplifies the code for install_name adjustment on OSX. This commit is surrounded by the tags CMake-InstallGeneratorCleanup1-pre and CMake-InstallGeneratorCleanup1-post.
Diffstat (limited to 'Source/cmInstallGenerator.cxx')
-rw-r--r--Source/cmInstallGenerator.cxx21
1 files changed, 19 insertions, 2 deletions
diff --git a/Source/cmInstallGenerator.cxx b/Source/cmInstallGenerator.cxx
index 275eb11..bf9d228 100644
--- a/Source/cmInstallGenerator.cxx
+++ b/Source/cmInstallGenerator.cxx
@@ -52,7 +52,7 @@ void cmInstallGenerator
std::ostream& os,
const char* dest,
int type,
- const char* file,
+ std::vector<std::string> const& files,
bool optional /* = false */,
const char* properties /* = 0 */,
const char* permissions_file /* = 0 */,
@@ -110,7 +110,24 @@ void cmInstallGenerator
{
os << " COMPONENTS \"" << component << "\"";
}
- os << " FILES \"" << file << "\"";
+ os << " FILES";
+ if(files.size() == 1)
+ {
+ os << " \"" << files[0] << "\"";
+ }
+ else
+ {
+ for(std::vector<std::string>::const_iterator fi = files.begin();
+ fi != files.end(); ++fi)
+ {
+ os << "\n \"" << *fi << "\"";
+ }
+ os << "\n ";
+ if(!(literal_args && *literal_args))
+ {
+ os << " ";
+ }
+ }
if(literal_args && *literal_args)
{
os << literal_args;