mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-04 14:50:23 +00:00
Help: Consolidate 3.26 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.26.rst`.
This commit is contained in:
118
Help/release/3.26.rst
Normal file
118
Help/release/3.26.rst
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
CMake 3.26 Release Notes
|
||||||
|
************************
|
||||||
|
|
||||||
|
.. only:: html
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
|
Changes made since CMake 3.25 include the following.
|
||||||
|
|
||||||
|
* The :genex:`BUILD_LOCAL_INTERFACE` generator expression was added to
|
||||||
|
prevent usage requirements from being exported to dependent projects.
|
||||||
|
|
||||||
|
* A new :prop_tgt:`<LANG>_CLANG_TIDY_EXPORT_FIXES_DIR` target property was
|
||||||
|
created to allow the ``clang-tidy`` tool to export its suggested fixes to a
|
||||||
|
set of ``.yaml`` files. A new
|
||||||
|
:variable:`CMAKE_<LANG>_CLANG_TIDY_EXPORT_FIXES_DIR` variable was created to
|
||||||
|
initialize this property.
|
||||||
|
|
||||||
|
* The :manual:`cmake(1)` ``-E`` option learned a new ``copy_directory_if_different`` command.
|
||||||
|
|
||||||
|
* The :option:`cmake -E copy <cmake-E copy>` argument now supports a ``-t`` argument.
|
||||||
|
|
||||||
|
* The :prop_tgt:`EXPORT_COMPILE_COMMANDS` target property will now have the
|
||||||
|
``output`` field in the compile commands objects. This allows multi-config
|
||||||
|
generators (namely :generator:`Ninja Multi-Config` generator) to contain the
|
||||||
|
compile commands for all configurations.
|
||||||
|
|
||||||
|
* For all ``COMPILE_DEFINITIONS`` properties, any leading ``-D`` on an item
|
||||||
|
will be removed regardless how to was defined: as is or inside a generator
|
||||||
|
expression.
|
||||||
|
|
||||||
|
* CMake now writes a YAML log of configure-time checks.
|
||||||
|
See the :manual:`cmake-configure-log(7)` manual.
|
||||||
|
|
||||||
|
* The :manual:`cmake-file-api(7)` gained a new "configureLog" object kind
|
||||||
|
that enables stable access to the :manual:`cmake-configure-log(7)`.
|
||||||
|
|
||||||
|
* The :command:`message` command gained a ``CONFIGURE_LOG`` mode to
|
||||||
|
record an entry in the :manual:`cmake-configure-log(7)`.
|
||||||
|
|
||||||
|
* The :command:`try_compile` and :command:`try_run` commands gained
|
||||||
|
a ``LOG_DESCRIPTION`` option specifying text to be recorded in the
|
||||||
|
:manual:`cmake-configure-log(7)`.
|
||||||
|
|
||||||
|
* The :command:`try_compile` and :command:`try_run` commands gained a
|
||||||
|
``NO_LOG`` option to skip recording a :manual:`cmake-configure-log(7)`
|
||||||
|
entry.
|
||||||
|
|
||||||
|
* The :envvar:`CTEST_NO_TESTS_ACTION` environment variable was added to
|
||||||
|
provide a default value for the
|
||||||
|
:option:`--no-tests=\<action\> <ctest --no-tests>` command line
|
||||||
|
argument of :manual:`ctest(1)`.
|
||||||
|
|
||||||
|
* :command:`add_custom_command` and :command:`add_custom_target` now
|
||||||
|
support :manual:`generator expressions <cmake-generator-expressions(7)>`
|
||||||
|
in their ``COMMENT`` option.
|
||||||
|
|
||||||
|
* On CYGWIN, the undocumented ``CMAKE_LEGACY_CYGWIN_WIN32`` mode for
|
||||||
|
compatibility with CMake versions older than 2.8.4 has been removed.
|
||||||
|
|
||||||
|
* The :module:`ExternalProject` module :command:`ExternalProject_Add` command
|
||||||
|
gained an ``INSTALL_BYPRODUCTS`` option to specify files generated by the
|
||||||
|
"install" step.
|
||||||
|
|
||||||
|
* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field has
|
||||||
|
been updated to 2.5.
|
||||||
|
|
||||||
|
* The :manual:`cmake-file-api(7)` "codemodel" version 2 "target" object
|
||||||
|
gained a new ``fileSets`` field and associated ``fileSetIndex``
|
||||||
|
field to ``sources`` objects.
|
||||||
|
|
||||||
|
* The :module:`FindCUDAToolkit` gained support for the `sbsa-linux` cross compilation target
|
||||||
|
|
||||||
|
* The :module:`FindCUDAToolkit` module now provides a target for
|
||||||
|
``libnvrtc_static``, if found.
|
||||||
|
|
||||||
|
* The :module:`FindPython3` and :module:`FindPython` modules gain the support
|
||||||
|
of the
|
||||||
|
`Stable Application Binary Interface <https://docs.python.org/3/c-api/stable.html>`_.
|
||||||
|
|
||||||
|
* The :variable:`CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` variable is now
|
||||||
|
set for ``GNU``, ``MSVC``, and ``AppleClang`` compilers that have only
|
||||||
|
one frontend variant.
|
||||||
|
|
||||||
|
* :ref:`Language Standard Flags`, such as ``-std=c++11``, when generated due
|
||||||
|
to :command:`target_compile_features` or :variable:`CMAKE_<LANG>_STANDARD`,
|
||||||
|
are now placed before flags added by :command:`target_compile_options`,
|
||||||
|
rather than after them.
|
||||||
|
|
||||||
|
* The ``ASM_MARMASM`` language was added to support the Microsoft ARM assembler language.
|
||||||
|
|
||||||
|
* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands
|
||||||
|
now support the ``%z`` and ``%Z`` specifiers for the time zone.
|
||||||
|
|
||||||
|
* The top-level :command:`project` call will now emit an author warning if the
|
||||||
|
documented command order in relation to :command:`cmake_minimum_required` is
|
||||||
|
not respected.
|
||||||
|
|
||||||
|
* The :option:`cmake --trace` option now follows :command:`try_compile` and
|
||||||
|
:command:`try_run` invocations.
|
||||||
|
|
||||||
|
* Global property :prop_gbl:`USE_FOLDERS` is treated as ``ON`` by default.
|
||||||
|
See policy :policy:`CMP0143`.
|
||||||
|
|
||||||
|
* The :module:`UseSWIG` module gained the support of ``perl5`` language.
|
||||||
|
|
||||||
|
* A :variable:`CMAKE_VS_VERSION_BUILD_NUMBER` variable is now set by
|
||||||
|
:ref:`Visual Studio Generators` for VS 2017 and above to report the
|
||||||
|
four-component Visual Studio version number.
|
||||||
|
|
||||||
|
* The :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS <XCODE_EMBED_<type>>` target property
|
||||||
|
was added to tell the :generator:`Xcode` generator to ExtensionKit-based extensions
|
||||||
|
such as extensions using the Background Assets framework.
|
||||||
|
Aspects of the embedding can be customized with the
|
||||||
|
:prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_PATH <XCODE_EMBED_<type>>`,
|
||||||
|
:prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_CODE_SIGN_ON_COPY <XCODE_EMBED_<type>_CODE_SIGN_ON_COPY>` and
|
||||||
|
:prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_REMOVE_HEADERS_ON_COPY <XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY>`
|
||||||
|
properties.
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
COMPILE_DEFINITIONS-property-cleanup
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
* For all ``COMPILE_DEFINITIONS`` properties, any leading ``-D`` on an item
|
|
||||||
will be removed regardless how to was defined: as is or inside a generator
|
|
||||||
expression.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
ExternalProject-INSTALL_BYPRODUCTS
|
|
||||||
----------------------------------
|
|
||||||
|
|
||||||
* The :module:`ExternalProject` module :command:`ExternalProject_Add` command
|
|
||||||
gained an ``INSTALL_BYPRODUCTS`` option to specify files generated by the
|
|
||||||
"install" step.
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
FindCUDAToolkit-arm64-sbsa
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
* The :module:`FindCUDAToolkit` gained support for the `sbsa-linux` cross compilation target
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
FindCUDAToolkit-nvrtc
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
* The :module:`FindCUDAToolkit` module now provides a target for
|
|
||||||
``libnvrtc_static``, if found.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
FindPython-Stable-ABI
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
* The :module:`FindPython3` and :module:`FindPython` modules gain the support
|
|
||||||
of the
|
|
||||||
`Stable Application Binary Interface <https://docs.python.org/3/c-api/stable.html>`_.
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
UseSWIG-perl5
|
|
||||||
-------------
|
|
||||||
|
|
||||||
* The :module:`UseSWIG` module gained the support of ``perl5`` language.
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
build-local-interface-genex
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
* The :genex:`BUILD_LOCAL_INTERFACE` generator expression was added to
|
|
||||||
prevent usage requirements from being exported to dependent projects.
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
clang-tidy-export-fixes-dir
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
* A new :prop_tgt:`<LANG>_CLANG_TIDY_EXPORT_FIXES_DIR` target property was
|
|
||||||
created to allow the ``clang-tidy`` tool to export its suggested fixes to a
|
|
||||||
set of ``.yaml`` files. A new
|
|
||||||
:variable:`CMAKE_<LANG>_CLANG_TIDY_EXPORT_FIXES_DIR` variable was created to
|
|
||||||
initialize this property.
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
cmake-E-copy-directory-if-different
|
|
||||||
-----------------------------------
|
|
||||||
|
|
||||||
* The :manual:`cmake(1)` ``-E`` option learned a new ``copy_directory_if_different`` command.
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
cmake-E-copy-t-arg
|
|
||||||
------------------
|
|
||||||
|
|
||||||
* The :option:`cmake -E copy <cmake-E copy>` argument now supports a ``-t`` argument.
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
compile-commands-output-field
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
* The :prop_tgt:`EXPORT_COMPILE_COMMANDS` target property will now have the
|
|
||||||
``output`` field in the compile commands objects. This allows multi-config
|
|
||||||
generators (namely :generator:`Ninja Multi-Config` generator) to contain the
|
|
||||||
compile commands for all configurations.
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
Configure Log
|
|
||||||
-------------
|
|
||||||
|
|
||||||
* CMake now writes a YAML log of configure-time checks.
|
|
||||||
See the :manual:`cmake-configure-log(7)` manual.
|
|
||||||
|
|
||||||
* The :manual:`cmake-file-api(7)` gained a new "configureLog" object kind
|
|
||||||
that enables stable access to the :manual:`cmake-configure-log(7)`.
|
|
||||||
|
|
||||||
* The :command:`message` command gained a ``CONFIGURE_LOG`` mode to
|
|
||||||
record an entry in the :manual:`cmake-configure-log(7)`.
|
|
||||||
|
|
||||||
* The :command:`try_compile` and :command:`try_run` commands gained
|
|
||||||
a ``LOG_DESCRIPTION`` option specifying text to be recorded in the
|
|
||||||
:manual:`cmake-configure-log(7)`.
|
|
||||||
|
|
||||||
* The :command:`try_compile` and :command:`try_run` commands gained a
|
|
||||||
``NO_LOG`` option to skip recording a :manual:`cmake-configure-log(7)`
|
|
||||||
entry.
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
ctest-no-tests-action-env-var
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
* The :envvar:`CTEST_NO_TESTS_ACTION` environment variable was added to
|
|
||||||
provide a default value for the
|
|
||||||
:option:`--no-tests=\<action\> <ctest --no-tests>` command line
|
|
||||||
argument of :manual:`ctest(1)`.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
custom-command-comment-genex
|
|
||||||
----------------------------
|
|
||||||
|
|
||||||
* :command:`add_custom_command` and :command:`add_custom_target` now
|
|
||||||
support :manual:`generator expressions <cmake-generator-expressions(7)>`
|
|
||||||
in their ``COMMENT`` option.
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
cygwin-no-legacy-win32
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
* On CYGWIN, the undocumented ``CMAKE_LEGACY_CYGWIN_WIN32`` mode for
|
|
||||||
compatibility with CMake versions older than 2.8.4 has been removed.
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
file-api-file-sets
|
|
||||||
------------------
|
|
||||||
|
|
||||||
* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field has
|
|
||||||
been updated to 2.5.
|
|
||||||
|
|
||||||
* The :manual:`cmake-file-api(7)` "codemodel" version 2 "target" object
|
|
||||||
gained a new ``fileSets`` field and associated ``fileSetIndex``
|
|
||||||
field to ``sources`` objects.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
frontend-variant-always
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
* The :variable:`CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` variable is now
|
|
||||||
set for ``GNU``, ``MSVC``, and ``AppleClang`` compilers that have only
|
|
||||||
one frontend variant.
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
lang-std-flag-order
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
* :ref:`Language Standard Flags`, such as ``-std=c++11``, when generated due
|
|
||||||
to :command:`target_compile_features` or :variable:`CMAKE_<LANG>_STANDARD`,
|
|
||||||
are now placed before flags added by :command:`target_compile_options`,
|
|
||||||
rather than after them.
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
marmasm-language
|
|
||||||
----------------
|
|
||||||
|
|
||||||
* The ``ASM_MARMASM`` language was added to support the Microsoft ARM assembler language.
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
timestamp-timezone
|
|
||||||
------------------
|
|
||||||
|
|
||||||
* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands
|
|
||||||
now support the ``%z`` and ``%Z`` specifiers for the time zone.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
top-level-command-order
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
* The top-level :command:`project` call will now emit an author warning if the
|
|
||||||
documented command order in relation to :command:`cmake_minimum_required` is
|
|
||||||
not respected.
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
trace-try_compile
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
* The :option:`cmake --trace` option now follows :command:`try_compile` and
|
|
||||||
:command:`try_run` invocations.
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
use-folder-on-by-default
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
* Global property :prop_gbl:`USE_FOLDERS` is treated as ``ON`` by default.
|
|
||||||
See policy :policy:`CMP0143`.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
vs-version-var
|
|
||||||
--------------
|
|
||||||
|
|
||||||
* A :variable:`CMAKE_VS_VERSION_BUILD_NUMBER` variable is now set by
|
|
||||||
:ref:`Visual Studio Generators` for VS 2017 and above to report the
|
|
||||||
four-component Visual Studio version number.
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
xcode-ios-extensionkit
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
* The :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS <XCODE_EMBED_<type>>` target property
|
|
||||||
was added to tell the :generator:`Xcode` generator to ExtensionKit-based extensions
|
|
||||||
such as extensions using the Background Assets framework.
|
|
||||||
Aspects of the embedding can be customized with the
|
|
||||||
:prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_PATH <XCODE_EMBED_<type>>`,
|
|
||||||
:prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_CODE_SIGN_ON_COPY <XCODE_EMBED_<type>_CODE_SIGN_ON_COPY>` and
|
|
||||||
:prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_REMOVE_HEADERS_ON_COPY <XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY>`
|
|
||||||
properties.
|
|
||||||
@@ -15,6 +15,7 @@ Releases
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
3.26 <3.26>
|
||||||
3.25 <3.25>
|
3.25 <3.25>
|
||||||
3.24 <3.24>
|
3.24 <3.24>
|
||||||
3.23 <3.23>
|
3.23 <3.23>
|
||||||
|
|||||||
Reference in New Issue
Block a user