summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorMichael Scott <michael.scott250@gmail.com>2015-11-08 12:59:27 +0000
committerBrad King <brad.king@kitware.com>2015-12-01 09:35:53 -0500
commit246b0bfbfda9a8f3091fc34fc92816aebaf60ae9 (patch)
tree50d689da4b5cb9993b98466cbebb8577b8bc8376 /Source
parentdeec3a3f06d341cfe0bef4e856b263eff347cc72 (diff)
downloadcmake-246b0bfbfda9a8f3091fc34fc92816aebaf60ae9.tar.gz
Explicitly enable author (dev) warnings by default.
Explicitly enable author warnings by default, via the cmake::GetSuppressDevWarnings method, which signals suppression is turned off unless the CMake variables are set as required. Add test cases for author and deprecated messages displayed by default.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmMessageCommand.cxx3
-rw-r--r--Source/cmake.cxx25
-rw-r--r--Source/cmake.h6
3 files changed, 28 insertions, 6 deletions
diff --git a/Source/cmMessageCommand.cxx b/Source/cmMessageCommand.cxx
index 1c65ef7dd0..fd0345d0bb 100644
--- a/Source/cmMessageCommand.cxx
+++ b/Source/cmMessageCommand.cxx
@@ -43,7 +43,8 @@ bool cmMessageCommand
}
else if (*i == "AUTHOR_WARNING")
{
- if (this->Makefile->IsOn("CMAKE_SUPPRESS_DEVELOPER_WARNINGS"))
+ if (this->Makefile->GetCMakeInstance()->GetSuppressDevWarnings(
+ this->Makefile))
{
return true;
}
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 62476a11a1..5213130011 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -1580,6 +1580,7 @@ int cmake::Run(const std::vector<std::string>& args, bool noconfigure)
{
this->AddCMakePaths();
}
+
// Add any cache args
if ( !this->SetCacheArgs(args) )
{
@@ -2511,11 +2512,7 @@ bool cmake::IsMessageTypeVisible(cmake::MessageType t)
}
else if (t == cmake::AUTHOR_WARNING)
{
- // if CMAKE_SUPPRESS_DEVELOPER_WARNINGS is on, suppress the message,
- // otherwise show it
- const char* suppressDevWarnings = this->State->GetCacheEntryValue(
- "CMAKE_SUPPRESS_DEVELOPER_WARNINGS");
- if(cmSystemTools::IsOn(suppressDevWarnings))
+ if (this->GetSuppressDevWarnings())
{
isVisible = false;
}
@@ -2807,3 +2804,21 @@ void cmake::RunCheckForUnusedVariables()
}
#endif
}
+
+bool cmake::GetSuppressDevWarnings(cmMakefile const* mf)
+{
+ /*
+ * The suppression CMake variable may be set in the CMake configuration file
+ * itself, so we have to check what its set to in the makefile if we can.
+ */
+ if (mf)
+ {
+ return mf->IsOn("CMAKE_SUPPRESS_DEVELOPER_WARNINGS");
+ }
+ else
+ {
+ const char* cacheEntryValue = this->State->GetCacheEntryValue(
+ "CMAKE_SUPPRESS_DEVELOPER_WARNINGS");
+ return cmSystemTools::IsOn(cacheEntryValue);
+ }
+}
diff --git a/Source/cmake.h b/Source/cmake.h
index 0630daa841..45ac28ebd6 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -308,6 +308,12 @@ class cmake
this->SuppressDevWarnings = v;
this->DoSuppressDevWarnings = true;
}
+ /*
+ * Get the state of the suppression of developer (author) warnings.
+ * Returns false, by default, if developer warnings should be shown, true
+ * otherwise.
+ */
+ bool GetSuppressDevWarnings(cmMakefile const* mf = NULL);
/** Display a message to the user. */
void IssueMessage(cmake::MessageType t, std::string const& text,