BUG: don't report changed compiler variables if the path to the compiler
differs only e.g. a double slash somewhere instead only one slash as directory separator (#8890) Alex
This commit is contained in:
parent
f114e68f7a
commit
2ab4e7df81
|
@ -95,20 +95,28 @@ void cmGlobalUnixMakefileGenerator3
|
|||
std::string changeVars;
|
||||
if(cname && (path != cname) && (optional==false))
|
||||
{
|
||||
const char* cvars =
|
||||
this->GetCMakeInstance()->GetProperty(
|
||||
"__CMAKE_DELETE_CACHE_CHANGE_VARS_");
|
||||
if(cvars)
|
||||
std::string cnameString = cname;
|
||||
std::string pathString = path;
|
||||
// get rid of potentially multiple slashes:
|
||||
cmSystemTools::ConvertToUnixSlashes(cnameString);
|
||||
cmSystemTools::ConvertToUnixSlashes(pathString);
|
||||
if (cnameString != pathString)
|
||||
{
|
||||
changeVars += cvars;
|
||||
const char* cvars =
|
||||
this->GetCMakeInstance()->GetProperty(
|
||||
"__CMAKE_DELETE_CACHE_CHANGE_VARS_");
|
||||
if(cvars)
|
||||
{
|
||||
changeVars += cvars;
|
||||
changeVars += ";";
|
||||
}
|
||||
changeVars += langComp;
|
||||
changeVars += ";";
|
||||
changeVars += cname;
|
||||
this->GetCMakeInstance()->SetProperty(
|
||||
"__CMAKE_DELETE_CACHE_CHANGE_VARS_",
|
||||
changeVars.c_str());
|
||||
}
|
||||
changeVars += langComp;
|
||||
changeVars += ";";
|
||||
changeVars += cname;
|
||||
this->GetCMakeInstance()->SetProperty(
|
||||
"__CMAKE_DELETE_CACHE_CHANGE_VARS_",
|
||||
changeVars.c_str());
|
||||
}
|
||||
mf->AddCacheDefinition(langComp.c_str(), path.c_str(),
|
||||
doc.c_str(), cmCacheManager::FILEPATH);
|
||||
|
|
Loading…
Reference in New Issue