ENH: big change, only allow commands access to the cache via the cmMakefile class and GetDefinition, also the cmMakefile is the only way for commands to add to the cache. Also, some changes to configure.in that check for for scoping

This commit is contained in:
Bill Hoffman
2001-08-08 11:54:46 -04:00
parent 61ec323b6a
commit db1303aa7d
34 changed files with 284 additions and 215 deletions
+10 -11
View File
@@ -59,10 +59,9 @@ bool cmFindProgramCommand::InitialPass(std::vector<std::string>& args)
// Now check and see if the value has been stored in the cache
// already, if so use that value and don't look for the program
const char* cacheValue
= cmCacheManager::GetInstance()->GetCacheValue(define);
= m_Makefile->GetDefinition(define);
if(cacheValue && strcmp(cacheValue, "NOTFOUND"))
{
m_Makefile->AddDefinition(define, cacheValue);
return true;
}
std::vector<std::string> path;
@@ -120,18 +119,18 @@ bool cmFindProgramCommand::InitialPass(std::vector<std::string>& args)
if(result != "")
{
// Save the value in the cache
cmCacheManager::GetInstance()->AddCacheEntry(define,
result.c_str(),
"Path to a program.",
cmCacheManager::FILEPATH);
m_Makefile->AddDefinition(define, result.c_str());
m_Makefile->AddCacheDefinition(define,
result.c_str(),
"Path to a program.",
cmCacheManager::FILEPATH);
return true;
}
}
cmCacheManager::GetInstance()->AddCacheEntry(args[0].c_str(),
"NOTFOUND",
"Path to a program",
cmCacheManager::FILEPATH);
m_Makefile->AddCacheDefinition(args[0].c_str(),
"NOTFOUND",
"Path to a program",
cmCacheManager::FILEPATH);
return true;
}