summaryrefslogtreecommitdiffstats
path: root/Source/cmake.h
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2002-08-28 18:51:10 (GMT)
committerKen Martin <ken.martin@kitware.com>2002-08-28 18:51:10 (GMT)
commitd0be2896d7191e56818aaac48f7177b9d92a9693 (patch)
tree42c3a9c07f1ccd9fe8683051c921463e9d639dc7 /Source/cmake.h
parent4855fe5c10841fd3641b7405522de3278732987f (diff)
downloadCMake-d0be2896d7191e56818aaac48f7177b9d92a9693.zip
CMake-d0be2896d7191e56818aaac48f7177b9d92a9693.tar.gz
CMake-d0be2896d7191e56818aaac48f7177b9d92a9693.tar.bz2
changed cache manager and registered generators to no longer be singletons
Diffstat (limited to 'Source/cmake.h')
-rw-r--r--Source/cmake.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/Source/cmake.h b/Source/cmake.h
index 9213759..9063794 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -14,7 +14,9 @@
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
-
+// This class represents a cmake invocation. It is the top level class when
+// running cmake. Most cmake based GUIS should primarily create an instance
+// of this class and communicate with it.
#include "cmMakefile.h"
#include "cmStandardIncludes.h"
@@ -62,6 +64,21 @@ class cmake
*/
cmake();
~cmake();
+
+ ///! Create a named generator
+ cmMakefileGenerator* CreateGenerator(const char* name);
+ ///! Register a generator
+ void RegisterGenerator(cmMakefileGenerator*);
+ ///! Get the names of the current registered generators
+ void GetRegisteredGenerators(std::vector<std::string>& names);
+
+ ///! get the cmCachemManager used by this invocation of cmake
+ cmCacheManager *GetCacheManager() {
+ return &m_CacheManager; }
+
+protected:
+ std::map<cmStdString, cmMakefileGenerator*> m_RegisteredGenerators;
+ cmCacheManager m_CacheManager;
private:
bool m_Verbose;
bool m_Local;