summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmCacheManager.cxx16
-rw-r--r--Source/cmCacheManager.h3
2 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmCacheManager.cxx b/Source/cmCacheManager.cxx
index d3da82f..e8ec10e 100644
--- a/Source/cmCacheManager.cxx
+++ b/Source/cmCacheManager.cxx
@@ -136,6 +136,22 @@ bool cmCacheManager::LoadCache(const char* path)
return true;
}
+void cmCacheManager::DefineCache(cmMakefile *mf)
+{
+ if (!mf)
+ {
+ return;
+ }
+
+ // add definition to the makefile
+ for( std::map<std::string, CacheEntry>::const_iterator i = m_Cache.begin();
+ i != m_Cache.end(); ++i)
+ {
+ const CacheEntry& ce = (*i).second;
+ mf->AddDefinition((*i).first.c_str(), ce.m_Value.c_str());
+ }
+}
+
bool cmCacheManager::SaveCache(cmMakefile* mf) const
{
return this->SaveCache(mf->GetHomeOutputDirectory());
diff --git a/Source/cmCacheManager.h b/Source/cmCacheManager.h
index 91676ab..6ecb37b 100644
--- a/Source/cmCacheManager.h
+++ b/Source/cmCacheManager.h
@@ -78,6 +78,9 @@ public:
bool LoadCache(cmMakefile*);
//! Load a cache for given makefile. Loads from path/CMakeCache.txt.
bool LoadCache(const char* path);
+
+ //! Put cache definitions into makefile
+ void DefineCache(cmMakefile*);
//! Save cache for given makefile. Saves to ouput home CMakeCache.txt.
bool SaveCache(cmMakefile*) const;