An update will be applied January 25th, between 12PM and 1:00PM EST (UTC -5:00). The site may be slow during that time.

Commit 435a2f3c authored by Stephen Kelly's avatar Stephen Kelly
Browse files

cmCacheManager: Port away from cmake instance.

parent 062ed22e
......@@ -21,11 +21,10 @@
#include <cmsys/FStream.hxx>
#include <cmsys/RegularExpression.hxx>
cmCacheManager::cmCacheManager(cmake* cm)
cmCacheManager::cmCacheManager()
{
this->CacheMajorVersion = 0;
this->CacheMinorVersion = 0;
this->CMakeInstance = cm;
}
static bool ParseEntryWithoutType(const std::string& entry,
......@@ -671,7 +670,6 @@ void cmCacheManager::AddCacheEntry(const std::string& key,
}
e.SetProperty("HELPSTRING", helpString? helpString :
"(This variable does not exist and should not be used)");
this->CMakeInstance->UnwatchUnusedCli(key);
}
bool cmCacheManager::CacheIterator::IsAtEnd() const
......
......@@ -17,7 +17,6 @@
#include "cmState.h"
class cmMarkAsAdvancedCommand;
class cmake;
/** \class cmCacheManager
* \brief Control class for cmake's cache
......@@ -28,7 +27,7 @@ class cmake;
class cmCacheManager
{
public:
cmCacheManager(cmake* cm);
cmCacheManager();
class CacheIterator;
friend class cmCacheManager::CacheIterator;
......
......@@ -252,6 +252,7 @@ void cmState::AddCacheEntry(const std::string& key, const char* value,
{
this->CMakeInstance->GetCacheManager()->AddCacheEntry(key, value,
helpString, type);
this->CMakeInstance->UnwatchUnusedCli(key);
}
void cmState::RemoveCacheEntry(std::string const& key)
......
......@@ -151,7 +151,7 @@ cmake::cmake()
#endif
this->Verbose = false;
this->CacheManager = new cmCacheManager(this);
this->CacheManager = new cmCacheManager;
this->GlobalGenerator = 0;
this->ProgressCallback = 0;
this->ProgressCallbackClientData = 0;
......@@ -1760,12 +1760,30 @@ bool cmake::LoadCache(const std::string& path, bool internal,
std::set<std::string>& excludes,
std::set<std::string>& includes)
{
return this->State->LoadCache(path, internal, excludes, includes);
bool result = this->State->LoadCache(path, internal, excludes, includes);
static const char* entries[] = {"CMAKE_CACHE_MAJOR_VERSION",
"CMAKE_CACHE_MINOR_VERSION"};
for (const char* const* nameIt = cmArrayBegin(entries);
nameIt != cmArrayEnd(entries); ++nameIt)
{
this->UnwatchUnusedCli(*nameIt);
}
return result;
}
bool cmake::SaveCache(const std::string& path)
{
return this->State->SaveCache(path);
bool result = this->State->SaveCache(path);
static const char* entries[] = {"CMAKE_CACHE_MAJOR_VERSION",
"CMAKE_CACHE_MINOR_VERSION",
"CMAKE_CACHE_PATCH_VERSION",
"CMAKE_CACHEFILE_DIR"};
for (const char* const* nameIt = cmArrayBegin(entries);
nameIt != cmArrayEnd(entries); ++nameIt)
{
this->UnwatchUnusedCli(*nameIt);
}
return result;
}
bool cmake::DeleteCache(const std::string& path)
......
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