Explorar o código

Run the unused variables check on the final pass

Ben Boeckel %!s(int64=15) %!d(string=hai) anos
pai
achega
d784e6af4d
Modificáronse 3 ficheiros con 23 adicións e 15 borrados
  1. 2 0
      Source/cmMakefile.cxx
  2. 19 15
      Source/cmake.cxx
  3. 2 0
      Source/cmake.h

+ 2 - 0
Source/cmMakefile.cxx

@@ -828,6 +828,8 @@ void cmMakefile::ConfigureFinalPass()
     {
     l->second.FinishConfigure();
     }
+
+  this->GetCMakeInstance()->RunCheckForUnusedVariables();
 }
 
 //----------------------------------------------------------------------------

+ 19 - 15
Source/cmake.cxx

@@ -201,21 +201,6 @@ cmake::cmake()
 
 cmake::~cmake()
 {
-#ifdef CMAKE_BUILD_WITH_CMAKE
-  if(this->WarnUnusedCli)
-    {
-    std::map<std::string, bool>::const_iterator it;
-    for(it = this->UsedCliVariables.begin(); it != this->UsedCliVariables.end(); ++it)
-      {
-      if(!it->second)
-        {
-        std::string message = "warning: The variable, \"" + it->first + "\", given "
-          "on the command line, was not used within the build.";
-        cmSystemTools::Message(message.c_str());
-        }
-      }
-    }
-#endif
   delete this->CacheManager;
   delete this->Policies;
   if (this->GlobalGenerator)
@@ -4500,3 +4485,22 @@ int cmake::Build(const std::string& dir,
                     config.c_str(), clean, false, 0, true,
                     0, nativeOptions);
 }
+
+void cmake::RunCheckForUnusedVariables() const
+{
+#ifdef CMAKE_BUILD_WITH_CMAKE
+    if(this->WarnUnusedCli)
+      {
+      std::map<std::string, bool>::const_iterator it;
+      for(it = this->UsedCliVariables.begin(); it != this->UsedCliVariables.end(); ++it)
+        {
+        if(!it->second)
+          {
+          std::string message = "warning: The variable, \"" + it->first + "\", given "
+            "on the command line, was not used within the build.";
+          cmSystemTools::Message(message.c_str());
+          }
+        }
+      }
+#endif
+}

+ 2 - 0
Source/cmake.h

@@ -362,6 +362,8 @@ class cmake
             const std::string& config,
             const std::vector<std::string>& nativeOptions,
             bool clean);
+
+  void RunCheckForUnusedVariables() const;
 protected:
   void InitializeProperties();
   int HandleDeleteCacheVariables(const char* var);