| 2014 | } |
| 2015 | |
| 2016 | void 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 | |
| 2064 | static std::pair<std::unique_ptr<cmExternalMakefileProjectGenerator>, |
| 2065 | std::string> |
no test coverage detected