mirror of
https://github.com/reactos/CMake.git
synced 2024-12-14 15:19:39 +00:00
Merge topic 'fix-Message-API-ISP-violation'
0a4af073
cmake: Issue message independent of cmMakefile definition
This commit is contained in:
commit
3b14a4bca4
@ -24,7 +24,6 @@ bool cmMessageCommand::InitialPass(std::vector<std::string> const& args,
|
|||||||
cmake::MessageType type = cmake::MESSAGE;
|
cmake::MessageType type = cmake::MESSAGE;
|
||||||
bool status = false;
|
bool status = false;
|
||||||
bool fatal = false;
|
bool fatal = false;
|
||||||
cmake* cm = this->Makefile->GetCMakeInstance();
|
|
||||||
if (*i == "SEND_ERROR") {
|
if (*i == "SEND_ERROR") {
|
||||||
type = cmake::FATAL_ERROR;
|
type = cmake::FATAL_ERROR;
|
||||||
++i;
|
++i;
|
||||||
@ -36,10 +35,11 @@ bool cmMessageCommand::InitialPass(std::vector<std::string> const& args,
|
|||||||
type = cmake::WARNING;
|
type = cmake::WARNING;
|
||||||
++i;
|
++i;
|
||||||
} else if (*i == "AUTHOR_WARNING") {
|
} else if (*i == "AUTHOR_WARNING") {
|
||||||
if (cm->GetDevWarningsAsErrors(this->Makefile)) {
|
if (this->Makefile->IsSet("CMAKE_SUPPRESS_DEVELOPER_ERRORS") &&
|
||||||
|
!this->Makefile->IsOn("CMAKE_SUPPRESS_DEVELOPER_ERRORS")) {
|
||||||
fatal = true;
|
fatal = true;
|
||||||
type = cmake::AUTHOR_ERROR;
|
type = cmake::AUTHOR_ERROR;
|
||||||
} else if (!cm->GetSuppressDevWarnings(this->Makefile)) {
|
} else if (!this->Makefile->IsOn("CMAKE_SUPPRESS_DEVELOPER_WARNINGS")) {
|
||||||
type = cmake::AUTHOR_WARNING;
|
type = cmake::AUTHOR_WARNING;
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
@ -49,10 +49,11 @@ bool cmMessageCommand::InitialPass(std::vector<std::string> const& args,
|
|||||||
status = true;
|
status = true;
|
||||||
++i;
|
++i;
|
||||||
} else if (*i == "DEPRECATION") {
|
} else if (*i == "DEPRECATION") {
|
||||||
if (cm->GetDeprecatedWarningsAsErrors(this->Makefile)) {
|
if (this->Makefile->IsOn("CMAKE_ERROR_DEPRECATED")) {
|
||||||
fatal = true;
|
fatal = true;
|
||||||
type = cmake::DEPRECATION_ERROR;
|
type = cmake::DEPRECATION_ERROR;
|
||||||
} else if (!cm->GetSuppressDeprecatedWarnings(this->Makefile)) {
|
} else if ((!this->Makefile->IsSet("CMAKE_WARN_DEPRECATED") ||
|
||||||
|
this->Makefile->IsOn("CMAKE_WARN_DEPRECATED"))) {
|
||||||
type = cmake::DEPRECATION_WARNING;
|
type = cmake::DEPRECATION_WARNING;
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
|
@ -2447,19 +2447,11 @@ void cmake::RunCheckForUnusedVariables()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cmake::GetSuppressDevWarnings(cmMakefile const* mf) const
|
bool cmake::GetSuppressDevWarnings() const
|
||||||
{
|
{
|
||||||
/*
|
const char* cacheEntryValue =
|
||||||
* The suppression CMake variable may be set in the CMake configuration file
|
this->State->GetCacheEntryValue("CMAKE_SUPPRESS_DEVELOPER_WARNINGS");
|
||||||
* itself, so we have to check what its set to in the makefile if we can.
|
return cmSystemTools::IsOn(cacheEntryValue);
|
||||||
*/
|
|
||||||
if (mf) {
|
|
||||||
return mf->IsOn("CMAKE_SUPPRESS_DEVELOPER_WARNINGS");
|
|
||||||
} else {
|
|
||||||
const char* cacheEntryValue =
|
|
||||||
this->State->GetCacheEntryValue("CMAKE_SUPPRESS_DEVELOPER_WARNINGS");
|
|
||||||
return cmSystemTools::IsOn(cacheEntryValue);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmake::SetSuppressDevWarnings(bool b)
|
void cmake::SetSuppressDevWarnings(bool b)
|
||||||
@ -2481,20 +2473,11 @@ void cmake::SetSuppressDevWarnings(bool b)
|
|||||||
cmState::INTERNAL);
|
cmState::INTERNAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cmake::GetSuppressDeprecatedWarnings(cmMakefile const* mf) const
|
bool cmake::GetSuppressDeprecatedWarnings() const
|
||||||
{
|
{
|
||||||
/*
|
const char* cacheEntryValue =
|
||||||
* The suppression CMake variable may be set in the CMake configuration file
|
this->State->GetCacheEntryValue("CMAKE_WARN_DEPRECATED");
|
||||||
* itself, so we have to check what its set to in the makefile if we can.
|
return cacheEntryValue && cmSystemTools::IsOff(cacheEntryValue);
|
||||||
*/
|
|
||||||
if (mf) {
|
|
||||||
return (mf->IsSet("CMAKE_WARN_DEPRECATED") &&
|
|
||||||
!mf->IsOn("CMAKE_WARN_DEPRECATED"));
|
|
||||||
} else {
|
|
||||||
const char* cacheEntryValue =
|
|
||||||
this->State->GetCacheEntryValue("CMAKE_WARN_DEPRECATED");
|
|
||||||
return cacheEntryValue && cmSystemTools::IsOff(cacheEntryValue);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmake::SetSuppressDeprecatedWarnings(bool b)
|
void cmake::SetSuppressDeprecatedWarnings(bool b)
|
||||||
@ -2516,16 +2499,11 @@ void cmake::SetSuppressDeprecatedWarnings(bool b)
|
|||||||
cmState::INTERNAL);
|
cmState::INTERNAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cmake::GetDevWarningsAsErrors(cmMakefile const* mf) const
|
bool cmake::GetDevWarningsAsErrors() const
|
||||||
{
|
{
|
||||||
if (mf) {
|
const char* cacheEntryValue =
|
||||||
return (mf->IsSet("CMAKE_SUPPRESS_DEVELOPER_ERRORS") &&
|
this->State->GetCacheEntryValue("CMAKE_SUPPRESS_DEVELOPER_ERRORS");
|
||||||
!mf->IsOn("CMAKE_SUPPRESS_DEVELOPER_ERRORS"));
|
return cacheEntryValue && cmSystemTools::IsOff(cacheEntryValue);
|
||||||
} else {
|
|
||||||
const char* cacheEntryValue =
|
|
||||||
this->State->GetCacheEntryValue("CMAKE_SUPPRESS_DEVELOPER_ERRORS");
|
|
||||||
return cacheEntryValue && cmSystemTools::IsOff(cacheEntryValue);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmake::SetDevWarningsAsErrors(bool b)
|
void cmake::SetDevWarningsAsErrors(bool b)
|
||||||
@ -2547,15 +2525,11 @@ void cmake::SetDevWarningsAsErrors(bool b)
|
|||||||
cmState::INTERNAL);
|
cmState::INTERNAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cmake::GetDeprecatedWarningsAsErrors(cmMakefile const* mf) const
|
bool cmake::GetDeprecatedWarningsAsErrors() const
|
||||||
{
|
{
|
||||||
if (mf) {
|
const char* cacheEntryValue =
|
||||||
return mf->IsOn("CMAKE_ERROR_DEPRECATED");
|
this->State->GetCacheEntryValue("CMAKE_ERROR_DEPRECATED");
|
||||||
} else {
|
return cmSystemTools::IsOn(cacheEntryValue);
|
||||||
const char* cacheEntryValue =
|
|
||||||
this->State->GetCacheEntryValue("CMAKE_ERROR_DEPRECATED");
|
|
||||||
return cmSystemTools::IsOn(cacheEntryValue);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmake::SetDeprecatedWarningsAsErrors(bool b)
|
void cmake::SetDeprecatedWarningsAsErrors(bool b)
|
||||||
|
@ -339,7 +339,7 @@ public:
|
|||||||
* Returns false, by default, if developer warnings should be shown, true
|
* Returns false, by default, if developer warnings should be shown, true
|
||||||
* otherwise.
|
* otherwise.
|
||||||
*/
|
*/
|
||||||
bool GetSuppressDevWarnings(cmMakefile const* mf = NULL) const;
|
bool GetSuppressDevWarnings() const;
|
||||||
/*
|
/*
|
||||||
* Set the state of the suppression of developer (author) warnings.
|
* Set the state of the suppression of developer (author) warnings.
|
||||||
*/
|
*/
|
||||||
@ -350,7 +350,7 @@ public:
|
|||||||
* Returns false, by default, if deprecated warnings should be shown, true
|
* Returns false, by default, if deprecated warnings should be shown, true
|
||||||
* otherwise.
|
* otherwise.
|
||||||
*/
|
*/
|
||||||
bool GetSuppressDeprecatedWarnings(cmMakefile const* mf = NULL) const;
|
bool GetSuppressDeprecatedWarnings() const;
|
||||||
/*
|
/*
|
||||||
* Set the state of the suppression of deprecated warnings.
|
* Set the state of the suppression of deprecated warnings.
|
||||||
*/
|
*/
|
||||||
@ -361,7 +361,7 @@ public:
|
|||||||
* Returns false, by default, if warnings should not be treated as errors,
|
* Returns false, by default, if warnings should not be treated as errors,
|
||||||
* true otherwise.
|
* true otherwise.
|
||||||
*/
|
*/
|
||||||
bool GetDevWarningsAsErrors(cmMakefile const* mf = NULL) const;
|
bool GetDevWarningsAsErrors() const;
|
||||||
/**
|
/**
|
||||||
* Set the state of treating developer (author) warnings as errors.
|
* Set the state of treating developer (author) warnings as errors.
|
||||||
*/
|
*/
|
||||||
@ -372,7 +372,7 @@ public:
|
|||||||
* Returns false, by default, if warnings should not be treated as errors,
|
* Returns false, by default, if warnings should not be treated as errors,
|
||||||
* true otherwise.
|
* true otherwise.
|
||||||
*/
|
*/
|
||||||
bool GetDeprecatedWarningsAsErrors(cmMakefile const* mf = NULL) const;
|
bool GetDeprecatedWarningsAsErrors() const;
|
||||||
/**
|
/**
|
||||||
* Set the state of treating developer (author) warnings as errors.
|
* Set the state of treating developer (author) warnings as errors.
|
||||||
*/
|
*/
|
||||||
|
@ -2,6 +2,8 @@ include(RunCMake)
|
|||||||
|
|
||||||
run_cmake(defaultmessage)
|
run_cmake(defaultmessage)
|
||||||
run_cmake(nomessage)
|
run_cmake(nomessage)
|
||||||
|
run_cmake(message-internal-warning)
|
||||||
|
run_cmake(nomessage-internal-warning)
|
||||||
run_cmake(warnmessage)
|
run_cmake(warnmessage)
|
||||||
# message command sets fatal occurred flag, so check each type of error
|
# message command sets fatal occurred flag, so check each type of error
|
||||||
|
|
||||||
|
13
Tests/RunCMake/message/message-internal-warning-stderr.txt
Normal file
13
Tests/RunCMake/message/message-internal-warning-stderr.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
^CMake Warning \(dev\) in message-internal-warning.cmake:
|
||||||
|
A logical block opening on the line
|
||||||
|
|
||||||
|
.*Tests/RunCMake/message/message-internal-warning.cmake:4 \(macro\)
|
||||||
|
|
||||||
|
closes on the line
|
||||||
|
|
||||||
|
.*Tests/RunCMake/message/message-internal-warning.cmake:5 \(endmacro\)
|
||||||
|
|
||||||
|
with mis-matching arguments.
|
||||||
|
Call Stack \(most recent call first\):
|
||||||
|
CMakeLists.txt:3 \(include\)
|
||||||
|
This warning is for project developers. Use -Wno-dev to suppress it.$
|
5
Tests/RunCMake/message/message-internal-warning.cmake
Normal file
5
Tests/RunCMake/message/message-internal-warning.cmake
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS ON)
|
||||||
|
|
||||||
|
macro(mymacro)
|
||||||
|
endmacro(notmymacro)
|
5
Tests/RunCMake/message/nomessage-internal-warning.cmake
Normal file
5
Tests/RunCMake/message/nomessage-internal-warning.cmake
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS ON CACHE BOOL "")
|
||||||
|
|
||||||
|
macro(mymacro)
|
||||||
|
endmacro(notmymacro)
|
Loading…
Reference in New Issue
Block a user