mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-04 14:50:23 +00:00
Help: Consolidate 3.22 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.22.rst`.
This commit is contained in:
124
Help/release/3.22.rst
Normal file
124
Help/release/3.22.rst
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
CMake 3.22 Release Notes
|
||||||
|
************************
|
||||||
|
|
||||||
|
.. only:: html
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
* 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`.
|
||||||
|
|
||||||
|
* 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:`ctest_memcheck` command now also generates a
|
||||||
|
`DynamicAnalysis-Test.xml` file which may be used to submit test results to
|
||||||
|
CDash.
|
||||||
|
|
||||||
|
* :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 :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 :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 :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.
|
||||||
|
|
||||||
|
* The :module:`GoogleTest` module :command:`gtest_discover_tests`
|
||||||
|
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 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).
|
||||||
|
|
||||||
|
* The :ref:`Ninja Generators` now implement the ``edit_cache`` target
|
||||||
|
using :manual:`ccmake(1)` if available.
|
||||||
|
|
||||||
|
* The :cpack_gen:`CPack NSIS Generator` gained a new variable
|
||||||
|
:variable:`CPACK_NSIS_IGNORE_LICENSE_PAGE` to ignore the
|
||||||
|
license page in the installer.
|
||||||
|
|
||||||
|
* The :cpack_gen:`CPack NSIS Generator` now requires NSIS 3.03 or later.
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
* The :command:`string(TIMESTAMP)` command now supports the ``%V``
|
||||||
|
specifier for ISO 8601 week numbers.
|
||||||
|
|
||||||
|
* :command:`target_compile_features` learned to ignored features for languages that
|
||||||
|
aren't enabled.
|
||||||
|
|
||||||
|
* :module:`UseSWIG` module gained the capability, for
|
||||||
|
:ref:`Visual Studio Generators` to use `swig` tool to generate implicit
|
||||||
|
dependencies.
|
||||||
|
|
||||||
|
* 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.
|
||||||
@@ -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.
|
|
||||||
@@ -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.
|
|
||||||
@@ -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).
|
|
||||||
@@ -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.
|
|
||||||
@@ -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.
|
|
||||||
@@ -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.
|
|
||||||
@@ -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.
|
|
||||||
@@ -15,6 +15,7 @@ Releases
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
3.22 <3.22>
|
||||||
3.21 <3.21>
|
3.21 <3.21>
|
||||||
3.20 <3.20>
|
3.20 <3.20>
|
||||||
3.19 <3.19>
|
3.19 <3.19>
|
||||||
|
|||||||
Reference in New Issue
Block a user