This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  cfcc9d523d53ca01cdebe0e6c01e7e03b8fa8780 (commit)
       via  aac633d5e5765bb6b51e31364325ae7d916f021c (commit)
       via  e8974b62d7883adf100d4c6ad90a0fbf682aaa91 (commit)
       via  b146747ed7f3cee8d8ef9c3ea6899ec3135aa527 (commit)
       via  da688bcb3b7edc1da19fc8b89e2425f40d3fa7f1 (commit)
       via  07388f83b69739116c8364e9443f10158fcdc912 (commit)
       via  246b0bfbfda9a8f3091fc34fc92816aebaf60ae9 (commit)
       via  deec3a3f06d341cfe0bef4e856b263eff347cc72 (commit)
       via  aa427a4239eb691d4129ebc383ab7b0d61b5b94e (commit)
      from  3a00e367994cde14d1a23a753b5e281e6342554a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cfcc9d523d53ca01cdebe0e6c01e7e03b8fa8780
commit cfcc9d523d53ca01cdebe0e6c01e7e03b8fa8780
Merge: 3a00e36 aac633d
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Dec 1 10:27:06 2015 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Tue Dec 1 10:27:06 2015 -0500

    Merge topic 'cmake-W-options' into next
    
    aac633d5 Explicitly enable deprecated warnings by default.
    e8974b62 Modify dev warning options to affect deprecated warnings.
    b146747e Consistent documentation for deprecation message variables.
    da688bcb Add -W options to control deprecated warning messages.
    07388f83 Refactor the -W options parser to be generic.
    246b0bfb Explicitly enable author (dev) warnings by default.
    deec3a3f Make message suppression more consistent.
    aa427a42 Tests: Revise message in RunCMake.CommandLine -Wdev case


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aac633d5e5765bb6b51e31364325ae7d916f021c
commit aac633d5e5765bb6b51e31364325ae7d916f021c
Author:     Michael Scott <michael.scott...@gmail.com>
AuthorDate: Sun Nov 29 13:34:07 2015 +0000
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Dec 1 10:22:51 2015 -0500

    Explicitly enable deprecated warnings by default.
    
    Explicitly enable deprecated warnings by default, via the
    cmake::GetSuppressDeprecatedWarnings method, which signals
    suppression is turned off unless the CMake variables are set
    as required.
    
    Add tests and update the documentation for the new
    functionality.

diff --git a/Help/release/dev/cmake-W-options.rst 
b/Help/release/dev/cmake-W-options.rst
index 4784718..57d375f 100644
--- a/Help/release/dev/cmake-W-options.rst
+++ b/Help/release/dev/cmake-W-options.rst
@@ -6,3 +6,7 @@ cmake-W-options
 
 * The ``-Wdev`` and ``-Wno-dev`` :manual:`cmake(1)` options now also enable
   and suppress the deprecated warnings output by default.
+
+* Warnings about deprecated functionality are now enabled by default.
+  They may be suppressed with ``-Wno-deprecated`` or by setting the
+  :variable:`CMAKE_WARN_DEPRECATED` variable to false.
diff --git a/Help/variable/CMAKE_WARN_DEPRECATED.rst 
b/Help/variable/CMAKE_WARN_DEPRECATED.rst
index 5f87c34..4a224fa 100644
--- a/Help/variable/CMAKE_WARN_DEPRECATED.rst
+++ b/Help/variable/CMAKE_WARN_DEPRECATED.rst
@@ -3,8 +3,8 @@ CMAKE_WARN_DEPRECATED
 
 Whether to issue warnings for deprecated functionality.
 
-If ``TRUE``, use of deprecated functionality will issue warnings.
-If this variable is not set, CMake behaves as if it were set to ``FALSE``.
+If not ``FALSE``, use of deprecated functionality will issue warnings.
+If this variable is not set, CMake behaves as if it were set to ``TRUE``.
 
 When running :manual:`cmake(1)`, this option can be enabled with the
 ``-Wdeprecated`` option, or disabled with the ``-Wno-deprecated`` option.
diff --git a/Source/cmMessageCommand.cxx b/Source/cmMessageCommand.cxx
index fd0345d..8272eb0 100644
--- a/Source/cmMessageCommand.cxx
+++ b/Source/cmMessageCommand.cxx
@@ -66,13 +66,17 @@ bool cmMessageCommand
       fatal = true;
       type = cmake::DEPRECATION_ERROR;
       }
-    else if (this->Makefile->IsOn("CMAKE_WARN_DEPRECATED"))
-      {
-      type = cmake::DEPRECATION_WARNING;
-      }
     else
       {
-      return true;
+      if (this->Makefile->GetCMakeInstance()->GetSuppressDeprecatedWarnings(
+          this->Makefile))
+        {
+        return true;
+        }
+      else
+        {
+        type = cmake::DEPRECATION_WARNING;
+        }
       }
     ++i;
     }
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 6481c78..c0a1196 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -2581,10 +2581,7 @@ bool cmake::IsMessageTypeVisible(cmake::MessageType t)
     }
   else if (t == cmake::DEPRECATION_WARNING)
     {
-    // if CMAKE_WARN_DEPRECATED is on, show the message, otherwise suppress it
-    const char* warnDeprecated = this->State->GetInitializedCacheValue(
-                                            "CMAKE_WARN_DEPRECATED");
-    if(cmSystemTools::IsOff(warnDeprecated))
+    if (this->GetSuppressDeprecatedWarnings())
       {
       isVisible = false;
       }
@@ -2916,3 +2913,22 @@ bool cmake::GetSuppressDevWarnings(cmMakefile const* mf)
     return cmSystemTools::IsOn(cacheEntryValue);
     }
 }
+
+bool cmake::GetSuppressDeprecatedWarnings(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->IsSet("CMAKE_WARN_DEPRECATED") &&
+            !mf->IsOn("CMAKE_WARN_DEPRECATED"));
+    }
+  else
+    {
+    const char* cacheEntryValue = this->State->GetCacheEntryValue(
+      "CMAKE_WARN_DEPRECATED");
+    return cacheEntryValue && cmSystemTools::IsOff(cacheEntryValue);
+    }
+}
diff --git a/Source/cmake.h b/Source/cmake.h
index 8739b87..4c5515b 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -316,6 +316,13 @@ class cmake
    */
   bool GetSuppressDevWarnings(cmMakefile const* mf = NULL);
 
+  /*
+   * Get the state of the suppression of deprecated warnings.
+   * Returns false, by default, if deprecated warnings should be shown, true
+   * otherwise.
+   */
+  bool GetSuppressDeprecatedWarnings(cmMakefile const* mf = NULL);
+
   /** Display a message to the user.  */
   void IssueMessage(cmake::MessageType t, std::string const& text,
         cmListFileBacktrace const& backtrace = cmListFileBacktrace(),
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index efe143e..6b4b384 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -157,6 +157,9 @@ unset(RunCMake_TEST_OPTIONS)
 # Dev warnings should be on by default
 run_cmake(Wdev)
 
+# Deprecated warnings should be on by default
+run_cmake(Wdeprecated)
+
 # Conflicting -W options should honor the last value
 set(RunCMake_TEST_OPTIONS -Wno-dev -Wdev)
 run_cmake(Wdev)
diff --git a/Tests/RunCMake/message/defaultmessage-stderr.txt 
b/Tests/RunCMake/message/defaultmessage-stderr.txt
index 95656ec..dd1b28f 100644
--- a/Tests/RunCMake/message/defaultmessage-stderr.txt
+++ b/Tests/RunCMake/message/defaultmessage-stderr.txt
@@ -1,4 +1,10 @@
-^CMake Warning \(dev\) at defaultmessage.cmake:4 \(message\):
+^CMake Deprecation Warning at defaultmessage.cmake:2 \(message\):
+  This is a deprecation warning
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
+
+
+CMake Warning \(dev\) at defaultmessage.cmake:4 \(message\):
   This is a author warning
 Call Stack \(most recent call first\):
   CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/message/nomessage.cmake 
b/Tests/RunCMake/message/nomessage.cmake
index 582ab4d..78f4769 100644
--- a/Tests/RunCMake/message/nomessage.cmake
+++ b/Tests/RunCMake/message/nomessage.cmake
@@ -1,4 +1,6 @@
 
+set(CMAKE_WARN_DEPRECATED OFF)
+
 message(DEPRECATION "This is not issued")
 
 set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS ON)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e8974b62d7883adf100d4c6ad90a0fbf682aaa91
commit e8974b62d7883adf100d4c6ad90a0fbf682aaa91
Author:     Michael Scott <michael.scott...@gmail.com>
AuthorDate: Sun Nov 8 23:34:59 2015 +0000
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Dec 1 10:22:45 2015 -0500

    Modify dev warning options to affect deprecated warnings.
    
    Change the '-Wdev' and '-Wno-dev' options to also enable and
    suppress the deprecated warnings output, via the
    'CMAKE_WARN_DEPRECATED' CMake variable, by default. This
    action does not happen if the user specifies a deprecated
    warning message option.
    
    Add tests and update the documentation for the new
    functionality.

diff --git a/Help/manual/OPTIONS_BUILD.txt b/Help/manual/OPTIONS_BUILD.txt
index eec138c..977264c 100644
--- a/Help/manual/OPTIONS_BUILD.txt
+++ b/Help/manual/OPTIONS_BUILD.txt
@@ -77,13 +77,14 @@
  Suppress developer warnings.
 
  Suppress warnings that are meant for the author of the
- CMakeLists.txt files.
+ CMakeLists.txt files. By default this will also turn off
+ deprecation warnings.
 
 ``-Wdev``
  Enable developer warnings.
 
  Enable warnings that are meant for the author of the CMakeLists.txt
- files.
+ files. By default this will also turn on deprecation warnings.
 
 ``-Wdeprecated``
  Enable deprecated functionality warnings.
diff --git a/Help/release/dev/cmake-W-options.rst 
b/Help/release/dev/cmake-W-options.rst
index e64d618..4784718 100644
--- a/Help/release/dev/cmake-W-options.rst
+++ b/Help/release/dev/cmake-W-options.rst
@@ -3,3 +3,6 @@ cmake-W-options
 
 * The :variable:`CMAKE_WARN_DEPRECATED` variable can now be set using the
   ``-Wdeprecated`` and ``-Wno-deprecated`` :manual:`cmake(1)` options.
+
+* The ``-Wdev`` and ``-Wno-dev`` :manual:`cmake(1)` options now also enable
+  and suppress the deprecated warnings output by default.
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 37d7e0a..6481c78 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -1285,6 +1285,16 @@ int cmake::Configure()
 
   if (this->DiagLevels.count("dev") == 1)
     {
+    bool setDeprecatedVariables = false;
+
+    const char* cachedWarnDeprecated =
+           this->State->GetCacheEntryValue("CMAKE_WARN_DEPRECATED");
+
+    // don't overwrite deprecated warning setting from a previous invocation
+    if (!cachedWarnDeprecated)
+      {
+      setDeprecatedVariables = true;
+      }
 
     diagLevel = this->DiagLevels["dev"];
     if (diagLevel == DIAG_IGNORE)
@@ -1293,6 +1303,14 @@ int cmake::Configure()
                           "Suppress Warnings that are meant for"
                           " the author of the CMakeLists.txt files.",
                           cmState::INTERNAL);
+
+      if (setDeprecatedVariables)
+        {
+        this->AddCacheEntry("CMAKE_WARN_DEPRECATED", "FALSE",
+                            "Whether to issue warnings for deprecated "
+                            "functionality.",
+                            cmState::INTERNAL);
+        }
       }
     else if (diagLevel == DIAG_WARN)
       {
@@ -1300,6 +1318,14 @@ int cmake::Configure()
                           "Suppress Warnings that are meant for"
                           " the author of the CMakeLists.txt files.",
                           cmState::INTERNAL);
+
+      if (setDeprecatedVariables)
+        {
+        this->AddCacheEntry("CMAKE_WARN_DEPRECATED", "TRUE",
+                            "Whether to issue warnings for deprecated "
+                            "functionality.",
+                            cmState::INTERNAL);
+        }
       }
     }
 
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index f726ae2..efe143e 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -133,6 +133,19 @@ set(RunCMake_TEST_OPTIONS -Wdev)
 run_cmake(Wdev)
 unset(RunCMake_TEST_OPTIONS)
 
+# -Wdev should not override deprecated options if specified
+set(RunCMake_TEST_OPTIONS -Wdev -Wno-deprecated)
+run_cmake(Wno-deprecated)
+unset(RunCMake_TEST_OPTIONS)
+set(RunCMake_TEST_OPTIONS -Wno-deprecated -Wdev)
+run_cmake(Wno-deprecated)
+unset(RunCMake_TEST_OPTIONS)
+
+# -Wdev should enable deprecated warnings as well
+set(RunCMake_TEST_OPTIONS -Wdev)
+run_cmake(Wdeprecated)
+unset(RunCMake_TEST_OPTIONS)
+
 set(RunCMake_TEST_OPTIONS -Wdeprecated)
 run_cmake(Wdeprecated)
 unset(RunCMake_TEST_OPTIONS)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b146747ed7f3cee8d8ef9c3ea6899ec3135aa527
commit b146747ed7f3cee8d8ef9c3ea6899ec3135aa527
Author:     Michael Scott <michael.scott...@gmail.com>
AuthorDate: Sun Nov 8 23:16:58 2015 +0000
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Dec 1 10:22:19 2015 -0500

    Consistent documentation for deprecation message variables.
    
    Make the documentation for the 'CMAKE_ERROR_DEPRECATED' CMake
    variable consistent with the documentation for the
    'CMAKE_WARN_DEPRECATED' CMake variable, in terms of wording.

diff --git a/Help/variable/CMAKE_ERROR_DEPRECATED.rst 
b/Help/variable/CMAKE_ERROR_DEPRECATED.rst
index 277a4cc..f3a6738 100644
--- a/Help/variable/CMAKE_ERROR_DEPRECATED.rst
+++ b/Help/variable/CMAKE_ERROR_DEPRECATED.rst
@@ -1,8 +1,7 @@
 CMAKE_ERROR_DEPRECATED
 ----------------------
 
-Whether to issue deprecation errors for macros and functions.
+Whether to issue errors for deprecated functionality.
 
-If ``TRUE``, this can be used by macros and functions to issue fatal
-errors when deprecated macros or functions are used.  This variable is
-``FALSE`` by default.
+If ``TRUE``, use of deprecated functionality will issue fatal errors.
+If this variable is not set, CMake behaves as if it were set to ``FALSE``.

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=da688bcb3b7edc1da19fc8b89e2425f40d3fa7f1
commit da688bcb3b7edc1da19fc8b89e2425f40d3fa7f1
Author:     Michael Scott <michael.scott...@gmail.com>
AuthorDate: Sun Nov 8 23:06:33 2015 +0000
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Dec 1 10:21:57 2015 -0500

    Add -W options to control deprecated warning messages.
    
    Add 'deprecated' warning options type, to allow setting
    CMAKE_WARN_DEPRECATED via the -W '-Wdeprecated' and
    '-Wno-deprecated' options.
    
    Add tests for new options and updated documentation.

diff --git a/Help/manual/OPTIONS_BUILD.txt b/Help/manual/OPTIONS_BUILD.txt
index 4207db4..eec138c 100644
--- a/Help/manual/OPTIONS_BUILD.txt
+++ b/Help/manual/OPTIONS_BUILD.txt
@@ -84,3 +84,15 @@
 
  Enable warnings that are meant for the author of the CMakeLists.txt
  files.
+
+``-Wdeprecated``
+ Enable deprecated functionality warnings.
+
+ Enable warnings for usage of deprecated functionality, that are meant
+ for the author of the CMakeLists.txt files.
+
+``-Wno-deprecated``
+ Suppress deprecated functionality warnings.
+
+ Suppress warnings for usage of deprecated functionality, that are meant
+ for the author of the CMakeLists.txt files.
diff --git a/Help/release/dev/cmake-W-options.rst 
b/Help/release/dev/cmake-W-options.rst
new file mode 100644
index 0000000..e64d618
--- /dev/null
+++ b/Help/release/dev/cmake-W-options.rst
@@ -0,0 +1,5 @@
+cmake-W-options
+---------------
+
+* The :variable:`CMAKE_WARN_DEPRECATED` variable can now be set using the
+  ``-Wdeprecated`` and ``-Wno-deprecated`` :manual:`cmake(1)` options.
diff --git a/Help/variable/CMAKE_WARN_DEPRECATED.rst 
b/Help/variable/CMAKE_WARN_DEPRECATED.rst
index 662cbd8..5f87c34 100644
--- a/Help/variable/CMAKE_WARN_DEPRECATED.rst
+++ b/Help/variable/CMAKE_WARN_DEPRECATED.rst
@@ -1,7 +1,10 @@
 CMAKE_WARN_DEPRECATED
 ---------------------
 
-Whether to issue deprecation warnings for macros and functions.
+Whether to issue warnings for deprecated functionality.
 
-If ``TRUE``, this can be used by macros and functions to issue deprecation
-warnings.  This variable is ``FALSE`` by default.
+If ``TRUE``, use of deprecated functionality will issue warnings.
+If this variable is not set, CMake behaves as if it were set to ``FALSE``.
+
+When running :manual:`cmake(1)`, this option can be enabled with the
+``-Wdeprecated`` option, or disabled with the ``-Wno-deprecated`` option.
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index e6433bd..37d7e0a 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -1263,6 +1263,26 @@ int cmake::Configure()
 {
   DiagLevel diagLevel;
 
+  if (this->DiagLevels.count("deprecated") == 1)
+    {
+
+    diagLevel = this->DiagLevels["deprecated"];
+    if (diagLevel == DIAG_IGNORE)
+      {
+      this->AddCacheEntry("CMAKE_WARN_DEPRECATED", "FALSE",
+                          "Whether to issue warnings for deprecated "
+                          "functionality.",
+                          cmState::INTERNAL);
+      }
+    else if (diagLevel == DIAG_WARN)
+      {
+      this->AddCacheEntry("CMAKE_WARN_DEPRECATED", "TRUE",
+                          "Whether to issue warnings for deprecated "
+                          "functionality.",
+                          cmState::INTERNAL);
+      }
+    }
+
   if (this->DiagLevels.count("dev") == 1)
     {
 
diff --git a/Source/cmake.h b/Source/cmake.h
index 1bd6d4d..8739b87 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -444,7 +444,9 @@ private:
   {"-T <toolset-name>", "Specify toolset name if supported by generator."}, \
   {"-A <platform-name>", "Specify platform name if supported by generator."}, \
   {"-Wno-dev", "Suppress developer warnings."},\
-  {"-Wdev", "Enable developer warnings."}
+  {"-Wdev", "Enable developer warnings."},\
+  {"-Wdeprecated", "Enable deprecation warnings."},\
+  {"-Wno-deprecated", "Suppress deprecation warnings."}
 
 #define FOR_EACH_C_FEATURE(F) \
   F(c_function_prototypes) \
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index d4f399c..f726ae2 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -133,6 +133,14 @@ set(RunCMake_TEST_OPTIONS -Wdev)
 run_cmake(Wdev)
 unset(RunCMake_TEST_OPTIONS)
 
+set(RunCMake_TEST_OPTIONS -Wdeprecated)
+run_cmake(Wdeprecated)
+unset(RunCMake_TEST_OPTIONS)
+
+set(RunCMake_TEST_OPTIONS -Wno-deprecated)
+run_cmake(Wno-deprecated)
+unset(RunCMake_TEST_OPTIONS)
+
 # Dev warnings should be on by default
 run_cmake(Wdev)
 
diff --git a/Tests/RunCMake/CommandLine/Wdeprecated-stderr.txt 
b/Tests/RunCMake/CommandLine/Wdeprecated-stderr.txt
new file mode 100644
index 0000000..e9be1dc
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/Wdeprecated-stderr.txt
@@ -0,0 +1,4 @@
+^CMake Deprecation Warning at Wdeprecated.cmake:1 \(message\):
+  Some deprecated warning
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/CommandLine/Wdeprecated.cmake 
b/Tests/RunCMake/CommandLine/Wdeprecated.cmake
new file mode 100644
index 0000000..3142b42
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/Wdeprecated.cmake
@@ -0,0 +1 @@
+message(DEPRECATION "Some deprecated warning")
diff --git a/Tests/RunCMake/CommandLine/Wno-deprecated.cmake 
b/Tests/RunCMake/CommandLine/Wno-deprecated.cmake
new file mode 100644
index 0000000..3142b42
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/Wno-deprecated.cmake
@@ -0,0 +1 @@
+message(DEPRECATION "Some deprecated warning")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=07388f83b69739116c8364e9443f10158fcdc912
commit 07388f83b69739116c8364e9443f10158fcdc912
Author:     Michael Scott <michael.scott...@gmail.com>
AuthorDate: Sun Nov 29 12:39:03 2015 +0000
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Dec 1 09:40:43 2015 -0500

    Refactor the -W options parser to be generic.
    
    Refactor the -Wdev and -Wno-dev options parser to use a generic -W
    parser that follows the GCC pattern, excluding support for
    -Werror=TYPE and -Wno-error=TYPE formats for now.

diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 5213130..e6433bd 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -127,8 +127,6 @@ cmake::cmake()
   this->WarnUnused = false;
   this->WarnUnusedCli = true;
   this->CheckSystemVars = false;
-  this->SuppressDevWarnings = false;
-  this->DoSuppressDevWarnings = false;
   this->DebugOutput = false;
   this->DebugTryCompile = false;
   this->ClearBuildSystem = false;
@@ -274,15 +272,51 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& 
args)
         return false;
         }
       }
-    else if(arg.find("-Wno-dev",0) == 0)
+    else if(cmHasLiteralPrefix(arg, "-W"))
       {
-      this->SuppressDevWarnings = true;
-      this->DoSuppressDevWarnings = true;
-      }
-    else if(arg.find("-Wdev",0) == 0)
-      {
-      this->SuppressDevWarnings = false;
-      this->DoSuppressDevWarnings = true;
+      std::string entry = arg.substr(2);
+      if (entry.empty())
+        {
+        ++i;
+        if (i < args.size())
+          {
+          entry = args[i];
+          }
+        else
+          {
+          cmSystemTools::Error("-W must be followed with [no-]<name>.");
+          return false;
+          }
+        }
+
+      std::string name;
+      bool foundNo = false;
+      unsigned int nameStartPosition = 0;
+
+      if (entry.find("no-", nameStartPosition) == 0)
+        {
+        foundNo = true;
+        nameStartPosition += 3;
+        }
+
+      name = entry.substr(nameStartPosition);
+      if (name.empty())
+        {
+        cmSystemTools::Error("No warning name provided.");
+        return false;
+        }
+
+      if (!foundNo)
+        {
+        // -W<name>
+        this->DiagLevels[name] = std::max(this->DiagLevels[name],
+                                          DIAG_WARN);
+        }
+      else
+        {
+        // -Wno<name>
+        this->DiagLevels[name] = DIAG_IGNORE;
+        }
       }
     else if(arg.find("-U",0) == 0)
       {
@@ -618,11 +652,7 @@ void cmake::SetArgs(const std::vector<std::string>& args,
       // skip for now
       i++;
       }
-    else if(arg.find("-Wno-dev",0) == 0)
-      {
-      // skip for now
-      }
-    else if(arg.find("-Wdev",0) == 0)
+    else if(arg.find("-W",0) == 0)
       {
       // skip for now
       }
@@ -1231,25 +1261,28 @@ int cmake::HandleDeleteCacheVariables(const 
std::string& var)
 
 int cmake::Configure()
 {
-  if(this->DoSuppressDevWarnings)
+  DiagLevel diagLevel;
+
+  if (this->DiagLevels.count("dev") == 1)
     {
-    if(this->SuppressDevWarnings)
+
+    diagLevel = this->DiagLevels["dev"];
+    if (diagLevel == DIAG_IGNORE)
       {
-      this->
-        AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", "TRUE",
-                      "Suppress Warnings that are meant for"
-                      " the author of the CMakeLists.txt files.",
-                      cmState::INTERNAL);
+      this->AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", "TRUE",
+                          "Suppress Warnings that are meant for"
+                          " the author of the CMakeLists.txt files.",
+                          cmState::INTERNAL);
       }
-    else
+    else if (diagLevel == DIAG_WARN)
       {
-      this->
-        AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", "FALSE",
-                      "Suppress Warnings that are meant for"
-                      " the author of the CMakeLists.txt files.",
-                      cmState::INTERNAL);
+      this->AddCacheEntry("CMAKE_SUPPRESS_DEVELOPER_WARNINGS", "FALSE",
+                          "Suppress Warnings that are meant for"
+                          " the author of the CMakeLists.txt files.",
+                          cmState::INTERNAL);
       }
     }
+
   int ret = this->ActualConfigure();
   const char* delCacheVars = this->State
                     ->GetGlobalProperty("__CMAKE_DELETE_CACHE_CHANGE_VARS_");
@@ -2805,6 +2838,21 @@ void cmake::RunCheckForUnusedVariables()
 #endif
 }
 
+void cmake::SetSuppressDevWarnings(bool b)
+{
+  // equivalent to -Wno-dev
+  if (b)
+    {
+    this->DiagLevels["dev"] = DIAG_IGNORE;
+    }
+  // equivalent to -Wdev
+  else
+    {
+    this->DiagLevels["dev"] = std::max(this->DiagLevels["dev"],
+                                       DIAG_WARN);
+    }
+}
+
 bool cmake::GetSuppressDevWarnings(cmMakefile const* mf)
 {
   /*
diff --git a/Source/cmake.h b/Source/cmake.h
index 45ac28e..1bd6d4d 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -68,6 +68,11 @@ class cmake
     DEPRECATION_WARNING
   };
 
+  enum DiagLevel
+  {
+    DIAG_IGNORE,
+    DIAG_WARN
+  };
 
   /** \brief Describes the working modes of cmake */
   enum WorkingMode
@@ -303,11 +308,7 @@ class cmake
   std::string const& GetCMakeEditCommand() const
     { return this->CMakeEditCommand; }
 
-  void SetSuppressDevWarnings(bool v)
-    {
-      this->SuppressDevWarnings = v;
-      this->DoSuppressDevWarnings = true;
-    }
+  void SetSuppressDevWarnings(bool v);
   /*
    * Get the state of the suppression of developer (author) warnings.
    * Returns false, by default, if developer warnings should be shown, true
@@ -359,8 +360,7 @@ protected:
 
   cmGlobalGenerator *GlobalGenerator;
   cmCacheManager *CacheManager;
-  bool SuppressDevWarnings;
-  bool DoSuppressDevWarnings;
+  std::map<std::string, DiagLevel> DiagLevels;
   std::string GeneratorPlatform;
   std::string GeneratorToolset;
 
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index 8eaaa08..d4f399c 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -129,13 +129,24 @@ set(RunCMake_TEST_OPTIONS -Wno-dev)
 run_cmake(Wno-dev)
 unset(RunCMake_TEST_OPTIONS)
 
-set(RunCMake_TEST_OPTIONS -Wno-dev -Wdev)
+set(RunCMake_TEST_OPTIONS -Wdev)
 run_cmake(Wdev)
 unset(RunCMake_TEST_OPTIONS)
 
 # Dev warnings should be on by default
 run_cmake(Wdev)
 
+# Conflicting -W options should honor the last value
+set(RunCMake_TEST_OPTIONS -Wno-dev -Wdev)
+run_cmake(Wdev)
+unset(RunCMake_TEST_OPTIONS)
+set(RunCMake_TEST_OPTIONS -Wdev -Wno-dev)
+run_cmake(Wno-dev)
+unset(RunCMake_TEST_OPTIONS)
+
+run_cmake_command(W_bad-arg1 ${CMAKE_COMMAND} -W)
+run_cmake_command(W_bad-arg2 ${CMAKE_COMMAND} -Wno-)
+
 set(RunCMake_TEST_OPTIONS --debug-output)
 run_cmake(debug-output)
 unset(RunCMake_TEST_OPTIONS)
diff --git a/Tests/RunCMake/CommandLine/W_bad-arg1-result.txt 
b/Tests/RunCMake/CommandLine/W_bad-arg1-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/W_bad-arg1-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CommandLine/W_bad-arg1-stderr.txt 
b/Tests/RunCMake/CommandLine/W_bad-arg1-stderr.txt
new file mode 100644
index 0000000..0c0f613
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/W_bad-arg1-stderr.txt
@@ -0,0 +1,2 @@
+CMake Error: -W must be followed with \[no-\]<name>.
+CMake Error: Problem processing arguments. Aborting.
diff --git a/Tests/RunCMake/CommandLine/W_bad-arg2-result.txt 
b/Tests/RunCMake/CommandLine/W_bad-arg2-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/W_bad-arg2-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CommandLine/W_bad-arg2-stderr.txt 
b/Tests/RunCMake/CommandLine/W_bad-arg2-stderr.txt
new file mode 100644
index 0000000..cc643df
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/W_bad-arg2-stderr.txt
@@ -0,0 +1,2 @@
+CMake Error: No warning name provided.
+CMake Error: Problem processing arguments. Aborting.

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=246b0bfbfda9a8f3091fc34fc92816aebaf60ae9
commit 246b0bfbfda9a8f3091fc34fc92816aebaf60ae9
Author:     Michael Scott <michael.scott...@gmail.com>
AuthorDate: Sun Nov 8 12:59:27 2015 +0000
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Dec 1 09:35:53 2015 -0500

    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.

diff --git a/Source/cmMessageCommand.cxx b/Source/cmMessageCommand.cxx
index 1c65ef7..fd0345d 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 62476a1..5213130 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 0630daa..45ac28e 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,
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index 2d94e29..8eaaa08 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -133,6 +133,9 @@ set(RunCMake_TEST_OPTIONS -Wno-dev -Wdev)
 run_cmake(Wdev)
 unset(RunCMake_TEST_OPTIONS)
 
+# Dev warnings should be on by default
+run_cmake(Wdev)
+
 set(RunCMake_TEST_OPTIONS --debug-output)
 run_cmake(debug-output)
 unset(RunCMake_TEST_OPTIONS)
diff --git a/Tests/RunCMake/message/RunCMakeTest.cmake 
b/Tests/RunCMake/message/RunCMakeTest.cmake
index d2bc0c3..294dfbb 100644
--- a/Tests/RunCMake/message/RunCMakeTest.cmake
+++ b/Tests/RunCMake/message/RunCMakeTest.cmake
@@ -1,5 +1,6 @@
 include(RunCMake)
 
+run_cmake(defaultmessage)
 run_cmake(nomessage)
 run_cmake(warnmessage)
 run_cmake(errormessage)
diff --git a/Tests/RunCMake/message/defaultmessage-result.txt 
b/Tests/RunCMake/message/defaultmessage-result.txt
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/Tests/RunCMake/message/defaultmessage-result.txt
@@ -0,0 +1 @@
+0
diff --git a/Tests/RunCMake/message/defaultmessage-stderr.txt 
b/Tests/RunCMake/message/defaultmessage-stderr.txt
new file mode 100644
index 0000000..95656ec
--- /dev/null
+++ b/Tests/RunCMake/message/defaultmessage-stderr.txt
@@ -0,0 +1,5 @@
+^CMake Warning \(dev\) at defaultmessage.cmake:4 \(message\):
+  This is a author warning
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
+This warning is for project developers.  Use -Wno-dev to suppress it.$
diff --git a/Tests/RunCMake/message/defaultmessage.cmake 
b/Tests/RunCMake/message/defaultmessage.cmake
new file mode 100644
index 0000000..427014d
--- /dev/null
+++ b/Tests/RunCMake/message/defaultmessage.cmake
@@ -0,0 +1,4 @@
+
+message(DEPRECATION "This is a deprecation warning")
+
+message(AUTHOR_WARNING "This is a author warning")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=deec3a3f06d341cfe0bef4e856b263eff347cc72
commit deec3a3f06d341cfe0bef4e856b263eff347cc72
Author:     Michael Scott <michael.scott...@gmail.com>
AuthorDate: Sun Nov 8 12:20:47 2015 +0000
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Nov 30 15:00:08 2015 -0500

    Make message suppression more consistent.
    
    Make the message suppression more consistent, by adding a check
    for the message related CMake variables in cmake::IssueMessage,
    which allows callers of IssueMessage other than the message
    command to behave as expected. Also added a check for
    CMAKE_SUPPRESS_DEVELOPER_WARNINGS in the message command to
    mirror the deprecated message type behaviour.
    
    Added a 'force' flag to the cmake::IssueMessage method, to
    make the message suppression consistent, when setting the
    message related CMake variables directly in a CMake file.
    
    Expand message command tests to cover the AUTHOR_WARNING message
    type as well.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 47e1731..1b0a99a 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -105,7 +105,8 @@ cmMakefile::~cmMakefile()
 
 //----------------------------------------------------------------------------
 void cmMakefile::IssueMessage(cmake::MessageType t,
-                              std::string const& text) const
+                              std::string const& text,
+                              bool force) const
 {
   // Collect context information.
   if(!this->ExecutionStatusStack.empty())
@@ -114,7 +115,8 @@ void cmMakefile::IssueMessage(cmake::MessageType t,
       {
       this->ExecutionStatusStack.back()->SetNestedError(true);
       }
-    this->GetCMakeInstance()->IssueMessage(t, text, this->GetBacktrace());
+    this->GetCMakeInstance()->IssueMessage(t, text, this->GetBacktrace(),
+                                           force);
     }
   else
     {
@@ -129,7 +131,7 @@ void cmMakefile::IssueMessage(cmake::MessageType t,
       lfc.FilePath = converter.Convert(lfc.FilePath, cmOutputConverter::HOME);
       }
     lfc.Line = 0;
-    this->GetCMakeInstance()->IssueMessage(t, text, lfc);
+    this->GetCMakeInstance()->IssueMessage(t, text, lfc, force);
     }
 }
 
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index fa1534d..362ea75 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -709,7 +709,8 @@ public:
   };
 
   void IssueMessage(cmake::MessageType t,
-                    std::string const& text) const;
+                    std::string const& text,
+                    bool force = false) const;
 
   /** Set whether or not to report a CMP0000 violation.  */
   void SetCheckCMP0000(bool b) { this->CheckCMP0000 = b; }
diff --git a/Source/cmMessageCommand.cxx b/Source/cmMessageCommand.cxx
index 2854a82..1c65ef7 100644
--- a/Source/cmMessageCommand.cxx
+++ b/Source/cmMessageCommand.cxx
@@ -43,7 +43,14 @@ bool cmMessageCommand
     }
   else if (*i == "AUTHOR_WARNING")
     {
-    type = cmake::AUTHOR_WARNING;
+    if (this->Makefile->IsOn("CMAKE_SUPPRESS_DEVELOPER_WARNINGS"))
+      {
+      return true;
+      }
+    else
+      {
+      type = cmake::AUTHOR_WARNING;
+      }
     ++i;
     }
   else if (*i == "STATUS")
@@ -73,7 +80,8 @@ bool cmMessageCommand
 
   if (type != cmake::MESSAGE)
     {
-    this->Makefile->IssueMessage(type, message);
+    // we've overriden the message type, above, so force IssueMessage to use it
+    this->Makefile->IssueMessage(type, message, true);
     }
   else
     {
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index ee1e878..62476a1 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -2485,6 +2485,45 @@ static bool cmakeCheckStampList(const char* stampList)
   return true;
 }
 
+bool cmake::IsMessageTypeVisible(cmake::MessageType t)
+{
+  bool isVisible = true;
+
+  if(t == cmake::DEPRECATION_ERROR)
+    {
+    // if CMAKE_ERROR_DEPRECATED is on, show the message, otherwise suppress it
+    const char* errorDeprecated = this->State->GetCacheEntryValue(
+                                                "CMAKE_ERROR_DEPRECATED");
+    if(cmSystemTools::IsOff(errorDeprecated))
+      {
+      isVisible = false;
+      }
+    }
+  else if (t == cmake::DEPRECATION_WARNING)
+    {
+    // if CMAKE_WARN_DEPRECATED is on, show the message, otherwise suppress it
+    const char* warnDeprecated = this->State->GetInitializedCacheValue(
+                                            "CMAKE_WARN_DEPRECATED");
+    if(cmSystemTools::IsOff(warnDeprecated))
+      {
+      isVisible = false;
+      }
+    }
+  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))
+      {
+      isVisible = false;
+      }
+    }
+
+  return isVisible;
+}
+
 bool cmake::PrintMessagePreamble(cmake::MessageType t, std::ostream& msg)
 {
   // Construct the message header.
@@ -2508,20 +2547,13 @@ bool cmake::PrintMessagePreamble(cmake::MessageType t, 
std::ostream& msg)
     {
     msg << "CMake Deprecation Warning";
     }
+  else if (t == cmake::AUTHOR_WARNING)
+    {
+    msg << "CMake Warning (dev)";
+    }
   else
     {
     msg << "CMake Warning";
-    if(t == cmake::AUTHOR_WARNING)
-      {
-      // Allow suppression of these warnings.
-      const char* suppress = this->State->GetCacheEntryValue(
-                                        "CMAKE_SUPPRESS_DEVELOPER_WARNINGS");
-      if(suppress && cmSystemTools::IsOn(suppress))
-        {
-        return false;
-        }
-      msg << " (dev)";
-      }
     }
   return true;
 }
@@ -2579,10 +2611,16 @@ void displayMessage(cmake::MessageType t, 
std::ostringstream& msg)
 
 //----------------------------------------------------------------------------
 void cmake::IssueMessage(cmake::MessageType t, std::string const& text,
-                         cmListFileBacktrace const& bt)
+                         cmListFileBacktrace const& bt,
+                         bool force)
 {
   cmListFileBacktrace backtrace = bt;
 
+  if (!force && !this->IsMessageTypeVisible(t))
+    {
+    return;
+    }
+
   std::ostringstream msg;
   if (!this->PrintMessagePreamble(t, msg))
     {
@@ -2602,8 +2640,14 @@ void cmake::IssueMessage(cmake::MessageType t, 
std::string const& text,
 
 //----------------------------------------------------------------------------
 void cmake::IssueMessage(cmake::MessageType t, std::string const& text,
-                         cmListFileContext const& lfc)
+                         cmListFileContext const& lfc,
+                         bool force)
 {
+  if (!force && !this->IsMessageTypeVisible(t))
+    {
+    return;
+    }
+
   std::ostringstream msg;
   if (!this->PrintMessagePreamble(t, msg))
     {
diff --git a/Source/cmake.h b/Source/cmake.h
index c584ad9..0630daa 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -311,9 +311,11 @@ class cmake
 
   /** Display a message to the user.  */
   void IssueMessage(cmake::MessageType t, std::string const& text,
-        cmListFileBacktrace const& backtrace = cmListFileBacktrace());
+        cmListFileBacktrace const& backtrace = cmListFileBacktrace(),
+        bool force = false);
   void IssueMessage(cmake::MessageType t, std::string const& text,
-        cmListFileContext const& lfc);
+        cmListFileContext const& lfc,
+        bool force = false);
 
   ///! run the --build option
   int Build(const std::string& dir,
@@ -419,6 +421,12 @@ private:
   // Print a list of valid generators to stderr.
   void PrintGeneratorList();
 
+  /*
+   * Check if messages of this type should be output, based on the state of the
+   * warning and error output CMake variables, in the cache.
+   */
+  bool IsMessageTypeVisible(cmake::MessageType t);
+
   bool PrintMessagePreamble(cmake::MessageType t, std::ostream& msg);
 };
 
diff --git a/Tests/RunCMake/message/nomessage.cmake 
b/Tests/RunCMake/message/nomessage.cmake
index bcc97be..582ab4d 100644
--- a/Tests/RunCMake/message/nomessage.cmake
+++ b/Tests/RunCMake/message/nomessage.cmake
@@ -1,2 +1,6 @@
 
 message(DEPRECATION "This is not issued")
+
+set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS ON)
+
+message(AUTHOR_WARNING "This is not issued")
diff --git a/Tests/RunCMake/message/warnmessage-stderr.txt 
b/Tests/RunCMake/message/warnmessage-stderr.txt
index 5c44566..e60af6e 100644
--- a/Tests/RunCMake/message/warnmessage-stderr.txt
+++ b/Tests/RunCMake/message/warnmessage-stderr.txt
@@ -1,4 +1,11 @@
-CMake Deprecation Warning at warnmessage.cmake:4 \(message\):
-  This is a warning
+^CMake Deprecation Warning at warnmessage.cmake:4 \(message\):
+  This is a deprecation warning
 Call Stack \(most recent call first\):
   CMakeLists.txt:3 \(include\)
+
+
+CMake Warning \(dev\) at warnmessage.cmake:8 \(message\):
+  This is a author warning
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
+This warning is for project developers.  Use -Wno-dev to suppress it.$
diff --git a/Tests/RunCMake/message/warnmessage.cmake 
b/Tests/RunCMake/message/warnmessage.cmake
index 4c421a1..53f2a43 100644
--- a/Tests/RunCMake/message/warnmessage.cmake
+++ b/Tests/RunCMake/message/warnmessage.cmake
@@ -1,4 +1,8 @@
 
 set(CMAKE_WARN_DEPRECATED ON)
 
-message(DEPRECATION "This is a warning")
+message(DEPRECATION "This is a deprecation warning")
+
+set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS OFF)
+
+message(AUTHOR_WARNING "This is a author warning")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aa427a4239eb691d4129ebc383ab7b0d61b5b94e
commit aa427a4239eb691d4129ebc383ab7b0d61b5b94e
Author:     Michael Scott <michael.scott...@gmail.com>
AuthorDate: Sun Nov 1 16:05:15 2015 +0000
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Nov 30 15:00:08 2015 -0500

    Tests: Revise message in RunCMake.CommandLine -Wdev case
    
    Use more prose-like capitalization.

diff --git a/Tests/RunCMake/CommandLine/Wdev-stderr.txt 
b/Tests/RunCMake/CommandLine/Wdev-stderr.txt
index 92c1d23..88cfb3a 100644
--- a/Tests/RunCMake/CommandLine/Wdev-stderr.txt
+++ b/Tests/RunCMake/CommandLine/Wdev-stderr.txt
@@ -1,5 +1,5 @@
 ^CMake Warning \(dev\) at Wdev.cmake:1 \(message\):
-  Some Author Warning
+  Some author warning
 Call Stack \(most recent call first\):
   CMakeLists.txt:3 \(include\)
 This warning is for project developers.  Use -Wno-dev to suppress it.
diff --git a/Tests/RunCMake/CommandLine/Wdev.cmake 
b/Tests/RunCMake/CommandLine/Wdev.cmake
index e5026ef..756f31e 100644
--- a/Tests/RunCMake/CommandLine/Wdev.cmake
+++ b/Tests/RunCMake/CommandLine/Wdev.cmake
@@ -1,4 +1,4 @@
-message(AUTHOR_WARNING "Some Author Warning")
+message(AUTHOR_WARNING "Some author warning")
 
 # with -Wdev this will also cause an AUTHOR_WARNING message, checks that
 # messages issued outside of the message command, by other CMake commands, also
diff --git a/Tests/RunCMake/CommandLine/Wno-dev.cmake 
b/Tests/RunCMake/CommandLine/Wno-dev.cmake
index d81b858..802b435 100644
--- a/Tests/RunCMake/CommandLine/Wno-dev.cmake
+++ b/Tests/RunCMake/CommandLine/Wno-dev.cmake
@@ -1,4 +1,4 @@
-message(AUTHOR_WARNING "Some Author Warning")
+message(AUTHOR_WARNING "Some author warning")
 
 # without -Wno-dev this will also cause an AUTHOR_WARNING message, checks that
 # messages issued outside of the message command, by other CMake commands, also

-----------------------------------------------------------------------

Summary of changes:
 Help/manual/OPTIONS_BUILD.txt                      |   17 +-
 Help/release/dev/cmake-W-options.rst               |   12 +
 Help/variable/CMAKE_ERROR_DEPRECATED.rst           |    7 +-
 Help/variable/CMAKE_WARN_DEPRECATED.rst            |    9 +-
 Source/cmMakefile.cxx                              |    8 +-
 Source/cmMakefile.h                                |    3 +-
 Source/cmMessageCommand.cxx                        |   27 ++-
 Source/cmake.cxx                                   |  251 ++++++++++++++++----
 Source/cmake.h                                     |   43 +++-
 Tests/RunCMake/CommandLine/RunCMakeTest.cmake      |   38 +++
 .../W_bad-arg1-result.txt}                         |    0
 Tests/RunCMake/CommandLine/W_bad-arg1-stderr.txt   |    2 +
 .../W_bad-arg2-result.txt}                         |    0
 Tests/RunCMake/CommandLine/W_bad-arg2-stderr.txt   |    2 +
 Tests/RunCMake/CommandLine/Wdeprecated-stderr.txt  |    4 +
 Tests/RunCMake/CommandLine/Wdeprecated.cmake       |    1 +
 Tests/RunCMake/CommandLine/Wdev-stderr.txt         |    2 +-
 Tests/RunCMake/CommandLine/Wdev.cmake              |    2 +-
 Tests/RunCMake/CommandLine/Wno-deprecated.cmake    |    1 +
 Tests/RunCMake/CommandLine/Wno-dev.cmake           |    2 +-
 Tests/RunCMake/message/RunCMakeTest.cmake          |    1 +
 .../defaultmessage-result.txt}                     |    0
 Tests/RunCMake/message/defaultmessage-stderr.txt   |   11 +
 Tests/RunCMake/message/defaultmessage.cmake        |    4 +
 Tests/RunCMake/message/nomessage.cmake             |    6 +
 Tests/RunCMake/message/warnmessage-stderr.txt      |   11 +-
 Tests/RunCMake/message/warnmessage.cmake           |    6 +-
 27 files changed, 393 insertions(+), 77 deletions(-)
 create mode 100644 Help/release/dev/cmake-W-options.rst
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => 
CommandLine/W_bad-arg1-result.txt} (100%)
 create mode 100644 Tests/RunCMake/CommandLine/W_bad-arg1-stderr.txt
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => 
CommandLine/W_bad-arg2-result.txt} (100%)
 create mode 100644 Tests/RunCMake/CommandLine/W_bad-arg2-stderr.txt
 create mode 100644 Tests/RunCMake/CommandLine/Wdeprecated-stderr.txt
 create mode 100644 Tests/RunCMake/CommandLine/Wdeprecated.cmake
 create mode 100644 Tests/RunCMake/CommandLine/Wno-deprecated.cmake
 copy Tests/RunCMake/{CMP0022/CMP0022-WARN-empty-old-result.txt => 
message/defaultmessage-result.txt} (100%)
 create mode 100644 Tests/RunCMake/message/defaultmessage-stderr.txt
 create mode 100644 Tests/RunCMake/message/defaultmessage.cmake


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to