summaryrefslogtreecommitdiffstats
path: root/Help/dev
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-06-12 12:55:47 (GMT)
committerCraig Scott <craig.scott@crascit.com>2020-06-13 01:44:04 (GMT)
commit9710790a39e2c075eeef06ed529d568385a4f445 (patch)
tree699cea3ae4d5d8b457eed8093a66b62582386c81 /Help/dev
parent6f6651f7288a8ba651a95c46bebf57fc59e6dc16 (diff)
downloadCMake-9710790a39e2c075eeef06ed529d568385a4f445.zip
CMake-9710790a39e2c075eeef06ed529d568385a4f445.tar.gz
CMake-9710790a39e2c075eeef06ed529d568385a4f445.tar.bz2
Help/dev: Add maintainer guide step for initial post-release development
Document steps for deprecating old policy settings and future-proofing export files generated by `install(EXPORT)`.
Diffstat (limited to 'Help/dev')
-rw-r--r--Help/dev/maint.rst25
1 files changed, 25 insertions, 0 deletions
diff --git a/Help/dev/maint.rst b/Help/dev/maint.rst
index a1c1a6f..9b6774b 100644
--- a/Help/dev/maint.rst
+++ b/Help/dev/maint.rst
@@ -299,3 +299,28 @@ announcing that post-release development is open::
before staging or merging.
.. _`CMake Discourse Forum Development Category`: https://discourse.cmake.org/c/development
+
+Initial Post-Release Development
+--------------------------------
+
+Deprecate policies more than 8 release series old by updating the
+policy range check in ``cmMakefile::SetPolicy``.
+Commit with a message such as::
+
+ Add deprecation warnings for policies CMP#### and below
+
+ The OLD behaviors of all policies are deprecated, but only by
+ documentation. Add an explicit deprecation diagnostic for policies
+ introduced in CMake $OLDVER and below to encourage projects to port
+ away from setting policies to OLD.
+
+Update the ``cmake_policy`` version range generated by ``install(EXPORT)``
+in ``cmExportFileGenerator::GeneratePolicyHeaderCode`` to end at the
+previous release. We use one release back since we now know all the
+policies added for that version. Commit with a message such as::
+
+ export: Increase maximum policy version in exported files to $prev
+
+ The files generatd by `install(EXPORT)` and `export()` commands
+ are known to work with policies as of CMake $prev, so enable them
+ in sufficiently new CMake versions.