[cmake-developers] [patch] install cfbundles as directory

Tim Blechmann tim at klingt.org
Wed Jul 9 09:40:54 EDT 2014


cfbundles are currently not installed as directory, but the binary from
Contents/MacOS is directly installed to the destination.

attached patch fixes the issue.

thanks,
tim
-------------- next part --------------
>From b021da36ec9c72cc6410a95ce81a177a87f6f232 Mon Sep 17 00:00:00 2001
From: Tim Blechmann <tim at klingt.org>
Date: Wed, 9 Jul 2014 15:33:25 +0200
Subject: [PATCH] InstallTarget: install CFBundles with complete directory

---
 Source/cmInstallTargetGenerator.cxx | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index 7a39f45..93c0d63 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_first_of("/"));
+
+      std::string from1 = fromDirConfig + targetNameBase;
+      std::string to1 = toDir + targetNameBase;
+
+      filesFrom.push_back(from1);
+      filesTo.push_back(to1);
+      }
     else
       {
       bool haveNamelink = false;
-- 
2.0.1



More information about the cmake-developers mailing list