ENH: Apply new implicit link directory find_library policy when loading a cache from an earlier CMake.

This commit is contained in:
Brad King 2008-01-24 07:37:15 -05:00
parent 7213408287
commit 3a462fa673
1 changed files with 20 additions and 0 deletions

View File

@ -86,6 +86,26 @@ bool cmFindLibraryCommand
this->VariableDocumentation.c_str(),
cmCacheManager::FILEPATH);
}
// If the existing value was loaded from a cache written by CMake
// 2.4 or below then force the implicit link directory fix on the
// value.
if(this->Makefile->NeedCacheCompatibility(2, 4))
{
if(const char* v =
this->Makefile->GetDefinition(this->VariableName.c_str()))
{
std::string nv = this->FixForImplicitLocations(v);
if(nv != v)
{
this->Makefile
->AddCacheDefinition(this->VariableName.c_str(),
nv.c_str(),
this->VariableDocumentation.c_str(),
cmCacheManager::FILEPATH);
}
}
}
return true;
}