mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-01 11:50:11 -05:00
Refactor extra generator registration to use factories
This will allow additional information about the availability and capabilities of extra generators to be queried without actually creating them. Instead of a static NewFactory() method like the main generator factories have, use a static GetFactory() method to get a pointer to a statically allocated extra generator factory. This simplifies memory management.
This commit is contained in:
@@ -27,24 +27,30 @@
|
||||
#include <cmsys/SystemInformation.hxx>
|
||||
#include <cmsys/SystemTools.hxx>
|
||||
|
||||
void cmExtraCodeLiteGenerator::GetDocumentation(cmDocumentationEntry& entry,
|
||||
const std::string&) const
|
||||
{
|
||||
entry.Name = this->GetName();
|
||||
entry.Brief = "Generates CodeLite project files.";
|
||||
}
|
||||
|
||||
cmExtraCodeLiteGenerator::cmExtraCodeLiteGenerator()
|
||||
: cmExternalMakefileProjectGenerator()
|
||||
, ConfigName("NoConfig")
|
||||
, CpuCount(2)
|
||||
{
|
||||
}
|
||||
|
||||
cmExternalMakefileProjectGeneratorFactory*
|
||||
cmExtraCodeLiteGenerator::GetFactory()
|
||||
{
|
||||
static cmExternalMakefileProjectGeneratorSimpleFactory<
|
||||
cmExtraCodeLiteGenerator>
|
||||
factory("CodeLite", "Generates CodeLite project files.");
|
||||
|
||||
if (factory.GetSupportedGlobalGenerators().empty()) {
|
||||
#if defined(_WIN32)
|
||||
this->SupportedGlobalGenerators.push_back("MinGW Makefiles");
|
||||
this->SupportedGlobalGenerators.push_back("NMake Makefiles");
|
||||
factory.AddSupportedGlobalGenerator("MinGW Makefiles");
|
||||
factory.AddSupportedGlobalGenerator("NMake Makefiles");
|
||||
#endif
|
||||
this->SupportedGlobalGenerators.push_back("Ninja");
|
||||
this->SupportedGlobalGenerators.push_back("Unix Makefiles");
|
||||
factory.AddSupportedGlobalGenerator("Ninja");
|
||||
factory.AddSupportedGlobalGenerator("Unix Makefiles");
|
||||
}
|
||||
|
||||
return &factory;
|
||||
}
|
||||
|
||||
void cmExtraCodeLiteGenerator::Generate()
|
||||
|
||||
Reference in New Issue
Block a user