diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2008-11-21 21:32:39 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2008-11-21 21:32:39 (GMT) |
commit | 0c24570ee429c9884fdbf9ba0dd5e55133114432 (patch) | |
tree | 5ab4825243b670e57a05d1bffa4de5f0ddc8387a /Source/cmMakefile.cxx | |
parent | 46b9a884ac01aeb7fc0e6b5eb92a1624536eb4ee (diff) | |
download | CMake-0c24570ee429c9884fdbf9ba0dd5e55133114432.zip CMake-0c24570ee429c9884fdbf9ba0dd5e55133114432.tar.gz CMake-0c24570ee429c9884fdbf9ba0dd5e55133114432.tar.bz2 |
BUG: fix issue with -D and cache force
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; |