瀏覽代碼

QtAutogen: Move initialization condition to caller.

Stephen Kelly 10 年之前
父節點
當前提交
8b6ec29d40
共有 3 個文件被更改,包括 18 次插入20 次删除
  1. 16 6
      Source/cmGlobalGenerator.cxx
  2. 1 13
      Source/cmQtAutoGenerators.cxx
  3. 1 1
      Source/cmQtAutoGenerators.h

+ 16 - 6
Source/cmGlobalGenerator.cxx

@@ -1436,6 +1436,18 @@ void cmGlobalGenerator::CreateQtAutoGeneratorsTargets(AutogensType &autogens)
         {
         continue;
         }
+      // don't do anything if there is no Qt4 or Qt5Core (which contains moc):
+      cmMakefile* mf = ti->second.GetMakefile();
+      std::string qtMajorVersion = mf->GetSafeDefinition("QT_VERSION_MAJOR");
+      if (qtMajorVersion == "")
+        {
+        qtMajorVersion = mf->GetSafeDefinition("Qt5Core_VERSION_MAJOR");
+        }
+      if (qtMajorVersion != "4" && qtMajorVersion != "5")
+        {
+        continue;
+        }
+
       targetNames.push_back(ti->second.GetName());
       }
     for(std::vector<std::string>::iterator ti = targetNames.begin();
@@ -1444,12 +1456,10 @@ void cmGlobalGenerator::CreateQtAutoGeneratorsTargets(AutogensType &autogens)
       cmTarget& target = *this->LocalGenerators[i]
                               ->GetMakefile()->FindTarget(*ti, true);
 
-      if(cmQtAutoGenerators::InitializeAutogenTarget(
-           this->LocalGenerators[i], &target))
-        {
-        cmQtAutoGenerators autogen;
-        autogens.push_back(std::make_pair(autogen, &target));
-        }
+      cmQtAutoGenerators::InitializeAutogenTarget(
+           this->LocalGenerators[i], &target);
+      cmQtAutoGenerators autogen;
+      autogens.push_back(std::make_pair(autogen, &target));
       }
     }
 #else

+ 1 - 13
Source/cmQtAutoGenerators.cxx

@@ -286,20 +286,10 @@ std::string cmQtAutoGenerators::ListQt4RccInputs(cmSourceFile* sf,
   return entriesList;
 }
 
-bool cmQtAutoGenerators::InitializeAutogenTarget(cmLocalGenerator* lg,
+void cmQtAutoGenerators::InitializeAutogenTarget(cmLocalGenerator* lg,
                                                  cmTarget* target)
 {
   cmMakefile* makefile = target->GetMakefile();
-  // don't do anything if there is no Qt4 or Qt5Core (which contains moc):
-  std::string qtMajorVersion = makefile->GetSafeDefinition("QT_VERSION_MAJOR");
-  if (qtMajorVersion == "")
-    {
-    qtMajorVersion = makefile->GetSafeDefinition("Qt5Core_VERSION_MAJOR");
-    }
-  if (qtMajorVersion != "4" && qtMajorVersion != "5")
-    {
-    return false;
-    }
 
   if (target->GetPropertyAsBool("AUTOMOC"))
     {
@@ -499,8 +489,6 @@ bool cmQtAutoGenerators::InitializeAutogenTarget(cmLocalGenerator* lg,
 
     target->AddUtility(autogenTargetName);
     }
-
-  return true;
 }
 
 static void GetCompileDefinitionsAndDirectories(cmTarget const* target,

+ 1 - 1
Source/cmQtAutoGenerators.h

@@ -31,7 +31,7 @@ public:
   cmQtAutoGenerators();
   bool Run(const std::string& targetDirectory, const std::string& config);
 
-  static bool InitializeAutogenTarget(cmLocalGenerator* lg, cmTarget* target);
+  static void InitializeAutogenTarget(cmLocalGenerator* lg, cmTarget* target);
   static void SetupAutoGenerateTarget(cmTarget const* target);
 
 private: