summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileGenerator.h
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2001-09-06 21:28:24 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2001-09-06 21:28:24 (GMT)
commitd204791e45b245fd0a10b2b31ab6ace9a8c3cf65 (patch)
tree183547168a76c000f332f7bad6b77a43f309a09d /Source/cmMakefileGenerator.h
parentecd4acfb01035d227f68c29ce0f65b2193bbd410 (diff)
downloadCMake-d204791e45b245fd0a10b2b31ab6ace9a8c3cf65.zip
CMake-d204791e45b245fd0a10b2b31ab6ace9a8c3cf65.tar.gz
CMake-d204791e45b245fd0a10b2b31ab6ace9a8c3cf65.tar.bz2
ENH: integrate borland support
Diffstat (limited to 'Source/cmMakefileGenerator.h')
-rw-r--r--Source/cmMakefileGenerator.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/Source/cmMakefileGenerator.h b/Source/cmMakefileGenerator.h
index 688d31f..e2da856 100644
--- a/Source/cmMakefileGenerator.h
+++ b/Source/cmMakefileGenerator.h
@@ -55,9 +55,20 @@ class cmClassFile;
class cmMakefileGenerator
{
public:
- /**
- * Set the cmMakefile instance from which to generate the makefile.
- */
+ ///! Create a named generator
+ static cmMakefileGenerator* CreateGenerator(const char* name);
+ ///! Register a generator
+ static void RegisterGenerator(cmMakefileGenerator*);
+ ///! Get the names of the current registered generators
+ static void GetRegisteredGenerators(std::vector<std::string>& names);
+
+ ///! Get the name for the generator.
+ virtual const char* GetName() = 0;
+
+ ///! virtual copy constructor
+ virtual cmMakefileGenerator* CreateObject() = 0;
+
+ ///! Set the cmMakefile instance from which to generate the makefile.
void SetMakefile(cmMakefile*);
/**
@@ -84,6 +95,7 @@ public:
virtual ~cmMakefileGenerator(){};
protected:
+ static std::map<cmStdString, cmMakefileGenerator*> s_RegisteredGenerators;
cmMakefile* m_Makefile;
};