MCPcopy Create free account
hub / github.com/Kitware/CMake / GetRegisteredGenerators

Method GetRegisteredGenerators

Source/cmake.cxx:2016–2062  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2014}
2015
2016void cmake::GetRegisteredGenerators(
2017 std::vector<GeneratorInfo>& generators) const
2018{
2019 for (auto const& gen : this->Generators) {
2020 std::vector<std::string> names = gen->GetGeneratorNames();
2021
2022 for (std::string const& name : names) {
2023 GeneratorInfo info;
2024 info.supportsToolset = gen->SupportsToolset();
2025 info.supportsPlatform = gen->SupportsPlatform();
2026 info.supportedPlatforms = gen->GetKnownPlatforms();
2027 info.defaultPlatform = gen->GetDefaultPlatformName();
2028 info.name = name;
2029 info.baseName = name;
2030 info.isAlias = false;
2031 generators.push_back(std::move(info));
2032 }
2033 }
2034
2035 for (cmExternalMakefileProjectGeneratorFactory* eg : this->ExtraGenerators) {
2036 std::vector<std::string> const genList =
2037 eg->GetSupportedGlobalGenerators();
2038 for (std::string const& gen : genList) {
2039 GeneratorInfo info;
2040 info.name = cmExternalMakefileProjectGenerator::CreateFullGeneratorName(
2041 gen, eg->GetName());
2042 info.baseName = gen;
2043 info.extraName = eg->GetName();
2044 info.supportsPlatform = false;
2045 info.supportsToolset = false;
2046 info.isAlias = false;
2047 generators.push_back(std::move(info));
2048 }
2049 for (std::string const& a : eg->Aliases) {
2050 GeneratorInfo info;
2051 info.name = a;
2052 if (!genList.empty()) {
2053 info.baseName = genList.at(0);
2054 }
2055 info.extraName = eg->GetName();
2056 info.supportsPlatform = false;
2057 info.supportsToolset = false;
2058 info.isAlias = true;
2059 generators.push_back(std::move(info));
2060 }
2061 }
2062}
2063
2064static std::pair<std::unique_ptr<cmExternalMakefileProjectGenerator>,
2065 std::string>

Callers 3

PrintPresetListMethod · 0.95
QCMakeMethod · 0.80

Calls 11

moveFunction · 0.85
push_backMethod · 0.80
GetGeneratorNamesMethod · 0.45
SupportsToolsetMethod · 0.45
SupportsPlatformMethod · 0.45
GetKnownPlatformsMethod · 0.45
GetNameMethod · 0.45
emptyMethod · 0.45
atMethod · 0.45

Tested by

no test coverage detected