[Cmake-commits] CMake branch, next, updated. v3.3.0-rc4-1143-g9f87078

Stephen Kelly steveire at gmail.com
Sat Jul 18 15:04:57 EDT 2015


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  9f87078447f4a210c79ef08e48c001470a7d1cbd (commit)
       via  2b3319e6ed7bd6eb4b57c129503e422340211fba (commit)
      from  dc2e330860d8943d784f96f24c00af648d4dce6b (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 -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9f87078447f4a210c79ef08e48c001470a7d1cbd
commit 9f87078447f4a210c79ef08e48c001470a7d1cbd
Merge: dc2e330 2b3319e
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jul 18 15:04:56 2015 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sat Jul 18 15:04:56 2015 -0400

    Merge topic 'end-Policy-lifetime' into next
    
    2b3319e6 Help: Document the lifecycle of policies.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2b3319e6ed7bd6eb4b57c129503e422340211fba
commit 2b3319e6ed7bd6eb4b57c129503e422340211fba
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jul 18 21:04:14 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Jul 18 21:04:14 2015 +0200

    Help: Document the lifecycle of policies.

diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index 0a313cd..a1e9e7a 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -23,8 +23,39 @@ either ``NEW`` or ``OLD`` behavior explicitly on the command line with the
 A policy is a deprecation mechanism and not a reliable feature toggle.
 A policy should almost never be set to ``OLD``, except to silence warnings
 in an otherwise frozen or stable codebase, or temporarily as part of a
-larger migration path. The ``OLD`` behavior of each policy is undesirable
+larger migration path.  The ``OLD`` behavior of each policy is undesirable
 and will be replaced with an error condition in a future release.
+Maintainers should take timely action to ensure their code works with both
+new and existing versions of CMake without requiring an explicit policy
+setting.  Most policies indicate ways that the code should be changed
+which work with both new and existing CMake releases.
+
+The lifecycle of a policy is:
+
+1. The Policy is introduced in a new version of CMake.  By default the
+  policy issues a warning if code is encountered which depends on ``OLD``
+  behavior.  The warning can be disabled in this release by using
+  the :command:`cmake_policy` command, or by passing ``-Wno-dev`` to
+  the :manual:`cmake(1)` program.
+2. In the release following its introduction, use of
+  the :command:`cmake_policy` command has no effect on whether the
+  warning is issued or not.  Passing ``-Wno-dev`` to
+  the :manual:`cmake(1)` program still silences the warning.
+3. Two releases after the introduction of the policy,
+  passing ``-Wno-dev`` to the :manual:`cmake(1)` program no longer
+  has any effect.
+4. Four releases after the introduction of the policy, the policy may
+  issue an error instead of a warning if ``OLD`` behavior is relied upon.
+  This indicates that the policy has reached the end of its life and the
+  code implementing the ``OLD`` behavior has been removed from the CMake
+  implementation.  Some policies may continue to issue only a warning
+  even four releases after introduction.  This does not mean that it is
+  ok to continue to rely on ``OLD`` behavior.
+
+Note that many existing policies currently have states that appear to not
+follow this lifecycle.  This does not mean that it is ok to continue to
+rely on ``OLD`` behavior for those policies; they will be brought in line
+with this lifecycle in a future release of CMake.
 
 The :command:`cmake_minimum_required` command does more than report an
 error if a too-old version of CMake is used to build a project.  It

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

Summary of changes:
 Help/manual/cmake-policies.7.rst |   33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list