summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmake.cxx37
-rw-r--r--Source/cmake.h1
2 files changed, 22 insertions, 16 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index b045f1c..88f1290 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -141,6 +141,7 @@ void cmNeedBackwardsCompatibility(const std::string& variable,
cmake::cmake()
{
this->SuppressDevWarnings = false;
+ this->DoSuppressDevWarnings = false;
this->DebugOutput = false;
this->DebugTryCompile = false;
this->ClearBuildSystem = false;
@@ -387,10 +388,12 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& args)
else if(arg.find("-Wno-dev",0) == 0)
{
this->SuppressDevWarnings = true;
+ this->DoSuppressDevWarnings = true;
}
else if(arg.find("-Wdev",0) == 0)
- {
+ {
this->SuppressDevWarnings = false;
+ this->DoSuppressDevWarnings = true;
}
else if(arg.find("-U",0) == 0)
{
@@ -1896,23 +1899,25 @@ int cmake::HandleDeleteCacheVariables(const char* var)
int cmake::Configure()
{
- if(this->SuppressDevWarnings)
+ if(this->DoSuppressDevWarnings)
{
- this->CacheManager->
- AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", "TRUE",
- "Suppress Warnings that are meant for"
- " the author of the CMakeLists.txt files.",
- cmCacheManager::INTERNAL);
- }
- else
- {
- this->CacheManager->
- AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", "FALSE",
- "Suppress Warnings that are meant for"
- " the author of the CMakeLists.txt files.",
- cmCacheManager::INTERNAL);
+ if(this->SuppressDevWarnings)
+ {
+ this->CacheManager->
+ AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", "TRUE",
+ "Suppress Warnings that are meant for"
+ " the author of the CMakeLists.txt files.",
+ cmCacheManager::INTERNAL);
+ }
+ else
+ {
+ this->CacheManager->
+ AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", "FALSE",
+ "Suppress Warnings that are meant for"
+ " the author of the CMakeLists.txt files.",
+ cmCacheManager::INTERNAL);
+ }
}
-
int ret = this->ActualConfigure();
const char* delCacheVars =
this->GetProperty("__CMAKE_DELETE_CACHE_CHANGE_VARS_");
diff --git a/Source/cmake.h b/Source/cmake.h
index f599c31..8134943 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -388,6 +388,7 @@ protected:
std::string cmStartDirectory;
std::string StartOutputDirectory;
bool SuppressDevWarnings;
+ bool DoSuppressDevWarnings;
std::set<cmStdString> WrittenFiles;
///! return true if the same cmake was used to make the cache.