mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-22 06:59:01 -06:00
cmState: Move CacheEntryType enum from cmCacheManager.
This commit is contained in:
@@ -22,17 +22,6 @@
|
||||
#include <cmsys/FStream.hxx>
|
||||
#include <cmsys/RegularExpression.hxx>
|
||||
|
||||
const char* cmCacheManagerTypes[] =
|
||||
{ "BOOL",
|
||||
"PATH",
|
||||
"FILEPATH",
|
||||
"STRING",
|
||||
"INTERNAL",
|
||||
"STATIC",
|
||||
"UNINITIALIZED",
|
||||
0
|
||||
};
|
||||
|
||||
cmCacheManager::cmCacheManager(cmake* cm)
|
||||
{
|
||||
this->CacheMajorVersion = 0;
|
||||
@@ -40,41 +29,6 @@ cmCacheManager::cmCacheManager(cmake* cm)
|
||||
this->CMakeInstance = cm;
|
||||
}
|
||||
|
||||
const char* cmCacheManager::TypeToString(cmCacheManager::CacheEntryType type)
|
||||
{
|
||||
if ( type > 6 )
|
||||
{
|
||||
return cmCacheManagerTypes[6];
|
||||
}
|
||||
return cmCacheManagerTypes[type];
|
||||
}
|
||||
|
||||
cmCacheManager::CacheEntryType cmCacheManager::StringToType(const char* s)
|
||||
{
|
||||
int i = 0;
|
||||
while(cmCacheManagerTypes[i])
|
||||
{
|
||||
if(strcmp(s, cmCacheManagerTypes[i]) == 0)
|
||||
{
|
||||
return static_cast<CacheEntryType>(i);
|
||||
}
|
||||
++i;
|
||||
}
|
||||
return STRING;
|
||||
}
|
||||
|
||||
bool cmCacheManager::IsType(const char* s)
|
||||
{
|
||||
for(int i=0; cmCacheManagerTypes[i]; ++i)
|
||||
{
|
||||
if(strcmp(s, cmCacheManagerTypes[i]) == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool cmCacheManager::LoadCache(const std::string& path)
|
||||
{
|
||||
std::set<std::string> emptySet;
|
||||
@@ -122,7 +76,7 @@ static bool ParseEntryWithoutType(const std::string& entry,
|
||||
bool cmCacheManager::ParseEntry(const std::string& entry,
|
||||
std::string& var,
|
||||
std::string& value,
|
||||
CacheEntryType& type)
|
||||
cmState::CacheEntryType& type)
|
||||
{
|
||||
// input line is: key:type=value
|
||||
static cmsys::RegularExpression reg(
|
||||
@@ -134,14 +88,14 @@ bool cmCacheManager::ParseEntry(const std::string& entry,
|
||||
if(regQuoted.find(entry))
|
||||
{
|
||||
var = regQuoted.match(1);
|
||||
type = cmCacheManager::StringToType(regQuoted.match(2).c_str());
|
||||
type = cmState::StringToCacheEntryType(regQuoted.match(2).c_str());
|
||||
value = regQuoted.match(3);
|
||||
flag = true;
|
||||
}
|
||||
else if (reg.find(entry))
|
||||
{
|
||||
var = reg.match(1);
|
||||
type = cmCacheManager::StringToType(reg.match(2).c_str());
|
||||
type = cmState::StringToCacheEntryType(reg.match(2).c_str());
|
||||
value = reg.match(3);
|
||||
flag = true;
|
||||
}
|
||||
@@ -250,7 +204,7 @@ bool cmCacheManager::LoadCache(const std::string& path,
|
||||
// If the entry is not internal to the cache being loaded
|
||||
// or if it is in the list of internal entries to be
|
||||
// imported, load it.
|
||||
if ( internal || (e.Type != INTERNAL) ||
|
||||
if ( internal || (e.Type != cmState::INTERNAL) ||
|
||||
(includes.find(entryKey) != includes.end()) )
|
||||
{
|
||||
// If we are loading the cache from another project,
|
||||
@@ -258,7 +212,7 @@ bool cmCacheManager::LoadCache(const std::string& path,
|
||||
// not visible in the gui
|
||||
if (!internal)
|
||||
{
|
||||
e.Type = INTERNAL;
|
||||
e.Type = cmState::INTERNAL;
|
||||
helpString = "DO NOT EDIT, ";
|
||||
helpString += entryKey;
|
||||
helpString += " loaded from external file. "
|
||||
@@ -306,10 +260,10 @@ bool cmCacheManager::LoadCache(const std::string& path,
|
||||
// Set as version 0.0
|
||||
this->AddCacheEntry("CMAKE_CACHE_MINOR_VERSION", "0",
|
||||
"Minor version of cmake used to create the "
|
||||
"current loaded cache", cmCacheManager::INTERNAL);
|
||||
"current loaded cache", cmState::INTERNAL);
|
||||
this->AddCacheEntry("CMAKE_CACHE_MAJOR_VERSION", "0",
|
||||
"Major version of cmake used to create the "
|
||||
"current loaded cache", cmCacheManager::INTERNAL);
|
||||
"current loaded cache", cmState::INTERNAL);
|
||||
|
||||
}
|
||||
// check to make sure the cache directory has not
|
||||
@@ -351,7 +305,7 @@ bool cmCacheManager::ReadPropertyEntry(std::string const& entryKey,
|
||||
CacheEntry& e)
|
||||
{
|
||||
// All property entries are internal.
|
||||
if(e.Type != cmCacheManager::INTERNAL)
|
||||
if(e.Type != cmState::INTERNAL)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -370,7 +324,7 @@ bool cmCacheManager::ReadPropertyEntry(std::string const& entryKey,
|
||||
// Create an entry and store the property.
|
||||
CacheEntry& ne = this->Cache[key];
|
||||
ne.Properties.SetCMakeInstance(this->CMakeInstance);
|
||||
ne.Type = cmCacheManager::UNINITIALIZED;
|
||||
ne.Type = cmState::UNINITIALIZED;
|
||||
ne.SetProperty(*p, e.Value.c_str());
|
||||
}
|
||||
else
|
||||
@@ -427,15 +381,15 @@ bool cmCacheManager::SaveCache(const std::string& path)
|
||||
sprintf(temp, "%d", cmVersion::GetMinorVersion());
|
||||
this->AddCacheEntry("CMAKE_CACHE_MINOR_VERSION", temp,
|
||||
"Minor version of cmake used to create the "
|
||||
"current loaded cache", cmCacheManager::INTERNAL);
|
||||
"current loaded cache", cmState::INTERNAL);
|
||||
sprintf(temp, "%d", cmVersion::GetMajorVersion());
|
||||
this->AddCacheEntry("CMAKE_CACHE_MAJOR_VERSION", temp,
|
||||
"Major version of cmake used to create the "
|
||||
"current loaded cache", cmCacheManager::INTERNAL);
|
||||
"current loaded cache", cmState::INTERNAL);
|
||||
sprintf(temp, "%d", cmVersion::GetPatchVersion());
|
||||
this->AddCacheEntry("CMAKE_CACHE_PATCH_VERSION", temp,
|
||||
"Patch version of cmake used to create the "
|
||||
"current loaded cache", cmCacheManager::INTERNAL);
|
||||
"current loaded cache", cmState::INTERNAL);
|
||||
|
||||
// Let us store the current working directory so that if somebody
|
||||
// Copies it, he will not be surprised
|
||||
@@ -450,7 +404,7 @@ bool cmCacheManager::SaveCache(const std::string& path)
|
||||
cmSystemTools::ConvertToUnixSlashes(currentcwd);
|
||||
this->AddCacheEntry("CMAKE_CACHEFILE_DIR", currentcwd.c_str(),
|
||||
"This is the directory where this CMakeCache.txt"
|
||||
" was created", cmCacheManager::INTERNAL);
|
||||
" was created", cmState::INTERNAL);
|
||||
|
||||
fout << "# This is the CMakeCache file.\n"
|
||||
<< "# For build in directory: " << currentcwd << "\n";
|
||||
@@ -484,7 +438,7 @@ bool cmCacheManager::SaveCache(const std::string& path)
|
||||
this->Cache.begin(); i != this->Cache.end(); ++i)
|
||||
{
|
||||
const CacheEntry& ce = (*i).second;
|
||||
CacheEntryType t = ce.Type;
|
||||
cmState::CacheEntryType t = ce.Type;
|
||||
if(!ce.Initialized)
|
||||
{
|
||||
/*
|
||||
@@ -493,7 +447,7 @@ bool cmCacheManager::SaveCache(const std::string& path)
|
||||
"\" is uninitialized");
|
||||
*/
|
||||
}
|
||||
else if(t != INTERNAL)
|
||||
else if(t != cmState::INTERNAL)
|
||||
{
|
||||
// Format is key:type=value
|
||||
if(const char* help = ce.GetProperty("HELPSTRING"))
|
||||
@@ -505,7 +459,7 @@ bool cmCacheManager::SaveCache(const std::string& path)
|
||||
cmCacheManager::OutputHelpString(fout, "Missing description");
|
||||
}
|
||||
this->OutputKey(fout, i->first);
|
||||
fout << ":" << cmCacheManagerTypes[t] << "=";
|
||||
fout << ":" << cmState::CacheEntryTypeToString(t) << "=";
|
||||
this->OutputValue(fout, ce.Value);
|
||||
fout << "\n\n";
|
||||
}
|
||||
@@ -525,9 +479,9 @@ bool cmCacheManager::SaveCache(const std::string& path)
|
||||
continue;
|
||||
}
|
||||
|
||||
CacheEntryType t = i.GetType();
|
||||
cmState::CacheEntryType t = i.GetType();
|
||||
this->WritePropertyEntries(fout, i);
|
||||
if(t == cmCacheManager::INTERNAL)
|
||||
if(t == cmState::INTERNAL)
|
||||
{
|
||||
// Format is key:type=value
|
||||
if(const char* help = i.GetProperty("HELPSTRING"))
|
||||
@@ -535,7 +489,7 @@ bool cmCacheManager::SaveCache(const std::string& path)
|
||||
this->OutputHelpString(fout, help);
|
||||
}
|
||||
this->OutputKey(fout, i.GetName());
|
||||
fout << ":" << cmCacheManagerTypes[t] << "=";
|
||||
fout << ":" << cmState::CacheEntryTypeToString(t) << "=";
|
||||
this->OutputValue(fout, i.GetValue());
|
||||
fout << "\n";
|
||||
}
|
||||
@@ -677,7 +631,7 @@ void cmCacheManager::PrintCache(std::ostream& out) const
|
||||
for(std::map<std::string, CacheEntry>::const_iterator i =
|
||||
this->Cache.begin(); i != this->Cache.end(); ++i)
|
||||
{
|
||||
if((*i).second.Type != INTERNAL)
|
||||
if((*i).second.Type != cmState::INTERNAL)
|
||||
{
|
||||
out << (*i).first << " = " << (*i).second.Value
|
||||
<< std::endl;
|
||||
@@ -693,7 +647,7 @@ void cmCacheManager::PrintCache(std::ostream& out) const
|
||||
void cmCacheManager::AddCacheEntry(const std::string& key,
|
||||
const char* value,
|
||||
const char* helpString,
|
||||
CacheEntryType type)
|
||||
cmState::CacheEntryType type)
|
||||
{
|
||||
CacheEntry& e = this->Cache[key];
|
||||
e.Properties.SetCMakeInstance(this->CMakeInstance);
|
||||
@@ -708,7 +662,7 @@ void cmCacheManager::AddCacheEntry(const std::string& key,
|
||||
}
|
||||
e.Type = type;
|
||||
// make sure we only use unix style paths
|
||||
if(type == FILEPATH || type == PATH)
|
||||
if(type == cmState::FILEPATH || type == cmState::PATH)
|
||||
{
|
||||
if(e.Value.find(';') != e.Value.npos)
|
||||
{
|
||||
@@ -789,7 +743,7 @@ cmCacheManager::CacheEntry::GetProperty(const std::string& prop) const
|
||||
{
|
||||
if(prop == "TYPE")
|
||||
{
|
||||
return cmCacheManagerTypes[this->Type];
|
||||
return cmState::CacheEntryTypeToString(this->Type);
|
||||
}
|
||||
else if(prop == "VALUE")
|
||||
{
|
||||
@@ -806,7 +760,7 @@ void cmCacheManager::CacheEntry::SetProperty(const std::string& prop,
|
||||
{
|
||||
if(prop == "TYPE")
|
||||
{
|
||||
this->Type = cmCacheManager::StringToType(value? value : "STRING");
|
||||
this->Type = cmState::StringToCacheEntryType(value? value : "STRING");
|
||||
}
|
||||
else if(prop == "VALUE")
|
||||
{
|
||||
@@ -825,7 +779,7 @@ void cmCacheManager::CacheEntry::AppendProperty(const std::string& prop,
|
||||
{
|
||||
if(prop == "TYPE")
|
||||
{
|
||||
this->Type = cmCacheManager::StringToType(value? value : "STRING");
|
||||
this->Type = cmState::StringToCacheEntryType(value? value : "STRING");
|
||||
}
|
||||
else if(prop == "VALUE")
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user