Browse Source

Help: Organize and revise 3.22 release notes

Add section headers similar to the 3.21 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
Brad King 4 years ago
parent
commit
c632a7105c
1 changed files with 89 additions and 69 deletions
  1. 89 69
      Help/release/3.22.rst

+ 89 - 69
Help/release/3.22.rst

@@ -7,53 +7,22 @@ CMake 3.22 Release Notes
 
 Changes made since CMake 3.21 include the following.
 
-* The :module:`CMakeDependentOption` module :command:`cmake_dependent_option`
-  macro now supports full :ref:`Condition Syntax`.
-  See policy :policy:`CMP0127`.
-
-* The :envvar:`CMAKE_INSTALL_MODE` environment variable was added to
-  allow users to override the default file-copying behavior of
-  :command:`install` and :command:`file(INSTALL)` into creating
-  symbolic links. This can aid in lowering storage space requirements
-  and avoiding redundancy.
+New Features
+============
 
-* The :command:`file(INSTALL)` can now be affected / modified by the
-  :envvar:`CMAKE_INSTALL_MODE` environment variable causing installation
-  of symbolic links instead of copying of files.
+Commands
+--------
 
-* The :command:`install` can now be affected / modified by the
-  :envvar:`CMAKE_INSTALL_MODE` environment variable causing installation
-  of symbolic links instead of copying of files.
-
-* The :manual:`Compile Features <cmake-compile-features(7)>` functionality now
-  correctly disables or enables compiler extensions when no standard level is
-  specified and avoids unnecessarily adding language standard flags if the
-  requested settings match the compiler's defaults. See :policy:`CMP0128`.
+* The :command:`cmake_host_system_information` command can now query
+  `OS identification variables`_ from the :file:`/etc/os-release` file.
 
-* :prop_tgt:`<LANG>_EXTENSIONS` is initialized to
-  :variable:`CMAKE_<LANG>_EXTENSIONS_DEFAULT`. See :policy:`CMP0128`.
-
-* The :cpack_gen:`CPack DEB Generator` gained the
-  option to set :variable:`CPACK_DEBIAN_COMPRESSION_TYPE` to zstd,
-  which enables Zstandard compression for deb packages.
-
-* The :cpack_gen:`CPack RPM Generator` gained the
-  :variable:`CPACK_RPM_REQUIRES_EXCLUDE_FROM` option avoid scanning
-  specific paths for dependencies.
-
-* :manual:`ctest(1)` learned to be able to modify the environment for a test
-  through the :prop_test:`ENVIRONMENT_MODIFICATION` property. This is allows
-  for updates to environment variables based on the environment present at
-  test time.
+* The :command:`string(TIMESTAMP)` command now supports the ``%V``
+  specifier for ISO 8601 week numbers.
 
-* The :command:`ctest_memcheck` command now also generates a
-  `DynamicAnalysis-Test.xml` file which may be used to submit test results to
-  CDash.
+.. _`OS identification variables`: https://www.freedesktop.org/software/systemd/man/os-release.html
 
-* :manual:`ctest(1)` learned to recognize labels attached to a test at run time.
-  Previously it was only possible to attach labels to tests at configure time
-  by using the :prop_test:`LABELS` test property.
-  See :ref:`Additional Test Measurements` for more information.
+Variables
+---------
 
 * The :envvar:`CMAKE_BUILD_TYPE` environment variable was added to
   provide a default value for the :variable:`CMAKE_BUILD_TYPE` variable.
@@ -62,6 +31,36 @@ Changes made since CMake 3.21 include the following.
   provide a default value for the :variable:`CMAKE_CONFIGURATION_TYPES`
   variable.
 
+* The :envvar:`CMAKE_INSTALL_MODE` environment variable was added to
+  tell :command:`install` rules (implemented by :command:`file(INSTALL)`)
+  to install symbolic links instead of copying of files.
+
+* The :variable:`CMAKE_<LANG>_LINK_WHAT_YOU_USE_FLAG` and
+  :variable:`CMAKE_LINK_WHAT_YOU_USE_CHECK` variables were added to
+  control the linker flag and check used by the
+  :prop_tgt:`LINK_WHAT_YOU_USE` target property.
+
+* The :variable:`CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>` variable
+  was added to turn a non-REQUIRED :command:`find_package` call into
+  a REQUIRED one.
+
+Properties
+----------
+
+* The :prop_tgt:`<LANG>_EXTENSIONS` target property is now initialized to
+  :variable:`CMAKE_<LANG>_EXTENSIONS_DEFAULT`, detected from the compiler.
+  See :policy:`CMP0128`.
+
+* The :prop_sf:`VS_SETTINGS` source file property is now supported for
+  all source file types.  Previously it worked only for non-built sources.
+
+Modules
+-------
+
+* The :module:`CMakeDependentOption` module :command:`cmake_dependent_option`
+  macro now supports full :ref:`Condition Syntax`.
+  See policy :policy:`CMP0127`.
+
 * The :module:`FetchContent` module now passes through the
   :variable:`CMAKE_TLS_VERIFY`, :variable:`CMAKE_TLS_CAINFO`,
   :variable:`CMAKE_NETRC` and :variable:`CMAKE_NETRC_FILE` variables (when
@@ -76,9 +75,6 @@ Changes made since CMake 3.21 include the following.
 
 * The :module:`FindMatlab` module now provides imported targets.
 
-* The :variable:`CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>` variable was added
-  to turn a non-REQUIRED :command:`find_package` call into a REQUIRED one.
-
 * The :module:`FindPkgConfig` module gained a :variable:`PKG_CONFIG_ARGN`
   variable to specify arguments to ``pkg-config`` calls.
 
@@ -86,39 +82,63 @@ Changes made since CMake 3.21 include the following.
   function gained a ``TEST_FILTER`` option to filter tests using
   ``--gtest_filter`` during test discovery.
 
-* Configuration for :prop_tgt:`LINK_WHAT_YOU_USE` feature is now controlled by
-  ``CMake`` variables and only active for ``ELF`` platforms.
+* The :module:`UseSWIG` module, for :ref:`Visual Studio Generators`,
+  can now use the ``swig`` tool to generate implicit dependencies.
 
-* The MSVC compilers learned to pass the ``-external:I`` flag for system
-  includes when using the :generator:`Ninja` and :generator:`NMake Makefiles`
-  generators. This became available as of Visual Studio 16.10 (toolchain
-  version 14.29.30037).
+CTest
+-----
 
-* The :ref:`Ninja Generators` now implement the ``edit_cache`` target
-  using :manual:`ccmake(1)` if available.
+* :manual:`ctest(1)` learned to recognize labels attached to a test at run time.
+  Previously it was only possible to attach labels to tests at configure time
+  by using the :prop_test:`LABELS` test property.
+  See :ref:`Additional Test Measurements` for more information.
 
-* The :cpack_gen:`CPack NSIS Generator` gained a new variable
-  :variable:`CPACK_NSIS_IGNORE_LICENSE_PAGE` to ignore the
-  license page in the installer.
+* :manual:`ctest(1)` learned to be able to modify the environment for a test
+  through the :prop_test:`ENVIRONMENT_MODIFICATION` property. This is allows
+  for updates to environment variables based on the environment present at
+  test time.
 
-* The :cpack_gen:`CPack NSIS Generator` now requires NSIS 3.03 or later.
+* The :command:`ctest_memcheck` command now also generates a
+  :file:`DynamicAnalysis-Test.xml` file which may be used to submit test
+  results to CDash.
 
-* The :command:`cmake_host_system_information` command query operating system
-  identification `variables <https://www.freedesktop.org/software/systemd/man/os-release.html>`_
-  from the :file:`/etc/os-release` file.
+CPack
+-----
 
-* The :command:`string(TIMESTAMP)` command now supports the ``%V``
-  specifier for ISO 8601 week numbers.
+* The :cpack_gen:`CPack DEB Generator` gained the
+  option to set :variable:`CPACK_DEBIAN_COMPRESSION_TYPE` to ``zstd``,
+  which enables Zstandard compression for deb packages.
+
+* The :cpack_gen:`CPack NSIS Generator` gained a new
+  :variable:`CPACK_NSIS_IGNORE_LICENSE_PAGE` variable to suppress
+  the license page in the installer.
 
-* :command:`target_compile_features` learned to ignored features for languages that
-  aren't enabled.
+* The :cpack_gen:`CPack RPM Generator` gained the
+  :variable:`CPACK_RPM_REQUIRES_EXCLUDE_FROM` option to avoid scanning
+  specific paths for dependencies.
 
-* :module:`UseSWIG` module gained the capability, for
-  :ref:`Visual Studio Generators` to use `swig` tool to generate implicit
-  dependencies.
+Deprecated and Removed Features
+===============================
 
 * The :generator:`Visual Studio 10 2010` generator is now deprecated
   and will be removed in a future version of CMake.
 
-* The :prop_sf:`VS_SETTINGS` source file property is now supported for
-  all source file types.  Previously it worked only for non-built sources.
+Other Changes
+=============
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality now
+  correctly disables or enables compiler extensions when no standard level is
+  specified and avoids unnecessarily adding language standard flags if the
+  requested settings match the compiler's defaults. See :policy:`CMP0128`.
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+  now ignores features for languages that are not enabled.
+
+* The :ref:`Ninja Generators` now implement the ``edit_cache`` target
+  using :manual:`ccmake(1)` if available.
+
+* The :generator:`Ninja` and :generator:`NMake Makefiles` generators
+  now use the MSVC ``-external:I`` flag for system includes.
+  This became available as of VS 16.10 (toolchain version 14.29.30037).
+
+* The :cpack_gen:`CPack NSIS Generator` now requires NSIS 3.03 or later.