cmake: Do not treat developer warnings as errors by default in scripts

The logic in commit c96fe0b4 (cmake: Add -W options to control
deprecation warnings and errors, 2015-07-28) accidentally enables
errors on warnings by default in scripts because there is no
initialization of CMAKE_SUPPRESS_DEVELOPER_ERRORS to TRUE.

Rename internal CMAKE_SUPPRESS_DEVELOPER_ERRORS cache entry to
CMAKE_ERROR_DEVELOPER_WARNINGS.  Fix the logic in the message() command
to treat AUTHOR_WARNING as an error only if the option is explicitly
enabled.
This commit is contained in:
Brad King 2015-08-03 10:00:42 -04:00
parent c96fe0b40d
commit 975426ceb3
2 changed files with 6 additions and 6 deletions

View File

@ -43,7 +43,7 @@ bool cmMessageCommand
}
else if (*i == "AUTHOR_WARNING")
{
if (!this->Makefile->IsOn("CMAKE_SUPPRESS_DEVELOPER_ERRORS"))
if (this->Makefile->IsOn("CMAKE_ERROR_DEVELOPER_WARNINGS"))
{
fatal = true;
type = cmake::AUTHOR_ERROR;

View File

@ -1289,7 +1289,7 @@ int cmake::Configure()
" the author of the CMakeLists.txt files.",
cmState::INTERNAL);
this->CacheManager->
AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_ERRORS", "TRUE",
AddCacheEntry("CMAKE_ERROR_DEVELOPER_WARNINGS", "FALSE",
"Suppress errors that are meant for"
" the author of the CMakeLists.txt files.",
cmState::INTERNAL);
@ -1328,7 +1328,7 @@ int cmake::Configure()
else if (warningLevel == ERROR_LEVEL)
{
this->CacheManager->
AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_ERRORS", "FALSE",
AddCacheEntry("CMAKE_ERROR_DEVELOPER_WARNINGS", "TRUE",
"Suppress errors that are meant for"
" the author of the CMakeLists.txt files.",
cmState::INTERNAL);
@ -1676,11 +1676,11 @@ int cmake::Run(const std::vector<std::string>& args, bool noconfigure)
}
// don't turn dev warnings into errors by default, if no value has been
// specified for the flag, enable it
if (!this->State->GetCacheEntryValue("CMAKE_SUPPRESS_DEVELOPER_ERRORS"))
// specified for the flag, disable it
if (!this->State->GetCacheEntryValue("CMAKE_ERROR_DEVELOPER_WARNINGS"))
{
this->CacheManager->
AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_ERRORS", "TRUE",
AddCacheEntry("CMAKE_ERROR_DEVELOPER_WARNINGS", "FALSE",
"Suppress errors that are meant for"
" the author of the CMakeLists.txt files.",
cmState::INTERNAL);