Răsfoiți Sursa

BUG: change in handling of cmake_minimum_required

Ken Martin 17 ani în urmă
părinte
comite
5588ed47fc
3 a modificat fișierele cu 15 adăugiri și 9 ștergeri
  1. 13 2
      Source/cmConfigureFileCommand.cxx
  2. 1 6
      Source/cmListFileCache.cxx
  3. 1 1
      Source/cmPolicies.cxx

+ 13 - 2
Source/cmConfigureFileCommand.cxx

@@ -47,10 +47,21 @@ bool cmConfigureFileCommand
   const char* versionValue
     = this->Makefile->GetDefinition("CMAKE_BACKWARDS_COMPATIBILITY");
   if (versionValue && atof(versionValue) > 2.0)
-    {
+  {
     this->Immediate = true;
-    }
+  }
 
+  switch (this->Makefile->GetPolicyStatus(cmPolicies::CMP_0003))
+  {
+    case cmPolicies::WARN:
+    case cmPolicies::OLD:
+      break;
+    case cmPolicies::NEW:
+    case cmPolicies::REQUIRED_IF_USED:
+    case cmPolicies::REQUIRED_ALWAYS:
+      this->Immediate = true;
+  }
+    
   
   this->AtOnly = false;
   for(unsigned int i=2;i < args.size();++i)

+ 1 - 6
Source/cmListFileCache.cxx

@@ -134,11 +134,6 @@ bool cmListFile::ParseFile(const char* filename,
         hasPolicy = true;
         break;
       }
-      if (cmSystemTools::LowerCase(i->Name) == "cmake_minimum_required")
-      {
-        hasPolicy = true;
-        break;
-      }
     }
     // if no policy command is found this is an error
     if(!hasPolicy)
@@ -148,7 +143,7 @@ bool cmListFile::ParseFile(const char* filename,
           GetCacheValue("CMAKE_BACKWARDS_COMPATIBILITY"))
       {
         mf->AddCacheDefinition
-          ("CMAKE_BACKWARDS_COMPATIBILITY", "2.6",
+          ("CMAKE_BACKWARDS_COMPATIBILITY", "2.4",
            "For backwards compatibility, what version of CMake commands and "
            "syntax should this version of CMake try to support.",
            cmCacheManager::STRING);

+ 1 - 1
Source/cmPolicies.cxx

@@ -120,7 +120,7 @@ cmPolicies::cmPolicies()
     "In CMake 2.2 and later the default behavior is that it will "
     "configure the file right when the command is invoked."
     ,
-    2,2,0, cmPolicies::NEW);
+    2,6,0, cmPolicies::NEW);
 //  this->PolicyStringMap["CMP_CONFIGURE_FILE_IMMEDIATE"] = CMP_0003;
 
   }