Commit 7c011676 authored by Brad King's avatar Brad King
Browse files

BUG: Require policy version to specify at least major.minor. Do not store...

BUG: Require policy version to specify at least major.minor.  Do not store CMAKE_BACKWARDS_COMPATIBILITY with an invalid version value.
parent 95512a4c
......@@ -177,8 +177,11 @@ bool cmPolicies::ApplyPolicyVersion(cmMakefile *mf,
unsigned int patchVer = 0;
// parse the string
sscanf(ver.c_str(), "%u.%u.%u",
&majorVer, &minorVer, &patchVer);
if(sscanf(ver.c_str(), "%u.%u.%u",
&majorVer, &minorVer, &patchVer) < 2)
{
return false;
}
// add in the old CMAKE_BACKWARDS_COMPATIBILITY var for old CMake compatibility
if ((majorVer == 2 && minorVer <= 4) || majorVer < 2)
......@@ -186,8 +189,10 @@ bool cmPolicies::ApplyPolicyVersion(cmMakefile *mf,
if (!mf->GetCacheManager()->
GetCacheValue("CMAKE_BACKWARDS_COMPATIBILITY"))
{
cmOStringStream v;
v << majorVer << "." << minorVer << "." << patchVer;
mf->AddCacheDefinition
("CMAKE_BACKWARDS_COMPATIBILITY",version,
("CMAKE_BACKWARDS_COMPATIBILITY", v.str().c_str(),
"For backwards compatibility, what version of CMake commands and "
"syntax should this version of CMake try to support.",
cmCacheManager::STRING);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment