diff options
-rw-r--r-- | Source/cmCacheManager.cxx | 16 | ||||
-rw-r--r-- | Source/cmCacheManager.h | 3 |
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; |