summaryrefslogtreecommitdiff
path: root/Source/cmNinjaTargetGenerator.h
diff options
context:
space:
mode:
authorNicolas Despres <nicolas.despres@gmail.com>2012-07-16 17:34:22 +0200
committerPeter Kümmel <syntheticpp@gmx.net>2012-07-17 14:03:10 +0200
commit5d885db416a4cec236ba6422868dc3db3d766bc4 (patch)
treed7d30b2df4e3c706c7598407b96c0abbdcba36ee /Source/cmNinjaTargetGenerator.h
parent3b2a01e80ef0faf626afd4c5031395c00e1c9ecd (diff)
downloadcmake-5d885db416a4cec236ba6422868dc3db3d766bc4.tar.gz
Re-factor bundle content copying rules generation.
Diffstat (limited to 'Source/cmNinjaTargetGenerator.h')
-rw-r--r--Source/cmNinjaTargetGenerator.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/Source/cmNinjaTargetGenerator.h b/Source/cmNinjaTargetGenerator.h
index 49168c4f33..0a3329f8d5 100644
--- a/Source/cmNinjaTargetGenerator.h
+++ b/Source/cmNinjaTargetGenerator.h
@@ -16,6 +16,7 @@
#include "cmStandardIncludes.h"
#include "cmNinjaTypes.h"
#include "cmLocalNinjaGenerator.h"
+#include "cmOSXBundleGenerator.h"
class cmTarget;
class cmGlobalNinjaGenerator;
@@ -24,7 +25,6 @@ class cmGeneratorTarget;
class cmMakefile;
class cmSourceFile;
class cmCustomCommand;
-class cmOSXBundleGenerator;
class cmNinjaTargetGenerator
{
@@ -115,12 +115,21 @@ protected:
void EnsureDirectoryExists(const std::string& dir);
void EnsureParentDirectoryExists(const std::string& path);
- void WriteMacOSXContentBuildStatements(
- std::vector<cmSourceFile*> const& sources);
- void WriteMacOSXContentBuildStatement(cmSourceFile& source,
- const char* pkgloc);
+ // write rules for Mac OS X Application Bundle content.
+ class MacOSXContentGeneratorType
+ : public cmOSXBundleGenerator::MacOSXContentGeneratorType
+ {
+ public:
+ MacOSXContentGeneratorType(cmNinjaTargetGenerator* Generator);
+ virtual void operator()(cmSourceFile& source, const char* pkgloc);
+
+ private:
+ cmNinjaTargetGenerator* Generator;
+ };
+ friend class MacOSXContentGeneratorType;
protected:
+ MacOSXContentGeneratorType MacOSXContentGenerator;
// Properly initialized by sub-classes.
cmOSXBundleGenerator* OSXBundleGenerator;
std::set<cmStdString> MacContentFolders;