Report more information about extra generators in generator factories

This commit is contained in:
Tobias Hunger 2016-07-21 13:24:11 +02:00 committed by Brad King
parent a354f60ce0
commit cd52a225d2
2 changed files with 9 additions and 0 deletions

View File

@ -824,6 +824,7 @@ void cmake::GetRegisteredGenerators(std::vector<GeneratorInfo>& generators)
info.supportsToolset = (*i)->SupportsToolset();
info.supportsPlatform = (*i)->SupportsPlatform();
info.name = names[j];
info.baseName = names[j];
info.isAlias = false;
generators.push_back(info);
}
@ -840,6 +841,8 @@ void cmake::GetRegisteredGenerators(std::vector<GeneratorInfo>& generators)
GeneratorInfo info;
info.name = cmExternalMakefileProjectGenerator::CreateFullGeneratorName(
(*i)->GetName(), *gen);
info.baseName = *gen;
info.extraName = (*i)->GetName();
info.supportsPlatform = false;
info.supportsToolset = false;
info.isAlias = false;
@ -849,6 +852,10 @@ void cmake::GetRegisteredGenerators(std::vector<GeneratorInfo>& generators)
a != (*i)->Aliases.end(); ++a) {
GeneratorInfo info;
info.name = *a;
if (!genList.empty()) {
info.baseName = genList.at(0);
}
info.extraName = (*i)->GetName();
info.supportsPlatform = false;
info.supportsToolset = false;
info.isAlias = true;

View File

@ -103,6 +103,8 @@ public:
struct GeneratorInfo
{
std::string name;
std::string baseName;
std::string extraName;
bool supportsToolset;
bool supportsPlatform;
bool isAlias;