Commit 9a68b493 authored by Brad King's avatar Brad King Committed by Kitware Robot
Browse files

Merge topic 'doc-3.20-relnotes'

a30d096c Help: Update Sphinx versionadded directives for 3.20 release
704878e3 Help: Organize and revise 3.20 release notes
49116367

 Help: Consolidate 3.20 release notes
Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
Merge-request: !5790
parents ea07176b a30d096c
Pipeline #213685 canceled with stages
in 8 minutes and 49 seconds
cmake_path
----------
* The :command:`cmake_path` command was added for operations on
filesystem paths.
configure_file-user-permissions
-------------------------------
* The :command:`configure_file` command gained a ``USE_SOURCE_PERMISSIONS``
and ``FILE_PERMISSIONS`` option to support copying of permissions of source
file and specifying user defined permissions.
cpack-compression-threads
-------------------------
* :module:`CPack` gained the :variable:`CPACK_THREADS` variable to
control the number of threads used for parallelized operations,
such as compressing the installer package.
cpack-deb-shlibdeps-resolving-private-dependencies
--------------------------------------------------
* The :module:`CPackDeb` module learned a new
:variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS`
variable to specify additional search directories for
resolving private library dependencies when using
``dpkg-shlibdeps``.
cpack-nsis-branding-text
------------------------
* The :cpack_gen:`CPack NSIS Generator` gained new variables
:variable:`CPACK_NSIS_BRANDING_TEXT` and
:variable:`CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION` to change the
text at the bottom of the install window and change its trim position
cpack-nsis-utf8-bom
-------------------
* The :cpack_gen:`CPack NSIS Generator` now handles correctly Unicode characters.
If you want to have a ``CPACK_RESOURCE_FILE_LICENSE`` with UTF-8 characters
it needs to be encoded in UTF-8 BOM.
cpack-nuget
-----------
* The :cpack_gen:`CPack NuGet Generator` gained options:
- :variable:`CPACK_NUGET_PACKAGE_ICON` and
:variable:`CPACK_NUGET_<compName>_PACKAGE_ICON`
allow package icons to be specified by local files.
- :variable:`CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION` and
:variable:`CPACK_NUGET_<compName>_PACKAGE_LICENSE_EXPRESSION` add
support for specifying licenses recognized by the
`Software Package Data Exchange`_ (SPDX).
- :variable:`CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME` and
:variable:`CPACK_NUGET_<compName>_PACKAGE_LICENSE_FILE_NAME` allow
licenses to be specified by local files.
- :variable:`CPACK_NUGET_PACKAGE_LANGUAGE` and
:variable:`CPACK_NUGET_<compName>_PACKAGE_LANGUAGE` allow the locale
for a package to be specified, for example ``en_CA``.
Some other variables have been deprecated to reflect changes in the
NuGet specification:
- :variable:`CPACK_NUGET_PACKAGE_ICONURL` and
:variable:`CPACK_NUGET_<compName>_PACKAGE_ICONURL` have been deprecated;
replace with a reference to a local icon file.
- :variable:`CPACK_NUGET_PACKAGE_LICENSEURL` and
:variable:`CPACK_NUGET_<compName>_PACKAGE_LICENSEURL` have been deprecated;
replace with a reference to the project's license file or SPDX
license expression.
.. _Software Package Data Exchange: https://spdx.org/
cpackifw-package-wizard-show-page-list
--------------------------------------
* The :cpack_gen:`CPack IFW Generator` gained new
:variable:`CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST` variable to
control visibility of the widget listing installer pages on the left side
of the wizard. This feature available only since QtIFW 4.0.
cpp-cuda-23
-----------
* :prop_tgt:`CXX_STANDARD`, :prop_tgt:`CUDA_STANDARD`,
:prop_tgt:`OBJCXX_STANDARD` and the
:manual:`Compile Features <cmake-compile-features(7)>` functionality gained
support for C++23.
ctest-test-dir.rst
------------------
* :manual:`ctest(1)` gained a ``--test-dir`` option to specify the directory
in which to look for tests.
cuda-archs-env
--------------
* The :envvar:`CUDAARCHS` environment variable was added for initializing
:variable:`CMAKE_CUDA_ARCHITECTURES`. Useful in cases where the compiler
default is unsuitable for the machine's GPU.
cuda-nvcc-ccache-symlink
------------------------
* ``CUDA`` language support now works when ``nvcc`` is a symbolic link,
for example due to a ``ccache`` or ``colornvcc`` wrapper script.
* The :module:`FindCUDAToolkit` module gained support for finding CUDA
toolkits when ``nvcc`` is a symbolic link,
for example due to a ``ccache`` or ``colornvcc`` wrapper script.
custom-command-output-genex
---------------------------
* :command:`add_custom_command` and :command:`add_custom_target` now
support :manual:`generator expressions <cmake-generator-expressions(7)>`
in their ``OUTPUT`` and ``BYPRODUCTS`` options.
Their ``COMMAND``, ``WORKING_DIRECTORY``, and ``DEPENDS`` options gained
support for new generator expressions ``$<COMMAND_CONFIG:...>`` and
``$<OUTPUT_CONFIG:...>`` that control cross-config handling when using
the :generator:`Ninja Multi-Config` generator.
explicit-LANGUAGE-flag
----------------------
* The :prop_sf:`LANGUAGE` source file property now forces compilation
as the specified language. See policy :policy:`CMP0119`.
explicit-source-extensions
--------------------------
* Source file extensions must now be explicit. See policy :policy:`CMP0115` for
details.
export-compile-commands-per-target
----------------------------------
* The :prop_tgt:`EXPORT_COMPILE_COMMANDS` target property was added
for the associated :variable:`CMAKE_EXPORT_COMPILE_COMMANDS` variable
to allow for configuration of exporting compile commands per target.
external-project-configure-handled-by-build
-------------------------------------------
* The :module:`ExternalProject` function ``ExternalProject_Add`` learned a new
``CONFIGURE_HANDLED_BY_BUILD`` option to have subsequent runs of the configure
step be triggered by the build step when an external project dependency
rebuilds instead of always rerunning the configure step when an external
project dependency rebuilds.
fetchcontent-performance
------------------------
* The implementation of the :module:`ExternalProject` module was
significantly refactored. The patch step gained support for
using the terminal with a new ``USES_TERMINAL_PATCH`` keyword
as a by-product of that work.
* The :module:`FetchContent` module no longer creates a separate
sub-build to implement the content population. It now invokes
the step scripts directly from within the main project's
configure stage. This significantly speeds up the configure
phase when the required content is already populated and
up-to-date.
file-generate-new-line-style
----------------------------
* The :command:`file(GENERATE)` command gained ``NEWLINE_STYLE`` option to
support newline style of the generated file.
file-generate-permissions
-------------------------
* The :command:`file(GENERATE)` command gained ``NO_SOURCE_PERMISSIONS``,
``USE_SOURCE_PERMISSIONS``, and ``FILE_PERMISSIONS`` options to support
permissions of the generated file.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment