summaryrefslogtreecommitdiffstats
path: root/Help/release
diff options
context:
space:
mode:
Diffstat (limited to 'Help/release')
-rw-r--r--Help/release/3.0.rst2
-rw-r--r--Help/release/3.11.rst2
-rw-r--r--Help/release/3.12.rst4
-rw-r--r--Help/release/3.15.rst50
-rw-r--r--Help/release/3.17.rst2
-rw-r--r--Help/release/3.18.rst9
-rw-r--r--Help/release/3.20.rst10
-rw-r--r--Help/release/3.21.rst14
-rw-r--r--Help/release/3.23.rst15
-rw-r--r--Help/release/3.24.rst36
-rw-r--r--Help/release/3.25.rst259
-rw-r--r--Help/release/3.26.rst171
-rw-r--r--Help/release/3.3.rst2
-rw-r--r--Help/release/3.4.rst2
-rw-r--r--Help/release/3.7.rst2
-rw-r--r--Help/release/3.9.rst6
-rw-r--r--Help/release/dev/0-sample-topic.rst7
-rw-r--r--Help/release/dev/Apple-tbd-files-management.rst6
-rw-r--r--Help/release/dev/FindCUDAToolkit-target-for-cudla.rst4
-rw-r--r--Help/release/dev/PATH-genex-support-list.rst5
-rw-r--r--Help/release/dev/deprecate-extra-generators.rst5
-rw-r--r--Help/release/dev/deprecate-policy-old.rst7
-rw-r--r--Help/release/dev/dll-name-soversion.rst7
-rw-r--r--Help/release/dev/find_package-PACKAGENAME_ROOT.rst7
-rw-r--r--Help/release/dev/install-prefix-genex-install-code-script.rst5
-rw-r--r--Help/release/dev/lang-linker-launcher-genex.rst5
-rw-r--r--Help/release/dev/ninja-custom-command-depends.rst11
-rw-r--r--Help/release/dev/remove-dart-modules.rst5
-rw-r--r--Help/release/dev/vs9-deprecate.rst5
-rw-r--r--Help/release/index.rst4
30 files changed, 592 insertions, 77 deletions
diff --git a/Help/release/3.0.rst b/Help/release/3.0.rst
index 64491e3..e37c130 100644
--- a/Help/release/3.0.rst
+++ b/Help/release/3.0.rst
@@ -11,7 +11,7 @@ Documentation Changes
=====================
* The CMake documentation has been converted to reStructuredText and
- now transforms via Sphinx (`<http://sphinx-doc.org>`__) into man and
+ now transforms via Sphinx (`<https://www.sphinx-doc.org>`__) into man and
html pages. This allows the documentation to be properly indexed
and to contain cross-references.
diff --git a/Help/release/3.11.rst b/Help/release/3.11.rst
index a80657d..957dd4f 100644
--- a/Help/release/3.11.rst
+++ b/Help/release/3.11.rst
@@ -174,7 +174,7 @@ Modules
to removal of the ``javah`` tool by `JEP 313`_.
.. _`FLAME`: https://github.com/flame
-.. _`JEP 313`: http://openjdk.java.net/jeps/313
+.. _`JEP 313`: https://openjdk.java.net/jeps/313
Autogen
-------
diff --git a/Help/release/3.12.rst b/Help/release/3.12.rst
index 481027e..dcdae1d 100644
--- a/Help/release/3.12.rst
+++ b/Help/release/3.12.rst
@@ -242,7 +242,7 @@ CPack
* A :cpack_gen:`CPack NuGet Generator` was was added with basic
support for `NuGet`_.
-.. _NuGet: https://docs.microsoft.com/en-us/nuget/what-is-nuget
+.. _NuGet: https://learn.microsoft.com/en-us/nuget/what-is-nuget
Other
-----
@@ -302,4 +302,4 @@ Other Changes
(and legacy ``swig_add_module`` command) now set the prefix of
Java modules to ``""`` for MINGW, MSYS, and CYGWIN environments.
-.. _`Fortran Submodules`: http://fortranwiki.org/fortran/show/Submodules
+.. _Fortran Submodules: https://fortranwiki.org/fortran/show/Submodules
diff --git a/Help/release/3.15.rst b/Help/release/3.15.rst
index 6b1a800..de3ced0 100644
--- a/Help/release/3.15.rst
+++ b/Help/release/3.15.rst
@@ -243,46 +243,42 @@ Modules
Generator Expressions
---------------------
-* The :manual:`generator expressions <cmake-generator-expressions(7)>`
- ``C_COMPILER_ID``, ``CXX_COMPILER_ID``, ``CUDA_COMPILER_ID``,
- ``Fortran_COMPILER_ID``, ``COMPILE_LANGUAGE``, ``COMPILE_LANG_AND_ID``, and
- ``PLATFORM_ID`` learned to support matching one value from a comma-separated
- list.
+* The generator expressions :genex:`$<C_COMPILER_ID>`,
+ :genex:`$<CXX_COMPILER_ID>`, :genex:`$<CUDA_COMPILER_ID>`,
+ :genex:`$<Fortran_COMPILER_ID>`, :genex:`$<COMPILE_LANGUAGE>`,
+ :genex:`$<COMPILE_LANG_AND_ID>`, and :genex:`$<PLATFORM_ID>` learned to
+ support matching one value from a comma-separated list.
-* The ``$<CUDA_COMPILER_ID:...>`` and ``$<CUDA_COMPILER_VERSION:...>``
- :manual:`generator expressions <cmake-generator-expressions(7)>` were added.
+* The :genex:`$<CUDA_COMPILER_ID:...>` and :genex:`$<CUDA_COMPILER_VERSION:...>`
+ generator expressions were added.
-* The ``$<COMPILE_LANG_AND_ID:...>`` generator expression was introduced to
+* The :genex:`$<COMPILE_LANG_AND_ID:...>` generator expression was introduced to
allow specification of compile options for target files based on the
:variable:`CMAKE_<LANG>_COMPILER_ID` and :prop_sf:`LANGUAGE` of
each source file.
-* A ``$<FILTER:list,INCLUDE|EXCLUDE,regex>``
- :manual:`generator expression <cmake-generator-expressions(7)>`
- has been added.
+* A :genex:`$<FILTER:list,INCLUDE|EXCLUDE,regex>` generator expression has
+ been added.
-* A ``$<REMOVE_DUPLICATES:list>``
- :manual:`generator expression <cmake-generator-expressions(7)>`
- has been added.
+* A :genex:`$<REMOVE_DUPLICATES:list>` generator expression has been added.
-* The ``$<SHELL_PATH:...>`` :manual:`generator expression
- <cmake-generator-expressions(7)>` gained support for a list of paths.
+* The :genex:`$<SHELL_PATH:...>` generator expression gained support for a
+ list of paths.
* New ``$<TARGET_FILE*>`` :manual:`generator expressions
<cmake-generator-expressions(7)>` were added to retrieve the prefix, base
name, and suffix of the file names of various artifacts:
- * ``$<TARGET_FILE_PREFIX:...>``
- * ``$<TARGET_FILE_BASE_NAME:...>``
- * ``$<TARGET_FILE_SUFFIX:...>``
- * ``$<TARGET_LINKER_FILE_PREFIX:...>``
- * ``$<TARGET_LINKER_FILE_BASE_NAME:...>``
- * ``$<TARGET_LINKER_FILE_SUFFIX:...>``
- * ``$<TARGET_PDB_FILE_BASE_NAME:...>``
-
-* The ``$<TARGET_OBJECTS:...>`` :manual:`generator expression
- <cmake-generator-expressions(7)>` is now supported on ``SHARED``,
- ``STATIC``, ``MODULE`` libraries and executables.
+ * :genex:`$<TARGET_FILE_PREFIX:...>`
+ * :genex:`$<TARGET_FILE_BASE_NAME:...>`
+ * :genex:`$<TARGET_FILE_SUFFIX:...>`
+ * :genex:`$<TARGET_LINKER_FILE_PREFIX:...>`
+ * :genex:`$<TARGET_LINKER_FILE_BASE_NAME:...>`
+ * :genex:`$<TARGET_LINKER_FILE_SUFFIX:...>`
+ * :genex:`$<TARGET_PDB_FILE_BASE_NAME:...>`
+
+* The :genex:`$<TARGET_OBJECTS:...>` generator expression is now supported
+ on ``SHARED``, ``STATIC``, ``MODULE`` libraries and executables.
CTest
-----
diff --git a/Help/release/3.17.rst b/Help/release/3.17.rst
index 1aa475f..a27d638 100644
--- a/Help/release/3.17.rst
+++ b/Help/release/3.17.rst
@@ -140,7 +140,7 @@ Properties
* The :prop_tgt:`INSTALL_NAME_DIR` target property now supports
:manual:`generator expressions <cmake-generator-expressions(7)>`.
- In particular, the ``$<INSTALL_PREFIX>`` generator expression can
+ In particular, the :genex:`$<INSTALL_PREFIX>` generator expression can
be used to set the directory relative to the install-time prefix.
* Target properties :prop_tgt:`MACHO_COMPATIBILITY_VERSION` and
diff --git a/Help/release/3.18.rst b/Help/release/3.18.rst
index f97e4df..c120b9f 100644
--- a/Help/release/3.18.rst
+++ b/Help/release/3.18.rst
@@ -211,12 +211,11 @@ Modules
Generator Expressions
---------------------
-* The ``$<DEVICE_LINK:...>`` and ``$<HOST_LINK:...>``
- :manual:`generator expressions <cmake-generator-expressions(7)>` were added
- to manage device and host link steps.
+* The :genex:`$<DEVICE_LINK:...>` and :genex:`$<HOST_LINK:...>`
+ generator expressions were added to manage device and host link steps.
-* The ``$<LINK_LANGUAGE:...>`` and ``$<LINK_LANG_AND_ID:...>``
- :manual:`generator expressions <cmake-generator-expressions(7)>` were added.
+* The :genex:`$<LINK_LANGUAGE:...>` and :genex:`$<LINK_LANG_AND_ID:...>`
+ generator expressions were added.
CTest
-----
diff --git a/Help/release/3.20.rst b/Help/release/3.20.rst
index 42e95be..ebd0f91 100644
--- a/Help/release/3.20.rst
+++ b/Help/release/3.20.rst
@@ -86,8 +86,8 @@ Commands
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
+ support for new generator expressions :genex:`$<COMMAND_CONFIG:...>` and
+ :genex:`$<OUTPUT_CONFIG:...>` that control cross-config handling when using
the :generator:`Ninja Multi-Config` generator.
* The :command:`add_custom_command` command gained ``DEPFILE`` support on
@@ -217,8 +217,8 @@ Autogen
CTest
-----
-* :manual:`ctest(1)` gained a ``--test-dir`` option to specify the directory
- in which to look for tests.
+* :manual:`ctest(1)` gained a :option:`--test-dir <ctest --test-dir>`
+ option to specify the directory in which to look for tests.
CPack
-----
@@ -263,7 +263,7 @@ CPack
:variable:`CPACK_NUGET_<compName>_PACKAGE_LANGUAGE` allow the locale
for a package to be specified, for example ``en_CA``.
-.. _Software Package Data Exchange: https://spdx.org/
+.. _Software Package Data Exchange: https://spdx.dev/
Deprecated and Removed Features
===============================
diff --git a/Help/release/3.21.rst b/Help/release/3.21.rst
index 462d2be..91c3768 100644
--- a/Help/release/3.21.rst
+++ b/Help/release/3.21.rst
@@ -49,15 +49,15 @@ Languages
Command-Line
------------
-* :manual:`cmake(1)` gained the ``--install-prefix <dir>``
+* :manual:`cmake(1)` gained the :option:`--install-prefix <cmake --install-prefix>`
command-line option to specify the location of the install prefix.
-* :manual:`cmake(1)` gained the ``--toolchain <path/to/file>``
+* :manual:`cmake(1)` gained the :option:`--toolchain <cmake --toolchain>`
command-line option to specify a toolchain file.
-* :manual:`cmake(1)` ``-E capabilities`` output, for some generators,
- may now contain a ``supportedPlatforms`` field listing platforms
- known to be supported in :variable:`CMAKE_GENERATOR_PLATFORM`.
+* :manual:`cmake(1)` :option:`-E capabilities <cmake-E capabilities>` output,
+ for some generators, may now contain a ``supportedPlatforms`` field listing
+ platforms known to be supported in :variable:`CMAKE_GENERATOR_PLATFORM`.
* Messages printed to a terminal now may be colored by message type.
@@ -208,8 +208,8 @@ CTest
:prop_test:`ATTACHED_FILES_ON_FAIL` test properties.
See :ref:`Additional Test Measurements` for more information.
-* :manual:`ctest(1)` gained a ``--output-junit`` option to write test results
- to a JUnit XML file.
+* :manual:`ctest(1)` gained a :option:`--output-junit <ctest --output-junit>`
+ option to write test results to a JUnit XML file.
* The :command:`ctest_build` command gained a ``PARALLEL_LEVEL`` option.
diff --git a/Help/release/3.23.rst b/Help/release/3.23.rst
index 47b1869..5d85777 100644
--- a/Help/release/3.23.rst
+++ b/Help/release/3.23.rst
@@ -43,19 +43,22 @@ Generators
Command-Line
------------
-* The :manual:`cmake(1)` ``--build`` command, when used with
+* The :manual:`cmake(1)` :option:`--build <cmake --build>` command, when used with
:ref:`Visual Studio Generators` on projects that set the
:prop_tgt:`VS_PACKAGE_REFERENCES` target property, now automatically
restores package references from NuGet. The cache variable
:variable:`CMAKE_VS_NUGET_PACKAGE_RESTORE` may be set to toggle this behavior
- in a build tree. Use the ``--resolve-package-references=<on|off|only>``
+ in a build tree. Use the
+ :option:`--resolve-package-references <cmake--build --resolve-package-references>`
command-line option to control the behavior on one invocation.
-* The :manual:`cmake(1)` command line tool gained a ``--debug-find-pkg=``
+* The :manual:`cmake(1)` command line tool gained a
+ :option:`--debug-find-pkg <cmake --debug-find-pkg>`
option to enable debug messages under specific :command:`find_package`
calls.
-* The :manual:`cmake(1)` command line tool gained a ``--debug-find-var=``
+* The :manual:`cmake(1)` command line tool gained a
+ :option:`--debug-find-var <cmake --debug-find-var>`
option to enable debug messages for ``find_*`` calls that use specific
result variables.
@@ -271,8 +274,8 @@ Other Changes
* tries to detect invalid architectures and issue an error.
* ``CUDA`` with Clang now implements policy :policy:`CMP0105` and
- the ``$<DEVICE_LINK:...>`` and ``$<HOST_LINK:...>``
- :manual:`generator expressions <cmake-generator-expressions(7)>`.
+ the :genex:`$<DEVICE_LINK:...>` and :genex:`$<HOST_LINK:...>`
+ generator expressions.
* The :command:`define_property` command's ``BRIEF_DOCS`` and ``FULL_DOCS``
arguments are now optional.
diff --git a/Help/release/3.24.rst b/Help/release/3.24.rst
index e81dadc..e7ddf2a 100644
--- a/Help/release/3.24.rst
+++ b/Help/release/3.24.rst
@@ -34,25 +34,28 @@ Generators
Command-Line
------------
-* :manual:`cmake(1)` gained the ``--fresh`` command-line option to remove
- any existing ``CMakeCache.txt`` file and associated ``CMakeFiles/``
+* :manual:`cmake(1)` gained the :option:`--fresh <cmake --fresh>` command-line
+ option to remove any existing ``CMakeCache.txt`` file and associated ``CMakeFiles/``
directory, when configuring a build tree, thus starting a new configuration
as if the build tree were freshly created.
-* :manual:`cmake(1)` gained the ``--compile-no-warning-as-error`` command-line
- option which causes the effects of the :prop_tgt:`COMPILE_WARNING_AS_ERROR`
- target property and :variable:`CMAKE_COMPILE_WARNING_AS_ERROR` variable
- to be ignored.
+* :manual:`cmake(1)` gained the
+ :option:`--compile-no-warning-as-error <cmake --compile-no-warning-as-error>`
+ command-line option which causes the effects of the
+ :prop_tgt:`COMPILE_WARNING_AS_ERROR` target property and
+ :variable:`CMAKE_COMPILE_WARNING_AS_ERROR` variable to be ignored.
-* The :manual:`cmake(1)` ``--trace=json-v1`` trace format gained fields
- ``global_frame`` and ``line_end``.
+* The :manual:`cmake(1)` :option:`--trace=json-v1 <cmake --trace>` trace
+ format gained fields ``global_frame`` and ``line_end``.
-* The :manual:`cmake(1)` ``-E`` commands ``cat`` and ``env`` learned to respect
- a double dash (``--``) argument that acts as a delimiter indicating the end of
- options. Any following arguments are treated as operands/positional arguments,
- even if they begin with a dash ``-`` character.
+* The :manual:`cmake(1)` :option:`-E <cmake -E>` commands :option:`cat <cmake-E cat>`
+ and :option:`env <cmake-E env>` learned to respect a double dash
+ (:option:`-- <cmake-E_env -->`) argument that acts as a delimiter indicating
+ the end of options. Any following arguments are treated as operands/positional
+ arguments, even if they begin with a dash ``-`` character.
-* The :manual:`cmake(1)` ``-E tar`` command gained the ``--touch`` option
+* The :manual:`cmake(1)` :option:`-E tar <cmake-E tar>` command gained the
+ :option:`--touch <cmake-E_tar --touch>` option
to keep the current local timestamp instead of extracting file timestamps
from the archive.
@@ -289,9 +292,10 @@ Generator Expressions
CTest
-----
-* :manual:`ctest(1)` gained a ``--test-output-truncation`` option (and
- corresponding :variable:`CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION` variable) to
- specify the truncation mode once the maximum test output size has been
+* :manual:`ctest(1)` gained a
+ :option:`--test-output-truncation <ctest --test-output-truncation>` option
+ (and corresponding :variable:`CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION` variable)
+ to specify the truncation mode once the maximum test output size has been
reached. Possible values are ``tail`` (default), ``middle`` or ``head``.
CPack
diff --git a/Help/release/3.25.rst b/Help/release/3.25.rst
new file mode 100644
index 0000000..2d04741
--- /dev/null
+++ b/Help/release/3.25.rst
@@ -0,0 +1,259 @@
+CMake 3.25 Release Notes
+************************
+
+.. only:: html
+
+ .. contents::
+
+Changes made since CMake 3.24 include the following.
+
+New Features
+============
+
+Presets
+-------
+
+* The :manual:`cmake-presets(7)` schema version has been bumped to ``6``.
+
+* The :manual:`cmake-presets(7)` format now supports a
+ ``packagePresets`` field to specify presets for :option:`cpack --preset`.
+
+* The :manual:`cmake-presets(7)` format now supports a
+ ``workflowPresets`` field to specify presets for :option:`cmake --workflow`.
+
+* The :manual:`cmake-presets(7)` format now supports an
+ ``outputJUnitFile`` field to specify JUnit output in test presets.
+
+Languages
+---------
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+ is now aware of C++26, and defines a ``cxx_std_26`` meta-feature.
+ C++26 compiler modes may also be specified via the :prop_tgt:`CXX_STANDARD`,
+ :prop_tgt:`CUDA_STANDARD`, :prop_tgt:`HIP_STANDARD`,
+ or :prop_tgt:`OBJCXX_STANDARD` target properties.
+
+* ``CUDA`` language support now includes device link-time optimization when
+ using ``nvcc``. The :variable:`CMAKE_INTERPROCEDURAL_OPTIMIZATION` variable
+ and the associated :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` target property
+ will activate device LTO.
+
+Command-Line
+------------
+
+* A :option:`cmake --workflow --preset <cmake--workflow --preset>` mode was
+ added to drive sequences of configure, build, test, and package operations
+ through a single command.
+
+* The :option:`cmake -E capabilities <cmake-E capabilities>` command
+ gained a new ``tls`` field that tells whether or not TLS is enabled.
+
+* The :option:`cmake -E env <cmake-E env>` command-line tool gained
+ a ``--modify`` flag to support :prop_test:`ENVIRONMENT_MODIFICATION`
+ operations.
+
+* The :option:`cmake --debug-trycompile` option now prints log messages
+ reporting the directory in which each try-compile check is done.
+
+Compilers
+---------
+
+* Support for the `Tasking compiler toolsets`_ (SmartCode, TriCore,
+ Standalone: ARM, MCS, 8051) was added with compiler id ``Tasking``.
+ See the :variable:`CMAKE_TASKING_TOOLSET` variable.
+
+.. _Tasking compiler toolsets: https://www.tasking.com
+
+Commands
+--------
+
+* The :command:`add_subdirectory` command gained a ``SYSTEM`` option
+ to enable the :prop_dir:`SYSTEM` directory property in the subdirectory.
+
+* The :command:`block` and :command:`endblock` commands were added to manage
+ specific scopes (policy or variable) for a contained block of commands.
+
+* The :command:`cmake_language` command gained a new
+ ``GET_MESSAGE_LOG_LEVEL`` sub-command. It can be used to
+ query the current message logging level.
+
+* The :command:`find_file`, :command:`find_path`, :command:`find_library`, and
+ :command:`find_program` commands gained a ``VALIDATOR`` option to specify a
+ function to be called for each candidate item to validate it.
+
+* The :command:`find_package` command now considers paths of
+ the form ``<prefix>/<name>*/(cmake|CMake)/<name>*/`` when
+ searching for package configuration files.
+
+* The :command:`return` command gained a ``PROPAGATE`` option to propagate
+ variables to the scope to which control returns.
+ See policy :policy:`CMP0140`.
+
+* The :command:`try_compile` and :command:`try_run` commands gained new
+ signatures that more consistently use keyword dispatch and do not require a
+ binary directory to be specified. Additionally, these signatures use a
+ unique directory for each invocation, which allows multiple outputs to be
+ preserved when using :option:`cmake --debug-trycompile`.
+
+* The :command:`try_compile` and :command:`try_run` commands gained the
+ option ``NO_CACHE`` to store results in normal variables.
+
+* The :command:`try_run` command gained ``RUN_OUTPUT_STDOUT_VARIABLE``
+ and ``RUN_OUTPUT_STDERR_VARIABLE`` options to capture stdout and stderr
+ separately from the output of the compiled program.
+
+Variables
+---------
+
+* The :variable:`BSD` and :variable:`CMAKE_HOST_BSD` variables are now set
+ to a string value when the target or host system is BSD, respectively.
+
+* The :variable:`LINUX` and :variable:`CMAKE_HOST_LINUX` variables are
+ now set to true when the target or host system is Linux, respectively.
+
+* The :variable:`CMAKE_MSVC_DEBUG_INFORMATION_FORMAT` variable and
+ :prop_tgt:`MSVC_DEBUG_INFORMATION_FORMAT` target property were introduced
+ to select the debug information format for compilers targeting the MSVC ABI.
+ See policy :policy:`CMP0141`.
+
+* The :variable:`CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION` variable and
+ corresponding :prop_tgt:`XCODE_SCHEME_ENABLE_GPU_API_VALIDATION` target
+ property were added to tell the :generator:`Xcode` generator what to put
+ in the scheme's ``Metal: API Validation`` setting.
+
+* The :variable:`CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION` variable and
+ corresponding :prop_tgt:`XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION` target
+ property were added to tell the :generator:`Xcode` generator what to put
+ in the scheme's ``Metal: Shader Validation`` setting.
+
+* The :variable:`CMAKE_XCODE_SCHEME_LAUNCH_MODE` variable and corresponding
+ :prop_tgt:`XCODE_SCHEME_LAUNCH_MODE` target property were added to tell
+ the :generator:`Xcode` generator what to put in the scheme's "Launch"
+ mode setting.
+
+* The :variable:`CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION` variable and
+ corresponding :prop_tgt:`XCODE_SCHEME_LAUNCH_CONFIGURATION` target
+ property were added to tell the :generator:`Xcode` generator what
+ configuration to put in the scheme's Launch action.
+
+Properties
+----------
+
+* The :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property now supports
+ :manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+* The :prop_tgt:`EXPORT_NO_SYSTEM` target property was added to
+ specify that :command:`install(EXPORT)` and :command:`export`
+ commands will generate na imported target with
+ :prop_tgt:`SYSTEM` property ``OFF``.
+
+* The :prop_tgt:`SYSTEM` target property was added to specify
+ whether a target should be treated as a system library (i.e.
+ its include directories are automatically ``SYSTEM`` when
+ compiling consumers). If not set, the default is the previous
+ behavior: on for imported targets and off for other targets.
+
+* The :prop_dir:`SYSTEM` directory property was added to initialize the
+ :prop_tgt:`SYSTEM` target property for targets created in that directory.
+
+Modules
+-------
+
+* The :module:`FetchContent` module's :command:`FetchContent_Declare`
+ command gained a ``SYSTEM`` option which sets the :prop_dir:`SYSTEM`
+ directory property on subdirectories created by
+ :command:`FetchContent_MakeAvailable`.
+
+* The :module:`FindCUDAToolkit` module now provides a target for
+ :ref:`nvtx3 <cuda_toolkit_nvtx3>` for CUDA 10.0+, which supersedes
+ :ref:`nvToolsExt <cuda_toolkit_nvToolsExt>`. A deprecation warning
+ is emitted when using ``nvToolsExt`` if the project requires CMake
+ 3.25 and CUDA 10.0+ is used.
+
+* The :module:`FindDoxygen` module's version handling has been improved:
+
+ * Multiple candidate installations will now be considered, if needed,
+ to satisfy version constraints. Previously, only the first one
+ encountered would be considered.
+
+ * Version ranges are supported.
+
+ * Variations in the version format reported by Doxygen are now
+ tolerated (e.g. a trailing git commit hash).
+
+* The :module:`FindOpenAL` module now provides an imported target.
+
+* The :module:`FindOpenSP` module was added to find the OpenSP library.
+
+* The :module:`FindVulkan` module gained support for new components:
+
+ ``dxc``
+ DirectX Shader Compiler.
+
+ ``volk``
+ Volk open-source vulkan meta-loader.
+
+CPack
+-----
+
+* The :cpack_gen:`CPack Archive Generator` gained a new
+ :variable:`CPACK_ARCHIVE_FILE_EXTENSION` variable to control
+ the package file name extension.
+
+* The :cpack_gen:`CPack NSIS Generator` gained two new variables
+ :variable:`CPACK_NSIS_EXECUTABLE_PRE_ARGUMENTS` and
+ :variable:`CPACK_NSIS_EXECUTABLE_POST_ARGUMENTS`
+ to provide arguments to the nsis executable invocation.
+
+* The :module:`CPack` module gained the :variable:`CPACK_READELF_EXECUTABLE`,
+ :variable:`CPACK_OBJCOPY_EXECUTABLE`, and
+ :variable:`CPACK_OBJDUMP_EXECUTABLE` variables to control the locations
+ of binutils used by :manual:`cpack(1)`.
+
+Deprecated and Removed Features
+===============================
+
+* The :prop_tgt:`IMPORTED_NO_SYSTEM` target property has been deprecated
+ in favor of :prop_tgt:`SYSTEM` and :prop_tgt:`EXPORT_NO_SYSTEM`.
+
+* The :generator:`Visual Studio 10 2010` generator has been removed.
+
+* The :generator:`Visual Studio 11 2012` generator is now deprecated
+ and will be removed in a future version of CMake.
+
+Other Changes
+=============
+
+* The :envvar:`SSL_CERT_FILE` and :envvar:`SSL_CERT_DIR` environment
+ variables can now be used to override where to find certificate
+ authorities for TLS/SSL operations.
+
+* If :prop_tgt:`<LANG>_CLANG_TIDY` includes a ``-p`` argument, the
+ full compiler command line is no longer appended after ``--``.
+
+* The :generator:`Xcode` generator no longer adds the per-config suffix
+ ``$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)`` to library search paths.
+ See policy :policy:`CMP0142`.
+
+Updates
+=======
+
+Changes made since CMake 3.25.0 include the following.
+
+3.25.1
+------
+
+* On Windows, when targeting the MSVC ABI, the :command:`find_library`
+ command no longer accepts ``.a`` file names. This behavior was added
+ in CMake 3.25.0, but has been reverted due finding GNU-ABI libraries
+ in cases we did not previously.
+
+3.25.2
+------
+
+* CUDA language level 20 (corresponding to C++20) is now supported with
+ NVCC 12.0 and above.
+
+* On Windows, the ``icpx`` compiler now provided by Intel oneAPI 2023.0
+ and above is no longer selected because its GNU-like command-line is
+ not yet supported by CMake.
diff --git a/Help/release/3.26.rst b/Help/release/3.26.rst
new file mode 100644
index 0000000..ee98a98
--- /dev/null
+++ b/Help/release/3.26.rst
@@ -0,0 +1,171 @@
+CMake 3.26 Release Notes
+************************
+
+.. only:: html
+
+ .. contents::
+
+Changes made since CMake 3.25 include the following.
+
+New Features
+============
+
+Languages
+---------
+
+* The ``ASM_MARMASM`` language was added to support the
+ Microsoft ARM assembler language.
+
+Command-Line
+------------
+
+* The :option:`cmake -E copy <cmake-E copy>` command-line tool now
+ supports a ``-t`` argument.
+
+* The :option:`cmake -E copy_directory_if_different
+ <cmake-E copy_directory_if_different>` command-line tool was added.
+
+Configure Log
+-------------
+
+* CMake now writes a YAML log of configure-time checks to
+ ``CMakeFiles/CMakeConfigureLog.yaml`` under the top of the build tree.
+ See the :manual:`cmake-configure-log(7)` manual.
+
+File-Based API
+--------------
+
+* 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 :manual:`cmake-file-api(7)` gained a new "configureLog" object kind
+ that enables stable access to the :manual:`cmake-configure-log(7)`.
+
+Commands
+--------
+
+* The :command:`add_custom_command` and :command:`add_custom_target` commands
+ now support :manual:`generator expressions <cmake-generator-expressions(7)>`
+ in their ``COMMENT`` option.
+
+* The :command:`message` command gained a ``CONFIGURE_LOG`` mode to
+ record an entry in the :manual:`cmake-configure-log(7)`.
+
+* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands
+ now support the ``%z`` and ``%Z`` specifiers for the time zone.
+
+* 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.
+
+Variables
+---------
+
+* The :variable:`CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` variable is now
+ set for ``GNU``, ``MSVC``, and ``AppleClang`` compilers that have only
+ one frontend variant.
+
+* 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.
+
+Properties
+----------
+
+* The :prop_tgt:`<LANG>_CLANG_TIDY_EXPORT_FIXES_DIR` target property was
+ added 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 :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS <XCODE_EMBED_<type>>`
+ target property was added to tell the :generator:`Xcode` generator to embed
+ ExtensionKit-based extensions such as extensions using the Background
+ Assets framework. Aspects of the embedding can be customized with:
+
+ * :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>`
+ * :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_REMOVE_HEADERS_ON_COPY <XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY>`
+
+Modules
+-------
+
+* The :module:`ExternalProject` module's :command:`ExternalProject_Add` command
+ gained an ``INSTALL_BYPRODUCTS`` option to specify files generated by the
+ ``install`` step.
+
+* The :module:`FindCUDAToolkit` module:
+
+ * gained support for the ``sbsa-linux`` cross compilation target, and
+
+ * now provides an imported target for ``nvrtc_static``, if found.
+
+* The :module:`FindImageMagick` module now provides imported targets.
+
+* The :module:`FindPython3` and :module:`FindPython` modules gained
+ support for the `Stable Application Binary Interface`_.
+
+* The :module:`UseSWIG` module gained support for the ``perl5`` language.
+
+.. _`Stable Application Binary Interface`: https://docs.python.org/3/c-api/stable.html
+
+Generator Expressions
+---------------------
+
+* The :genex:`$<BUILD_LOCAL_INTERFACE:...>` generator expression was added to
+ prevent usage requirements from being exported to dependent projects.
+
+CTest
+-----
+
+* 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)`.
+
+Deprecated and Removed Features
+===============================
+
+* The ``CMakeFiles/CMakeOutput.log`` and ``CMakeFiles/CMakeError.log``
+ files are no longer populated by CMake's built-in modules.
+ :manual:`cmake(1)` no longer suggests looking at them after a
+ ``CMake Error`` occurs. Information previously logged to those
+ files is instead logged to the :manual:`cmake-configure-log(7)`.
+
+* On CYGWIN, the undocumented ``CMAKE_LEGACY_CYGWIN_WIN32`` mode for
+ compatibility with CMake versions older than 2.8.4 has been removed.
+
+Other Changes
+=============
+
+* :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.
+
+* For all ``COMPILE_DEFINITIONS`` properties, any leading ``-D`` on an item
+ is removed whether or not it was specified by a generator expression.
+
+* The ``compile_commands.json`` database enabled by
+ :variable:`CMAKE_EXPORT_COMPILE_COMMANDS` now provides the ``output``
+ field in the compile commands objects. This allows multi-config
+ generators, such as the :generator:`Ninja Multi-Config` generator,
+ to provide the compile commands for all configurations.
+
+* The :prop_gbl:`USE_FOLDERS` global property is treated as ``ON`` by default.
+ See policy :policy:`CMP0143`.
+
+* 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.
diff --git a/Help/release/3.3.rst b/Help/release/3.3.rst
index 44f4e19..2dc237f 100644
--- a/Help/release/3.3.rst
+++ b/Help/release/3.3.rst
@@ -26,7 +26,7 @@ Generators
added on Windows. `Green Hills MULTI`_ is an IDE for embedded
real-time systems.
-.. _`Green Hills MULTI`: http://www.ghs.com/products/MULTI_IDE.html
+.. _`Green Hills MULTI`: https://www.ghs.com/products/MULTI_IDE.html
Commands
--------
diff --git a/Help/release/3.4.rst b/Help/release/3.4.rst
index 943d267..abfede6 100644
--- a/Help/release/3.4.rst
+++ b/Help/release/3.4.rst
@@ -227,7 +227,7 @@ Other
will be merged with linker-generated manifests and embedded in the
binary.
-* The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported.
+* The Concurrent Fortran 77 compiler is now supported.
Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``.
* :manual:`cmake(1)` gained a new ``--trace-expand`` command line option
diff --git a/Help/release/3.7.rst b/Help/release/3.7.rst
index 345c056..9656a54 100644
--- a/Help/release/3.7.rst
+++ b/Help/release/3.7.rst
@@ -315,5 +315,5 @@ Other Changes
* Vim support files ``indent/cmake.vim`` and ``syntax/cmake.vim``
from the `vim-cmake-syntax`_ project are now distributed with CMake.
-.. _`Fortran Submodules`: http://fortranwiki.org/fortran/show/Submodules
+.. _`Fortran Submodules`: https://fortranwiki.org/fortran/show/Submodules
.. _`vim-cmake-syntax`: https://github.com/pboettch/vim-cmake-syntax
diff --git a/Help/release/3.9.rst b/Help/release/3.9.rst
index 89da627..09e4ea6 100644
--- a/Help/release/3.9.rst
+++ b/Help/release/3.9.rst
@@ -256,11 +256,11 @@ Other
:command:`file(GENERATE)` commands.
* Two new informational generator expressions to retrieve Apple Bundle
- directories have been added. The first one ``$<TARGET_BUNDLE_DIR:tgt>``
+ directories have been added. The first one :genex:`$<TARGET_BUNDLE_DIR:tgt>`
outputs the full path to the Bundle directory, the other one
- ``$<TARGET_BUNDLE_CONTENT_DIR:tgt>`` outputs the full path to the
+ :genex:`$<TARGET_BUNDLE_CONTENT_DIR:tgt>` outputs the full path to the
``Contents`` directory of macOS Bundles and App Bundles. For all other
- bundle types and SDKs it is identical with ``$<TARGET_BUNDLE_DIR:tgt>``.
+ bundle types and SDKs it is identical with :genex:`$<TARGET_BUNDLE_DIR:tgt>`.
The new expressions are helpful to query Bundle locations independent of
the different Bundle types and layouts on macOS and iOS.
diff --git a/Help/release/dev/0-sample-topic.rst b/Help/release/dev/0-sample-topic.rst
new file mode 100644
index 0000000..e4cc01e
--- /dev/null
+++ b/Help/release/dev/0-sample-topic.rst
@@ -0,0 +1,7 @@
+0-sample-topic
+--------------
+
+* This is a sample release note for the change in a topic.
+ Developers should add similar notes for each topic branch
+ making a noteworthy change. Each document should be named
+ and titled to match the topic name to avoid merge conflicts.
diff --git a/Help/release/dev/Apple-tbd-files-management.rst b/Help/release/dev/Apple-tbd-files-management.rst
new file mode 100644
index 0000000..edcfe55
--- /dev/null
+++ b/Help/release/dev/Apple-tbd-files-management.rst
@@ -0,0 +1,6 @@
+Apple-tbd-files-management
+--------------------------
+
+* Support for text-based stubs (i.e. ``.tbd`` files) was added on macOS
+ platform. This capability is managed through the :prop_tgt:`ENABLE_EXPORTS`
+ property.
diff --git a/Help/release/dev/FindCUDAToolkit-target-for-cudla.rst b/Help/release/dev/FindCUDAToolkit-target-for-cudla.rst
new file mode 100644
index 0000000..9de456e
--- /dev/null
+++ b/Help/release/dev/FindCUDAToolkit-target-for-cudla.rst
@@ -0,0 +1,4 @@
+FindCUDAToolkit-target-for-cudla
+--------------------------------
+
+* The :module:`FindCUDAToolkit` module now provides an imported target for ``cudla``, if found.
diff --git a/Help/release/dev/PATH-genex-support-list.rst b/Help/release/dev/PATH-genex-support-list.rst
new file mode 100644
index 0000000..ce87fdd
--- /dev/null
+++ b/Help/release/dev/PATH-genex-support-list.rst
@@ -0,0 +1,5 @@
+PATH-genex-supports-list
+------------------------
+
+* The :genex:`$<PATH>` generator expression learned to process list of paths
+ for decomposition and transformation operations.
diff --git a/Help/release/dev/deprecate-extra-generators.rst b/Help/release/dev/deprecate-extra-generators.rst
new file mode 100644
index 0000000..ceb2f4e
--- /dev/null
+++ b/Help/release/dev/deprecate-extra-generators.rst
@@ -0,0 +1,5 @@
+deprecate-extra-generators
+--------------------------
+
+* The :ref:`Extra Generators` have been deprecated. IDEs may use the
+ :manual:`cmake-file-api(7)` to view CMake-generated project build trees.
diff --git a/Help/release/dev/deprecate-policy-old.rst b/Help/release/dev/deprecate-policy-old.rst
new file mode 100644
index 0000000..9c38866
--- /dev/null
+++ b/Help/release/dev/deprecate-policy-old.rst
@@ -0,0 +1,7 @@
+deprecate-policy-old
+--------------------
+
+* Compatibility with versions of CMake older than 3.5 is now deprecated
+ and will be removed from a future version. Calls to
+ :command:`cmake_minimum_required` or :command:`cmake_policy` that set
+ the policy version to an older value now issue a deprecation diagnostic.
diff --git a/Help/release/dev/dll-name-soversion.rst b/Help/release/dev/dll-name-soversion.rst
new file mode 100644
index 0000000..56d0842
--- /dev/null
+++ b/Help/release/dev/dll-name-soversion.rst
@@ -0,0 +1,7 @@
+dll-name-soversion
+------------------
+
+* The :variable:`CMAKE_DLL_NAME_WITH_SOVERSION` variable and associated
+ :prop_tgt:`DLL_NAME_WITH_SOVERSION` target property were added to
+ optionally append the :prop_tgt:`SOVERSION` to the filename of the
+ ``.dll`` part of a shared library on Windows.
diff --git a/Help/release/dev/find_package-PACKAGENAME_ROOT.rst b/Help/release/dev/find_package-PACKAGENAME_ROOT.rst
new file mode 100644
index 0000000..0388271
--- /dev/null
+++ b/Help/release/dev/find_package-PACKAGENAME_ROOT.rst
@@ -0,0 +1,7 @@
+find_package-PACKAGENAME_ROOT
+-----------------------------
+
+* The :command:`find_package` command now searches prefixes specified by
+ upper-case :variable:`<PACKAGENAME>_ROOT` CMake variables and upper-case
+ :envvar:`<PACKAGENAME>_ROOT` environment variables.
+ See policy :policy:`CMP0144`.
diff --git a/Help/release/dev/install-prefix-genex-install-code-script.rst b/Help/release/dev/install-prefix-genex-install-code-script.rst
new file mode 100644
index 0000000..810f448
--- /dev/null
+++ b/Help/release/dev/install-prefix-genex-install-code-script.rst
@@ -0,0 +1,5 @@
+install-prefix-genex-install-code-script
+----------------------------------------
+
+* The :command:`install(CODE)` and :command:`install(SCRIPT)` commands
+ now support the :genex:`$<INSTALL_PREFIX>` generator expression.
diff --git a/Help/release/dev/lang-linker-launcher-genex.rst b/Help/release/dev/lang-linker-launcher-genex.rst
new file mode 100644
index 0000000..b6494eb
--- /dev/null
+++ b/Help/release/dev/lang-linker-launcher-genex.rst
@@ -0,0 +1,5 @@
+lang-linker-launcher-genex
+--------------------------
+
+* The :prop_tgt:`<LANG>_LINKER_LAUNCHER` target property now supports
+ :manual:`generator expressions <cmake-generator-expressions(7)>`.
diff --git a/Help/release/dev/ninja-custom-command-depends.rst b/Help/release/dev/ninja-custom-command-depends.rst
new file mode 100644
index 0000000..0b7840c
--- /dev/null
+++ b/Help/release/dev/ninja-custom-command-depends.rst
@@ -0,0 +1,11 @@
+ninja-custom-command-depends
+----------------------------
+
+* The :command:`add_custom_command` command gained a new
+ ``DEPENDS_EXPLICIT_ONLY`` option to tell the :ref:`Ninja Generators`
+ not to add any dependencies implied by the target to which it is
+ attached.
+
+* The :variable:`CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY` variable can
+ be set to enable ``DEPENDS_EXPLICIT_ONLY`` in all uses of
+ :command:`add_custom_command` command.
diff --git a/Help/release/dev/remove-dart-modules.rst b/Help/release/dev/remove-dart-modules.rst
new file mode 100644
index 0000000..5da2eda
--- /dev/null
+++ b/Help/release/dev/remove-dart-modules.rst
@@ -0,0 +1,5 @@
+remove-dart-modules
+-------------------
+
+* The :module:`Dart` and :module:`FindDart` modules have been deprecated via
+ policy :policy:`CMP0145`. Port projects to the :module:`CTest` module.
diff --git a/Help/release/dev/vs9-deprecate.rst b/Help/release/dev/vs9-deprecate.rst
new file mode 100644
index 0000000..46568f8
--- /dev/null
+++ b/Help/release/dev/vs9-deprecate.rst
@@ -0,0 +1,5 @@
+vs9-deprecate
+-------------
+
+* The :generator:`Visual Studio 9 2008` generator is now deprecated
+ and will be removed in a future version of CMake.
diff --git a/Help/release/index.rst b/Help/release/index.rst
index 4dfac8a..d434a3a 100644
--- a/Help/release/index.rst
+++ b/Help/release/index.rst
@@ -7,12 +7,16 @@ CMake Release Notes
This file should include the adjacent "dev.txt" file
in development versions but not in release versions.
+.. include:: dev.txt
+
Releases
========
.. toctree::
:maxdepth: 1
+ 3.26 <3.26>
+ 3.25 <3.25>
3.24 <3.24>
3.23 <3.23>
3.22 <3.22>