summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallTargetGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-08-21 20:55:03 (GMT)
committerBrad King <brad.king@kitware.com>2006-08-21 20:55:03 (GMT)
commitbed79f6c6b47b2c0661da67799ec37fce8905c54 (patch)
treebdf2a3211652d8587c710d14dbb0f323fb40e617 /Source/cmInstallTargetGenerator.cxx
parentf1ea7e88dc8322d4344e6b7acde6bf7bcffd7806 (diff)
downloadCMake-bed79f6c6b47b2c0661da67799ec37fce8905c54.zip
CMake-bed79f6c6b47b2c0661da67799ec37fce8905c54.tar.gz
CMake-bed79f6c6b47b2c0661da67799ec37fce8905c54.tar.bz2
ENH: Implemented INSTALL(DIRECTORY) command and added a test. Re-organized cmFileCommand's implementation of FILE(INSTALL) a bit to help out. This addresses bug#1694 and partially addresses bug#2691.
Diffstat (limited to 'Source/cmInstallTargetGenerator.cxx')
-rw-r--r--Source/cmInstallTargetGenerator.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index a15ce3c..1e99cd9 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -72,6 +72,7 @@ void cmInstallTargetGenerator::GenerateScript(std::ostream& os)
std::string destination = this->Destination;
// Setup special properties for some target types.
+ std::string literal_args;
std::string props;
const char* properties = 0;
cmTarget::TargetType type = this->Target->GetType();
@@ -140,6 +141,7 @@ void cmInstallTargetGenerator::GenerateScript(std::ostream& os)
false, false);
fromFile += ".app";
type = cmTarget::INSTALL_DIRECTORY;
+ literal_args += " USE_SOURCE_PERMISSIONS";
}
}
break;
@@ -159,11 +161,13 @@ void cmInstallTargetGenerator::GenerateScript(std::ostream& os)
// Write code to install the target file.
const char* no_dir_permissions = 0;
+ const char* no_rename = 0;
this->AddInstallRule(os, destination.c_str(), type, fromFile.c_str(),
this->ImportLibrary, properties,
this->FilePermissions.c_str(), no_dir_permissions,
this->Configurations,
- this->Component.c_str());
+ this->Component.c_str(),
+ no_rename, literal_args.c_str());
// Fix the install_name settings in installed binaries.
if(type == cmTarget::SHARED_LIBRARY ||