summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallTargetGenerator.cxx
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2014-07-09 18:01:11 (GMT)
committerBrad King <brad.king@kitware.com>2014-07-10 16:54:10 (GMT)
commita3ac67cc3f8d9b4df9c93f65db28c494c8883811 (patch)
tree36cbff47c02531ea7c514d0abcac6e955626fca7 /Source/cmInstallTargetGenerator.cxx
parent55d6aa36a522f2dd7849ccd53d9e743a88f8c7a1 (diff)
downloadCMake-a3ac67cc3f8d9b4df9c93f65db28c494c8883811.zip
CMake-a3ac67cc3f8d9b4df9c93f65db28c494c8883811.tar.gz
CMake-a3ac67cc3f8d9b4df9c93f65db28c494c8883811.tar.bz2
OS X: Install CFBundles as complete directories
Install CFBundles as directories just like frameworks and application bundles.
Diffstat (limited to 'Source/cmInstallTargetGenerator.cxx')
-rw-r--r--Source/cmInstallTargetGenerator.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index 7a39f45..38d369e 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -213,6 +213,20 @@ void cmInstallTargetGenerator::GenerateScriptForConfig(std::ostream& os,
filesFrom.push_back(from1);
filesTo.push_back(to1);
}
+ else if(this->Target->IsCFBundleOnApple())
+ {
+ // Install the whole app bundle directory.
+ type = cmInstallType_DIRECTORY;
+ literal_args += " USE_SOURCE_PERMISSIONS";
+
+ std::string targetNameBase = targetName.substr(0, targetName.find('/'));
+
+ std::string from1 = fromDirConfig + targetNameBase;
+ std::string to1 = toDir + targetName;
+
+ filesFrom.push_back(from1);
+ filesTo.push_back(to1);
+ }
else
{
bool haveNamelink = false;