summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2008-03-11 19:17:58 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2008-03-11 19:17:58 (GMT)
commita547ff61cd42d45eb68cbc7fd62a0d1ec79749d8 (patch)
treebf40ce43d5317162ae02eed7abc3f1c16218a105 /Source
parent5d2b90097dda987fafb08f7e97a86cf9fab0225f (diff)
downloadCMake-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.cxx22
-rw-r--r--Source/cmake.cxx17
-rw-r--r--Source/cmakemain.cxx6
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.",