Merge topic 'doc-3.22-relnotes'

9f0b52b8e6 Help: Update Sphinx versionadded directives for 3.22 release
c632a7105c Help: Organize and revise 3.22 release notes
48e503ec78 Help: Consolidate 3.22 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6606
This commit is contained in:
Brad King
2021-10-08 13:58:11 +00:00
committed by Kitware Robot
32 changed files with 151 additions and 170 deletions
+2
View File
@@ -1,6 +1,8 @@
CMP0127
-------
.. versionadded:: 3.22
:command:`cmake_dependent_option` supports full :ref:`Condition Syntax`.
The ``<depends>`` parameter accepts a :ref:`semicolon-separated list <CMake
@@ -1,6 +1,8 @@
ENVIRONMENT_MODIFICATION
------------------------
.. versionadded:: 3.22
Specify environment variables that should be modified for running a test. Note
that the operations performed by this property are performed after the
:prop_test:`ENVIRONMENT` property is already applied.
@@ -1,6 +1,8 @@
Fortran_BUILDING_INSTRINSIC_MODULES
-----------------------------------
.. versionadded:: 3.22
Instructs the CMake Fortran preprocessor that the target is building
Fortran intrinsics for building a Fortran compiler.
+144
View File
@@ -0,0 +1,144 @@
CMake 3.22 Release Notes
************************
.. only:: html
.. contents::
Changes made since CMake 3.21 include the following.
New Features
============
Commands
--------
* The :command:`cmake_host_system_information` command can now query
`OS identification variables`_ from the :file:`/etc/os-release` file.
* The :command:`string(TIMESTAMP)` command now supports the ``%V``
specifier for ISO 8601 week numbers.
.. _`OS identification variables`: https://www.freedesktop.org/software/systemd/man/os-release.html
Variables
---------
* The :envvar:`CMAKE_BUILD_TYPE` environment variable was added to
provide a default value for the :variable:`CMAKE_BUILD_TYPE` variable.
* The :envvar:`CMAKE_CONFIGURATION_TYPES` environment variable was added to
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
defined) to the underlying :module:`ExternalProject` sub-build.
Previously, those variables were silently ignored by :module:`FetchContent`.
* The :module:`FindBLAS` and :module:`FindLAPACK` modules gained
a ``BLA_SIZEOF_INTEGER`` option to find a BLAS/LAPACK whose ABI
uses a specific integer size.
* The :module:`FindJasper` module now provides an imported target.
* The :module:`FindMatlab` module now provides imported targets.
* The :module:`FindPkgConfig` module gained a :variable:`PKG_CONFIG_ARGN`
variable to specify arguments to ``pkg-config`` calls.
* The :module:`GoogleTest` module :command:`gtest_discover_tests`
function gained a ``TEST_FILTER`` option to filter tests using
``--gtest_filter`` during test discovery.
* The :module:`UseSWIG` module, for :ref:`Visual Studio Generators`,
can now use the ``swig`` tool to generate implicit dependencies.
CTest
-----
* :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.
* :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:`ctest_memcheck` command now also generates a
:file:`DynamicAnalysis-Test.xml` file which may be used to submit test
results to CDash.
CPack
-----
* 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.
* The :cpack_gen:`CPack RPM Generator` gained the
:variable:`CPACK_RPM_REQUIRES_EXCLUDE_FROM` option to avoid scanning
specific paths for 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.
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.
@@ -1,4 +0,0 @@
FindJasper-imported-target
--------------------------
* The :module:`FindJasper` module now provides an imported target.
@@ -1,5 +0,0 @@
FindPkgConfig-PKG_CONFIG-args
-----------------------------
* The :module:`FindPkgConfig` module gained a :variable:`PKG_CONFIG_ARGN`
variable to specify arguments to ``pkg-config`` calls.
@@ -1,6 +0,0 @@
GoogleTest-gtest-filter
-----------------------
* The :module:`GoogleTest` module :command:`gtest_discover_tests`
function gained a ``TEST_FILTER`` option to filter tests using
``--gtest_filter`` during test discovery.
@@ -1,5 +0,0 @@
LINK_WHAT_YOU_USE-configuration
-------------------------------
* Configuration for :prop_tgt:`LINK_WHAT_YOU_USE` feature is now controlled by
``CMake`` variables and only active for ``ELF`` platforms.
@@ -1,6 +0,0 @@
UseSWIG-dependencies
--------------------
* :module:`UseSWIG` module gained the capability, for
:ref:`Visual Studio Generators` to use `swig` tool to generate implicit
dependencies.
@@ -1,16 +0,0 @@
cmake-install-mode-symlink
--------------------------
* 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.
* 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.
* 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.
@@ -1,6 +0,0 @@
cmake_dependent_option_policy
-----------------------------
* The :module:`CMakeDependentOption` module :command:`cmake_dependent_option`
macro now supports full :ref:`Condition Syntax`.
See policy :policy:`CMP0127`.
@@ -1,10 +0,0 @@
compile-features-standard-logic-rework
--------------------------------------
* 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`.
* :prop_tgt:`<LANG>_EXTENSIONS` is initialized to
:variable:`CMAKE_<LANG>_EXTENSIONS_DEFAULT`. See :policy:`CMP0128`.
@@ -1,6 +0,0 @@
cpack-deb-add-zstd-compression
------------------------------
* 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.
@@ -1,6 +0,0 @@
cpack-rpm-requires-exclude-from
-------------------------------
* The :cpack_gen:`CPack RPM Generator` gained the
:variable:`CPACK_RPM_REQUIRES_EXCLUDE_FROM` option avoid scanning
specific paths for dependencies.
@@ -1,7 +0,0 @@
ctest-environment-modifications
-------------------------------
* :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.
@@ -1,7 +0,0 @@
ctest-runtime-labels
--------------------
* :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.
@@ -1,6 +0,0 @@
ctest_memcheck-generate-test.xml
--------------------------------
* The :command:`ctest_memcheck` command now also generates a
`DynamicAnalysis-Test.xml` file which may be used to submit test results to
CDash.
-9
View File
@@ -1,9 +0,0 @@
env-init-configs
----------------
* The :envvar:`CMAKE_BUILD_TYPE` environment variable was added to
provide a default value for the :variable:`CMAKE_BUILD_TYPE` variable.
* The :envvar:`CMAKE_CONFIGURATION_TYPES` environment variable was added to
provide a default value for the :variable:`CMAKE_CONFIGURATION_TYPES`
variable.
@@ -1,8 +0,0 @@
fetchcontent-CMAKE-vars-passthrough.rst
---------------------------------------
* 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
defined) to the underlying :module:`ExternalProject` sub-build.
Previously, those variables were silently ignored by :module:`FetchContent`.
@@ -1,6 +0,0 @@
find-blas-lapack-sizeof-integer
-------------------------------
* The :module:`FindBLAS` and :module:`FindLAPACK` modules gained
a ``BLA_SIZEOF_INTEGER`` option to find a BLAS/LAPACK whose ABI
uses a specific integer size.
@@ -1,4 +0,0 @@
find-matlab-imported-targets
----------------------------
* The :module:`FindMatlab` module now provides imported targets.
@@ -1,5 +0,0 @@
find_package-required-var
-------------------------
* The :variable:`CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>` variable was added
to turn a non-REQUIRED :command:`find_package` call into a REQUIRED one.
-7
View File
@@ -1,7 +0,0 @@
msvc-isystem
------------
* 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).
-5
View File
@@ -1,5 +0,0 @@
ninja-edit_cache
----------------
* The :ref:`Ninja Generators` now implement the ``edit_cache`` target
using :manual:`ccmake(1)` if available.
@@ -1,4 +0,0 @@
nsis-minimal-version.rst
------------------------
* The :cpack_gen:`CPack NSIS Generator` now requires NSIS 3.03 or later.
@@ -1,6 +0,0 @@
nsis_ignore_install_page
------------------------
* The :cpack_gen:`CPack NSIS Generator` gained a new variable
:variable:`CPACK_NSIS_IGNORE_LICENSE_PAGE` to ignore the
license page in the installer.
-6
View File
@@ -1,6 +0,0 @@
os-release
----------
* 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.
@@ -1,5 +0,0 @@
string-TIMESTAMP-specifier-V
----------------------------
* The :command:`string(TIMESTAMP)` command now supports the ``%V``
specifier for ISO 8601 week numbers.
@@ -1,5 +0,0 @@
target_compile_features-ignore-disabled-langs
---------------------------------------------
* :command:`target_compile_features` learned to ignored features for languages that
aren't enabled.
-5
View File
@@ -1,5 +0,0 @@
vs10-deprecate
--------------
* The :generator:`Visual Studio 10 2010` generator is now deprecated
and will be removed in a future version of CMake.
-5
View File
@@ -1,5 +0,0 @@
vs_settings
-----------
* The :prop_sf:`VS_SETTINGS` source file property is now supported for
all source file types. Previously it worked only for non-built sources.
+1
View File
@@ -15,6 +15,7 @@ Releases
.. toctree::
:maxdepth: 1
3.22 <3.22>
3.21 <3.21>
3.20 <3.20>
3.19 <3.19>