diff options
author | Patrick Gansterer <paroga@paroga.com> | 2012-11-19 15:13:54 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2012-11-19 17:54:35 (GMT) |
commit | 04ff866ca8a0c5f4f8712d6cfafcd192ed4cbe58 (patch) | |
tree | 690d285ba132f07a4189cf68564f962aae7cd158 /Source/cmGlobalGeneratorFactory.h | |
parent | 984ebc3350f72cb005999f7b796803f83be15304 (diff) | |
download | CMake-04ff866ca8a0c5f4f8712d6cfafcd192ed4cbe58.zip CMake-04ff866ca8a0c5f4f8712d6cfafcd192ed4cbe58.tar.gz CMake-04ff866ca8a0c5f4f8712d6cfafcd192ed4cbe58.tar.bz2 |
Allow a GeneratorFactory handling of more than one generator
Pass the name of the requested generator to the generator factory,
which is now responsible to check if it can create a matching
generator for the name. This allows us to add more logic to the
factory in a next step, so that not every possible generator needs
to get registered explicit in cmake::AddDefaultGenerators().
Diffstat (limited to 'Source/cmGlobalGeneratorFactory.h')
-rw-r--r-- | Source/cmGlobalGeneratorFactory.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/cmGlobalGeneratorFactory.h b/Source/cmGlobalGeneratorFactory.h index 9d8f7a0..0dfb362 100644 --- a/Source/cmGlobalGeneratorFactory.h +++ b/Source/cmGlobalGeneratorFactory.h @@ -29,7 +29,7 @@ public: virtual ~cmGlobalGeneratorFactory() {} /** Create a GlobalGenerator */ - virtual cmGlobalGenerator* CreateGlobalGenerator() const = 0; + virtual cmGlobalGenerator* CreateGlobalGenerator(const char* n) const = 0; /** Get the documentation entry for this factory */ virtual void GetDocumentation(cmDocumentationEntry& entry) const = 0; @@ -43,7 +43,8 @@ class cmGlobalGeneratorSimpleFactory : public cmGlobalGeneratorFactory { public: /** Create a GlobalGenerator */ - virtual cmGlobalGenerator* CreateGlobalGenerator() const { + virtual cmGlobalGenerator* CreateGlobalGenerator(const char* name) const { + if (strcmp(name, T::GetActualName())) return 0; return new T; } /** Get the documentation entry for this factory */ |