فهرست منبع

Report more information about extra generators in generator factories

Tobias Hunger 9 سال پیش
والد
کامیت
cd52a225d2
2فایلهای تغییر یافته به همراه9 افزوده شده و 0 حذف شده
  1. 7 0
      Source/cmake.cxx
  2. 2 0
      Source/cmake.h

+ 7 - 0
Source/cmake.cxx

@@ -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;

+ 2 - 0
Source/cmake.h

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