summaryrefslogtreecommitdiffstats
path: root/Source/cmCacheManager.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-05-16 19:51:45 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-06-04 10:38:56 (GMT)
commit273ecab96d47d6ddba129be6200bc93ba7910b8c (patch)
tree6d447b544de60b90fb1e539e1fe0be719485a37a /Source/cmCacheManager.cxx
parent590a41ba0ead92f3989b3c226632c29fac76bf2e (diff)
downloadCMake-273ecab96d47d6ddba129be6200bc93ba7910b8c.zip
CMake-273ecab96d47d6ddba129be6200bc93ba7910b8c.tar.gz
CMake-273ecab96d47d6ddba129be6200bc93ba7910b8c.tar.bz2
CLI: Suppress the unused warning if the key value pair is cached.
It is common to specify a CMAKE_TOOLCHAIN_FILE and get a warning for using it despite it not being used. The WarnUnusedCliUnused test relies on the warning being emitted each time cmake is run on an existing build. That behavior is changed by this patch to warn only on the first invokation of CMake, and not on subsequent invokations (because the variable is in the cache with the same value). For that test, a clean target is added which clears the cache and cause the warning to be emitted each time. As the Ninja generator does not support the feature needed to test this, it is not tested with that generator.
Diffstat (limited to 'Source/cmCacheManager.cxx')
-rw-r--r--Source/cmCacheManager.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmCacheManager.cxx b/Source/cmCacheManager.cxx
index 864df8e..ed09545 100644
--- a/Source/cmCacheManager.cxx
+++ b/Source/cmCacheManager.cxx
@@ -750,6 +750,10 @@ void cmCacheManager::AddCacheEntry(const char* key,
}
e.SetProperty("HELPSTRING", helpString? helpString :
"(This variable does not exist and should not be used)");
+ if (this->Cache[key].Value == e.Value)
+ {
+ this->CMakeInstance->UnwatchUnusedCli(key);
+ }
this->Cache[key] = e;
}