diff options
Diffstat (limited to 'Source/cmMakefile.cxx')
-rw-r--r-- | Source/cmMakefile.cxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 168afde..424ca00 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1561,7 +1561,8 @@ void cmMakefile::AddDefinition(const char* name, const char* value) void cmMakefile::AddCacheDefinition(const char* name, const char* value, const char* doc, - cmCacheManager::CacheEntryType type) + cmCacheManager::CacheEntryType type, + bool force) { const char* val = value; cmCacheManager::CacheIterator it = @@ -1569,7 +1570,12 @@ void cmMakefile::AddCacheDefinition(const char* name, const char* value, if(!it.IsAtEnd() && (it.GetType() == cmCacheManager::UNINITIALIZED) && it.Initialized()) { - val = it.GetValue(); + // if this is not a force, then use the value from the cache + // if it is a force, then use the value being passed in + if(!force) + { + val = it.GetValue(); + } if ( type == cmCacheManager::PATH || type == cmCacheManager::FILEPATH ) { std::vector<std::string>::size_type cc; |