diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2008-03-11 19:17:58 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2008-03-11 19:17:58 (GMT) |
commit | a547ff61cd42d45eb68cbc7fd62a0d1ec79749d8 (patch) | |
tree | bf40ce43d5317162ae02eed7abc3f1c16218a105 /Source | |
parent | 5d2b90097dda987fafb08f7e97a86cf9fab0225f (diff) | |
download | CMake-a547ff61cd42d45eb68cbc7fd62a0d1ec79749d8.zip CMake-a547ff61cd42d45eb68cbc7fd62a0d1ec79749d8.tar.gz CMake-a547ff61cd42d45eb68cbc7fd62a0d1ec79749d8.tar.bz2 |
ENH: add a way to suppress the new policy warnings, still need ccmake and gui's
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmMakefile.cxx | 22 | ||||
-rw-r--r-- | Source/cmake.cxx | 17 | ||||
-rw-r--r-- | Source/cmakemain.cxx | 6 |
3 files changed, 43 insertions, 2 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index f245b71..362dbdc 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -296,7 +296,16 @@ void cmMakefile::IssueMessage(cmake::MessageType t, std::string const& text) con } else { - msg << "CMake Warning:"; + msg << "CMake Warning"; + if(t == cmake::AUTHOR_WARNING) + { + if(this->IsOn("CMAKE_SUPPRESS_DEVELOPER_WARNINGS")) + { + return; + } + msg << "(Code)"; + } + msg << ":"; } // Add the immediate context. @@ -2462,7 +2471,16 @@ int cmMakefile::TryCompile(const char *srcdir, const char *bindir, // to save time we pass the EnableLanguage info directly gg->EnableLanguagesFromGenerator (this->LocalGenerator->GetGlobalGenerator()); - + if(this->IsOn("CMAKE_SUPPRESS_DEVELOPER_WARNINGS")) + { + cm.AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", + "TRUE", "", cmCacheManager::INTERNAL); + } + else + { + cm.AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", + "FALSE", "", cmCacheManager::INTERNAL); + } if (cm.Configure() != 0) { cmSystemTools::Error( diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 98aa0cd..f136b42 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -373,6 +373,23 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& args) return false; } } + else if(arg.find("-Wno-dev",0) == 0) + { + this->CacheManager-> + AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", "TRUE", + "Suppress Warnings that are meant for" + " the author of the CMakeLists.txt files.", + cmCacheManager::INTERNAL); + } + else if(arg.find("-Wdev",0) == 0) + { + this->CacheManager-> + AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", "FALSE", + "Suppress Warnings that are meant for" + " the author of the CMakeLists.txt files.", + cmCacheManager::INTERNAL); + + } else if(arg.find("-U",0) == 0) { std::string entryPattern = arg.substr(2); diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx index 7f291c5..51585ae 100644 --- a/Source/cmakemain.cxx +++ b/Source/cmakemain.cxx @@ -81,6 +81,12 @@ static const char * cmDocumentationOptions[][3] = "variables being created. If A is specified, then it will display also " "advanced variables. If H is specified, it will also display help for " "each variable."}, + {"-Wno-dev", "Suppress developer warnings.", + "Suppress warnings that are meant for the author" + " of the CMakeLists.txt files."}, + {"-Wdev", "Enable developer warnings.", + "Enable warnings that are meant for the author" + " of the CMakeLists.txt files."}, {"-N", "View mode only.", "Only load the cache. Do not actually run configure and generate steps."}, {"-P <file>", "Process script mode.", |