summaryrefslogtreecommitdiff
path: root/Source/cmOSXBundleGenerator.h
diff options
context:
space:
mode:
authorNicolas Despres <nicolas.despres@gmail.com>2012-07-07 19:54:16 +0200
committerPeter Kümmel <syntheticpp@gmx.net>2012-07-17 14:03:07 +0200
commita1b803349b51a9a814cd8e309832991306ef2cf0 (patch)
tree81e3c385a33cdc834cc2930d2b7da13283b2d045 /Source/cmOSXBundleGenerator.h
parent3ba74ad9d586816f7c60cc6f527148edf982871c (diff)
downloadcmake-a1b803349b51a9a814cd8e309832991306ef2cf0.tar.gz
Re-factor OS X bundle and framework generation.
Diffstat (limited to 'Source/cmOSXBundleGenerator.h')
-rw-r--r--Source/cmOSXBundleGenerator.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/Source/cmOSXBundleGenerator.h b/Source/cmOSXBundleGenerator.h
new file mode 100644
index 0000000000..29ce7c4c75
--- /dev/null
+++ b/Source/cmOSXBundleGenerator.h
@@ -0,0 +1,52 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2012 Nicolas Despres <nicolas.despres@gmail.com>
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmOSXBundleGenerator_h
+#define cmOSXBundleGenerator_h
+
+#include "cmStandardIncludes.h"
+
+#include <string>
+#include <set>
+
+class cmTarget;
+class cmMakefile;
+class cmLocalGenerator;
+
+class cmOSXBundleGenerator
+{
+public:
+ cmOSXBundleGenerator(cmTarget* target,
+ std::string targetNameOut,
+ const char* configName);
+
+ void CreateAppBundle(std::string& targetName, std::string& outpath);
+ void CreateFramework(std::string const& targetName);
+
+ std::string GetMacContentDirectory() const
+ { return this->MacContentDirectory; }
+ std::string GetFrameworkVersion() const
+ { return this->FrameworkVersion; }
+ void SetMacContentFolders(std::set<cmStdString>* macContentFolders)
+ { this->MacContentFolders = macContentFolders; }
+
+private:
+ cmTarget* Target;
+ cmMakefile* Makefile;
+ cmLocalGenerator* LocalGenerator;
+ std::string TargetNameOut;
+ const char* ConfigName;
+ std::string MacContentDirectory;
+ std::string FrameworkVersion;
+ std::set<cmStdString>* MacContentFolders;
+};
+
+#endif