diff --git a/Source/cmCMakeMinimumRequired.cxx b/Source/cmCMakeMinimumRequired.cxx index 9a1417f9c..f20c06b1a 100644 --- a/Source/cmCMakeMinimumRequired.cxx +++ b/Source/cmCMakeMinimumRequired.cxx @@ -121,6 +121,9 @@ bool cmCMakeMinimumRequired } } + // set the policy version as well + this->Makefile->SetPolicyVersion(version_string.c_str()); + return true; } diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 1f5da4789..b7e07e1c1 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -184,7 +184,21 @@ bool cmPolicies::ApplyPolicyVersion(cmMakefile *mf, { patchVer = atoi(patch.c_str()); } - + + // add in the old CMAKE_BACKWARDS_COMPATIBILITY var for old CMake compatibility + if ((majorVer == 2 && minorVer <= 4) || majorVer < 2) + { + if (!mf->GetCacheManager()->GetCacheValue("CMAKE_BACKWARDS_COMPATIBILITY")) + { + mf->AddCacheDefinition + ("CMAKE_BACKWARDS_COMPATIBILITY",version, + "For backwards compatibility, what version of CMake commands and " + "syntax should this version of CMake try to support.", + cmCacheManager::STRING); + } + } + + // now loop over all the policies and set them as appropriate std::map::iterator i = this->Policies.begin(); diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 9950d2086..31693d25f 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -1899,19 +1899,6 @@ int cmake::ActualConfigure() cmCacheManager::INTERNAL); } - // set the default BACKWARDS compatibility to the current version - if(!this->CacheManager->GetCacheValue("CMAKE_BACKWARDS_COMPATIBILITY")) - { - char ver[256]; - sprintf(ver,"%i.%i",cmVersion::GetMajorVersion(), - cmVersion::GetMinorVersion()); - this->CacheManager->AddCacheEntry - ("CMAKE_BACKWARDS_COMPATIBILITY",ver, - "For backwards compatibility, what version of CMake commands and " - "syntax should this version of CMake allow.", - cmCacheManager::STRING); - } - // no generator specified on the command line if(!this->GlobalGenerator) { @@ -2393,19 +2380,6 @@ int cmake::LoadCache() return -3; } - // set the default BACKWARDS compatibility to the current version - if(!this->CacheManager->GetCacheValue("CMAKE_BACKWARDS_COMPATIBILITY")) - { - char ver[256]; - sprintf(ver,"%i.%i",cmVersion::GetMajorVersion(), - cmVersion::GetMinorVersion()); - this->CacheManager->AddCacheEntry - ("CMAKE_BACKWARDS_COMPATIBILITY",ver, - "For backwards compatibility, what version of CMake commands and " - "syntax should this version of CMake allow.", - cmCacheManager::STRING); - } - return 0; }