summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2014-07-09 20:01:11 +0200
committerBrad King <brad.king@kitware.com>2014-07-10 12:54:10 -0400
commita3ac67cc3f8d9b4df9c93f65db28c494c8883811 (patch)
tree36cbff47c02531ea7c514d0abcac6e955626fca7
parent55d6aa36a522f2dd7849ccd53d9e743a88f8c7a1 (diff)
downloadcmake-a3ac67cc3f8d9b4df9c93f65db28c494c8883811.tar.gz
OS X: Install CFBundles as complete directories
Install CFBundles as directories just like frameworks and application bundles.
-rw-r--r--Source/cmInstallTargetGenerator.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index 7a39f457d1..38d369ea80 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;