Remove barely-used cmMakefile::AddCacheDefinition

The boolean overload of this method was used only to implement option().
We re-implement option() in terms of the main method and removes the
now-unused signature.  This removes some duplicate code that had already
fallen behind on changes (it was not removing the local definition
instead of setting it).
This commit is contained in:
Brad King 2009-09-10 16:59:36 -04:00
parent 6097c04c4d
commit afbe088309
3 changed files with 2 additions and 23 deletions

View File

@ -1720,23 +1720,6 @@ void cmMakefile::AddDefinition(const char* name, bool value)
#endif #endif
} }
void cmMakefile::AddCacheDefinition(const char* name,
bool value,
const char* doc)
{
bool val = value;
cmCacheManager::CacheIterator it =
this->GetCacheManager()->GetCacheIterator(name);
if(!it.IsAtEnd() && (it.GetType() == cmCacheManager::UNINITIALIZED) &&
it.Initialized())
{
val = it.GetValueAsBool();
}
this->GetCacheManager()->AddCacheEntry(name, val, doc);
this->AddDefinition(name, val);
}
void cmMakefile::RemoveDefinition(const char* name) void cmMakefile::RemoveDefinition(const char* name)
{ {
this->Internal->VarStack.top().Set(name, 0); this->Internal->VarStack.top().Set(name, 0);

View File

@ -294,8 +294,6 @@ public:
* Add bool variable definition to the build. * Add bool variable definition to the build.
*/ */
void AddDefinition(const char* name, bool); void AddDefinition(const char* name, bool);
///! Add a definition to this makefile and the global cmake cache.
void AddCacheDefinition(const char* name, bool, const char* doc);
/** /**
* Remove a variable definition from the build. This is not valid * Remove a variable definition from the build. This is not valid

View File

@ -69,9 +69,7 @@ bool cmOptionCommand
{ {
initialValue = args[2]; initialValue = args[2];
} }
this->Makefile->AddCacheDefinition(args[0].c_str(), this->Makefile->AddCacheDefinition(args[0].c_str(), initialValue.c_str(),
cmSystemTools::IsOn(initialValue.c_str()), args[1].c_str(), cmCacheManager::BOOL);
args[1].c_str());
return true; return true;
} }