summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-10-09 13:23:02 (GMT)
committerBrad King <brad.king@kitware.com>2024-10-09 13:32:02 (GMT)
commitfae66f4751128be8c65752730b9661a8bf22df3f (patch)
tree533965e9110ed5aeebd27ea16d44067a2303e497 /Help
parenteed2b2d2cb41f65b0ca0b46c76dc922593a20201 (diff)
downloadCMake-fae66f4751128be8c65752730b9661a8bf22df3f.zip
CMake-fae66f4751128be8c65752730b9661a8bf22df3f.tar.gz
CMake-fae66f4751128be8c65752730b9661a8bf22df3f.tar.bz2
Help: Consolidate 3.31 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.31.rst`.
Diffstat (limited to 'Help')
-rw-r--r--Help/release/3.31.rst276
-rw-r--r--Help/release/dev/FindOpenMP-CUDA.rst4
-rw-r--r--Help/release/dev/GoogleTest-DISCOVERY_EXTRA_ARGS.rst6
-rw-r--r--Help/release/dev/aix-archive-shared-libraries.rst6
-rw-r--r--Help/release/dev/apple-framework-bundle-name.rst6
-rw-r--r--Help/release/dev/cmake--workflow-preset.rst6
-rw-r--r--Help/release/dev/cmake-list-cached-variables.rst5
-rw-r--r--Help/release/dev/cmake-pkg-config.rst8
-rw-r--r--Help/release/dev/cmake_host_executable_suffix.rst5
-rw-r--r--Help/release/dev/codegen.rst10
-rw-r--r--Help/release/dev/cpack-debian-multiarch.rst6
-rw-r--r--Help/release/dev/cpack-ifw-product-images.rst8
-rw-r--r--Help/release/dev/cpack-rpm-zstd.rst5
-rw-r--r--Help/release/dev/cpack-wix-per-machine.rst6
-rw-r--r--Help/release/dev/cuda-host-compiler-id.rst8
-rw-r--r--Help/release/dev/cuda-static-nvml.rst5
-rw-r--r--Help/release/dev/curl-tls-verify.rst14
-rw-r--r--Help/release/dev/curl-tls-version.rst10
-rw-r--r--Help/release/dev/deprecate-CMakeFindFrameworks.rst5
-rw-r--r--Help/release/dev/deprecate-pre-3.10.rst7
-rw-r--r--Help/release/dev/elf-lib-deps-resolve.rst5
-rw-r--r--Help/release/dev/execute_process-encoding.rst6
-rw-r--r--Help/release/dev/file-archive-workdir.rst5
-rw-r--r--Help/release/dev/install-type-libexec.rst5
-rw-r--r--Help/release/dev/ios-mac-catalyst.rst6
-rw-r--r--Help/release/dev/lfortran.rst5
-rw-r--r--Help/release/dev/link-strategy.rst7
-rw-r--r--Help/release/dev/macro-required-link-directories.rst99
-rw-r--r--Help/release/dev/module-cdb.rst8
-rw-r--r--Help/release/dev/normalize-install-destination-paths.rst6
-rw-r--r--Help/release/dev/preserve-empty-args-test-command-lines.rst19
-rw-r--r--Help/release/dev/preset-comments.rst5
-rw-r--r--Help/release/dev/presets-graphviz.rst5
-rw-r--r--Help/release/dev/project-vars-policy.rst7
-rw-r--r--Help/release/dev/remove-vs12-generator.rst4
-rw-r--r--Help/release/dev/standard-link-directories.rst6
-rw-r--r--Help/release/dev/static-libraries-deduplication.rst6
-rw-r--r--Help/release/dev/unity-build-supports-cuda.rst5
-rw-r--r--Help/release/dev/vs-framework-references.rst5
-rw-r--r--Help/release/index.rst1
40 files changed, 277 insertions, 344 deletions
diff --git a/Help/release/3.31.rst b/Help/release/3.31.rst
new file mode 100644
index 0000000..7c516fc
--- /dev/null
+++ b/Help/release/3.31.rst
@@ -0,0 +1,276 @@
+CMake 3.31 Release Notes
+************************
+
+.. only:: html
+
+ .. contents::
+
+Changes made since CMake 3.30 include the following.
+
+* On AIX, shared libraries may now be created as shared library archives.
+ See the :variable:`CMAKE_AIX_SHARED_LIBRARY_ARCHIVE` variable
+ and :prop_tgt:`AIX_SHARED_LIBRARY_ARCHIVE` target property.
+
+* The :prop_tgt:`MACOSX_FRAMEWORK_BUNDLE_NAME <MACOSX_FRAMEWORK_INFO_PLIST>`
+ target property was added to set the ``CFBundleName`` key in an Apple
+ :prop_tgt:`FRAMEWORK`'s ``Info.plist`` file.
+
+* The :variable:`CMAKE_HOST_EXECUTABLE_SUFFIX` variable was added to
+ provide suffix for executable names on the host platform.
+
+* The :option:`cmake -LR[A][H]` option was added to list cache entries
+ whose names match a regular expression.
+
+* The :command:`cmake_pkg_config` command was added as an endpoint for using
+ CMake's native pkg-config format parser. The only supported option in this
+ release is ``EXTRACT``, which provides low-level access to the values
+ produced by parsing a pkg-config file. For most users, this is not yet a
+ suitable replacement for the :module:`FindPkgConfig` module.
+
+* When executing a CMake workflow preset, the ``--preset`` option can now be
+ omitted, allowing the simpler command line
+ :option:`cmake --workflow \<preset\> <cmake--workflow --preset>`.
+
+* The :ref:`Ninja Generators` and :ref:`Makefile Generators` now produce
+ a ``codegen`` build target. See policy :policy:`CMP0171`. It drives a
+ subset of the build graph sufficient to run custom commands created with
+ :command:`add_custom_command`'s new ``CODEGEN`` option.
+
+* The :command:`add_custom_command` command gained a ``CODEGEN`` option
+ to mark a custom commands outputs as dependencies of a ``codegen`` target.
+
+* The :cpack_gen:`CPack DEB Generator` gained a
+ :variable:`CPACK_DEBIAN_PACKAGE_MULTIARCH` option
+ to support multi-arch packages.
+
+* The :cpack_gen:`CPack IFW Generator` gained the new
+ :variable:`CPACK_IFW_PACKAGE_PRODUCT_IMAGE_URLS` variable to
+ specify images associated with entries of
+ :variable:`CPACK_IFW_PACKAGE_PRODUCT_IMAGES`.
+ This feature is available for QtIFW 4.0 and newer.
+
+* The :cpack_gen:`CPack RPM Generator` gained support for ``zstd`` as a
+ :variable:`CPACK_RPM_COMPRESSION_TYPE` value.
+
+* The :module:`CPack` module enables per-machine installation by default
+ in the :cpack_gen:`CPack WIX Generator`. See policy :policy:`CMP0172`
+ and the :variable:`CPACK_WIX_INSTALL_SCOPE` variable.
+
+* The :variable:`CMAKE_<LANG>_HOST_COMPILER_ID` and
+ :variable:`CMAKE_<LANG>_HOST_COMPILER_VERSION` variables were added,
+ where ``<LANG>`` is either ``CUDA`` or ``HIP``. They are populated
+ when :variable:`CMAKE_<LANG>_COMPILER_ID` is ``NVIDIA`` to identify
+ NVCC's host compiler.
+
+* The :module:`FindCUDAToolkit` module now provides a ``CUDA::nvml_static``
+ target.
+
+* The :command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands now
+ verify TLS server certificates for connections to ``https://`` URLs by
+ default. See the :variable:`CMAKE_TLS_VERIFY` variable for details.
+ This change was made without a policy so that users are protected
+ even when building projects that have not been updated.
+ Users may set the :envvar:`CMAKE_TLS_VERIFY` environment
+ variable to ``0`` to restore the old default.
+
+* The :command:`ctest_submit` command and :option:`ctest -T Submit <ctest -T>`
+ step now verify TLS server certificates for connections to ``https://`` URLs
+ by default. See the :variable:`CTEST_TLS_VERIFY` variable for details.
+
+* The :command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands now
+ require TLS 1.2 or higher for connections to ``https://`` URLs by default.
+ See the :variable:`CMAKE_TLS_VERSION` variable for details.
+
+* The :command:`ctest_submit` command and :option:`ctest -T Submit <ctest -T>`
+ step now require TLS 1.2 or higher for connections to ``https://`` URLs by
+ default. See the :variable:`CTEST_TLS_VERSION` variable for details.
+
+* The :module:`CMakeFindFrameworks` module has been deprecated via
+ :policy:`CMP0173`. Projects should use :command:`find_library` instead.
+
+* Compatibility with versions of CMake older than 3.10 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.
+
+* The :command:`file(GET_RUNTIME_DEPENDENCIES)` command was updated
+ to more closely match the dynamic loader's behavior on Linux.
+
+* The :command:`execute_process` command's ``ENCODING`` option,
+ meaningful on Windows, now defaults to ``UTF-8``.
+ See policy :policy:`CMP0176`.
+
+* The :command:`file(ARCHIVE_CREATE)` command gained a ``WORKING_DIRECTORY``
+ option to specify a working directory for the archiving process.
+
+* The :module:`FindOpenMP` module gained support for the ``CUDA`` language.
+
+* The :command:`gtest_discover_tests` command gained a new
+ ``DISCOVERY_EXTRA_ARGS`` keyword. It allows extra arguments to be
+ appended to the command line when querying for the list of tests.
+
+* The :command:`install(FILES)` and :command:`install(DIRECTORY)` commands'
+ ``TYPE`` argument gained support for a ``LIBEXEC`` type.
+
+* The :module:`CMakePackageConfigHelpers` module's
+ :command:`generate_apple_platform_selection_file` function
+ gained support iOS Mac Catalyst.
+
+* The LFortran compiler is now supported with
+ :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` ``LFortran``.
+
+* The :variable:`CMAKE_LINK_LIBRARIES_STRATEGY` variable and
+ corresponding :prop_tgt:`LINK_LIBRARIES_STRATEGY` target
+ property were added to optionally specify the strategy
+ CMake uses to generate link lines.
+
+* The :module:`CMakePushCheckState` module ``cmake_push_check_state``,
+ ``cmake_pop_check_state`` and ``cmake_reset_check_state`` macros
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckCCompilerFlag` module ``check_c_compiler_flag`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckCSourceCompiles` module ``check_c_source_compiles`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckCSourceRuns` module ``check_c_source_runs`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckCXXCompilerFlag` module ``check_cxx_compiler_flag`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckCXXSourceCompiles` module ``check_cxx_source_compiles`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckCXXSourceRuns` module ``check_cxx_source_runs`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckCXXSymbolExists` module ``check_cxx_symbol_exists`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckCompilerFlag` module ``check_compiler_flag`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckFortranCompilerFlag` module ``check_fortran_compiler_flag`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckFortranFunctionExists` module ``check_fortran_function_exists`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckFortranSourceCompiles` module ``check_fortran_source_compiles`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckFortranSourceRuns` module ``check_fortran_source_runs`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckFunctionExists` module ``check_function_exists`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckIncludeFile` module ``check_include_file`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckIncludeFileCXX` module ``check_include_file_cxx`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckIncludeFiles` module ``check_include_files`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckOBJCCompilerFlag` module ``check_objc_compiler_flag`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckLibraryExists` module ``check_library_exists`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckOBJCCompilerFlag` module ``check_objc_compiler_flag`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckOBJCSourceCompiles` module ``check_objc_source_compiles`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckOBJCSourceRuns` module ``check_objc_source_runs`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckOBJCXXCompilerFlag` module ``check_objcxx_compiler_flag`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckOBJCXXSourceCompiles` module ``check_objcxx_source_compiles`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckOBJCXXSourceRuns` module ``check_objcxx_source_runs`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckPrototypeDefinition` module ``check_prototype_definition`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckSourceCompiles` module ``check_source_compiles`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckSourceRuns` module ``check_source_runs`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckStructHasMember` module ``check_struct_has_member`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckSymbolExists` module ``check_symbol_exists`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckTypeSize` module ``check_type_size`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* The :module:`CheckVariableExists` module ``check_variable_exists`` macro
+ learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
+
+* Targets with C++ modules may now export their module compile commands using
+ the :prop_tgt:`EXPORT_BUILD_DATABASE` target property. This is initialized
+ with the :variable:`CMAKE_EXPORT_BUILD_DATABASE` variable which is itself
+ initialized using the :envvar:`CMAKE_EXPORT_BUILD_DATABASE` environment
+ variable. Only supported with the :ref:`Ninja Generators`.
+
+* All ``DESTINATION`` arguments in :command:`install` commands
+ are now :ref:`normalized <Normalization>`, with the exception
+ of ``INCLUDES DESTINATION`` arguments in the ``TARGETS`` form.
+
+* Empty list elements in the :prop_tgt:`TEST_LAUNCHER` and
+ :prop_tgt:`CROSSCOMPILING_EMULATOR` target properties are now preserved
+ when the executable for a command given to :command:`add_test` is a CMake
+ target. See policy :policy:`CMP0178`.
+
+* Empty list elements in the :prop_tgt:`TEST_LAUNCHER` and
+ :prop_tgt:`CROSSCOMPILING_EMULATOR` target properties are now preserved
+ for the test created by :command:`ExternalData_Add_Test` from the
+ :module:`ExternalData` module. See policy :policy:`CMP0178`.
+
+* Empty list elements in the :prop_tgt:`TEST_LAUNCHER` and
+ :prop_tgt:`CROSSCOMPILING_EMULATOR` target properties are now preserved
+ for tests created by :command:`gtest_add_tests` and
+ :command:`gtest_discover_tests` from the :module:`GoogleTest` module.
+ Empty list elements after the ``EXTRA_ARGS`` keyword of these two commands
+ are also now preserved. See policy :policy:`CMP0178`.
+
+* Preset files may now include comments using the key ``$comment``
+ at any level within the JSON object to provide documentation.
+
+* Preset files may now request graphviz output using the ``graphviz`` key
+ in a configure preset.
+
+* The :command:`project` command now always sets
+ :variable:`<PROJECT-NAME>_SOURCE_DIR`, :variable:`<PROJECT-NAME>_BINARY_DIR`,
+ and :variable:`<PROJECT-NAME>_IS_TOP_LEVEL` as both normal variables and
+ cache entries. See policy :policy:`CMP0180`.
+
+* The :generator:`Visual Studio 12 2013` generator has been removed.
+
+* The :variable:`CMAKE_<LANG>_STANDARD_LINK_DIRECTORIES` variable was added.
+ Toolchain files can set this variable to control which link library directory
+ paths are always passed to the compiler for the specified language.
+
+* When static libraries on link lines are de-duplicated (by policy
+ :policy:`CMP0156`), the first occurrence is now kept on all platforms.
+ See policy :policy:`CMP0179`.
+
+* The :prop_tgt:`UNITY_BUILD` target property now supports the
+ CUDA (``CUDA``) language.
+
+* The :prop_tgt:`VS_FRAMEWORK_REFERENCES` target property was added
+ to tell :ref:`Visual Studio Generators` to add framework references.
diff --git a/Help/release/dev/FindOpenMP-CUDA.rst b/Help/release/dev/FindOpenMP-CUDA.rst
deleted file mode 100644
index 9c21d53..0000000
--- a/Help/release/dev/FindOpenMP-CUDA.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-FindOpenMP-CUDA
----------------
-
-* The :module:`FindOpenMP` module gained support for the ``CUDA`` language.
diff --git a/Help/release/dev/GoogleTest-DISCOVERY_EXTRA_ARGS.rst b/Help/release/dev/GoogleTest-DISCOVERY_EXTRA_ARGS.rst
deleted file mode 100644
index c625694..0000000
--- a/Help/release/dev/GoogleTest-DISCOVERY_EXTRA_ARGS.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-GoogleTest-DISCOVERY_EXTRA_ARGS
--------------------------------
-
-* The :command:`gtest_discover_tests` command gained a new
- ``DISCOVERY_EXTRA_ARGS`` keyword. It allows extra arguments to be
- appended to the command line when querying for the list of tests.
diff --git a/Help/release/dev/aix-archive-shared-libraries.rst b/Help/release/dev/aix-archive-shared-libraries.rst
deleted file mode 100644
index 467c367..0000000
--- a/Help/release/dev/aix-archive-shared-libraries.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-aix-archive-shared-libraries
-----------------------------
-
-* On AIX, shared libraries may now be created as shared library archives.
- See the :variable:`CMAKE_AIX_SHARED_LIBRARY_ARCHIVE` variable
- and :prop_tgt:`AIX_SHARED_LIBRARY_ARCHIVE` target property.
diff --git a/Help/release/dev/apple-framework-bundle-name.rst b/Help/release/dev/apple-framework-bundle-name.rst
deleted file mode 100644
index 541845b..0000000
--- a/Help/release/dev/apple-framework-bundle-name.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-apple-framework-bundle-name
----------------------------
-
-* The :prop_tgt:`MACOSX_FRAMEWORK_BUNDLE_NAME <MACOSX_FRAMEWORK_INFO_PLIST>`
- target property was added to set the ``CFBundleName`` key in an Apple
- :prop_tgt:`FRAMEWORK`'s ``Info.plist`` file.
diff --git a/Help/release/dev/cmake--workflow-preset.rst b/Help/release/dev/cmake--workflow-preset.rst
deleted file mode 100644
index 2e07eb9..0000000
--- a/Help/release/dev/cmake--workflow-preset.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-cmake--workflow-preset
-----------------------
-
-* When executing a CMake workflow preset, the ``--preset`` option can now be
- omitted, allowing the simpler command line
- :option:`cmake --workflow \<preset\> <cmake--workflow --preset>`.
diff --git a/Help/release/dev/cmake-list-cached-variables.rst b/Help/release/dev/cmake-list-cached-variables.rst
deleted file mode 100644
index 983925d..0000000
--- a/Help/release/dev/cmake-list-cached-variables.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-cmake-list-cached-variables
----------------------------
-
-* The :option:`cmake -LR[A][H]` option was added to list cache entries
- whose names match a regular expression.
diff --git a/Help/release/dev/cmake-pkg-config.rst b/Help/release/dev/cmake-pkg-config.rst
deleted file mode 100644
index 411aed2..0000000
--- a/Help/release/dev/cmake-pkg-config.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-cmake-pkg-config
-----------------
-
-* The :command:`cmake_pkg_config` command was added as an endpoint for using
- CMake's native pkg-config format parser. The only supported option in this
- release is ``EXTRACT``, which provides low-level access to the values
- produced by parsing a pkg-config file. For most users, this is not yet a
- suitable replacement for the :module:`FindPkgConfig` module.
diff --git a/Help/release/dev/cmake_host_executable_suffix.rst b/Help/release/dev/cmake_host_executable_suffix.rst
deleted file mode 100644
index 3a8b945..0000000
--- a/Help/release/dev/cmake_host_executable_suffix.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-cmake-host-executable-suffix
-----------------------------
-
-* The :variable:`CMAKE_HOST_EXECUTABLE_SUFFIX` variable was added to
- provide suffix for executable names on the host platform.
diff --git a/Help/release/dev/codegen.rst b/Help/release/dev/codegen.rst
deleted file mode 100644
index e8b61c9..0000000
--- a/Help/release/dev/codegen.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-codegen
--------
-
-* The :ref:`Ninja Generators` and :ref:`Makefile Generators` now produce
- a ``codegen`` build target. See policy :policy:`CMP0171`. It drives a
- subset of the build graph sufficient to run custom commands created with
- :command:`add_custom_command`'s new ``CODEGEN`` option.
-
-* The :command:`add_custom_command` command gained a ``CODEGEN`` option
- to mark a custom commands outputs as dependencies of a ``codegen`` target.
diff --git a/Help/release/dev/cpack-debian-multiarch.rst b/Help/release/dev/cpack-debian-multiarch.rst
deleted file mode 100644
index f593103..0000000
--- a/Help/release/dev/cpack-debian-multiarch.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-cpack-debian-multiarch
-----------------------
-
-* The :cpack_gen:`CPack DEB Generator` gained a
- :variable:`CPACK_DEBIAN_PACKAGE_MULTIARCH` option
- to support multi-arch packages.
diff --git a/Help/release/dev/cpack-ifw-product-images.rst b/Help/release/dev/cpack-ifw-product-images.rst
deleted file mode 100644
index c598124..0000000
--- a/Help/release/dev/cpack-ifw-product-images.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-cpack-ifw-product-images
-------------------------
-
-* The :cpack_gen:`CPack IFW Generator` gained the new
- :variable:`CPACK_IFW_PACKAGE_PRODUCT_IMAGE_URLS` variable to
- specify images associated with entries of
- :variable:`CPACK_IFW_PACKAGE_PRODUCT_IMAGES`.
- This feature is available for QtIFW 4.0 and newer.
diff --git a/Help/release/dev/cpack-rpm-zstd.rst b/Help/release/dev/cpack-rpm-zstd.rst
deleted file mode 100644
index 828d5f6..0000000
--- a/Help/release/dev/cpack-rpm-zstd.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-cpack-rpm-zstd
---------------
-
-* The :cpack_gen:`CPack RPM Generator` gained support for ``zstd`` as a
- :variable:`CPACK_RPM_COMPRESSION_TYPE` value.
diff --git a/Help/release/dev/cpack-wix-per-machine.rst b/Help/release/dev/cpack-wix-per-machine.rst
deleted file mode 100644
index b62cf63..0000000
--- a/Help/release/dev/cpack-wix-per-machine.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-cpack-wix-per-machine
----------------------
-
-* The :module:`CPack` module enables per-machine installation by default
- in the :cpack_gen:`CPack WIX Generator`. See policy :policy:`CMP0172`
- and the :variable:`CPACK_WIX_INSTALL_SCOPE` variable.
diff --git a/Help/release/dev/cuda-host-compiler-id.rst b/Help/release/dev/cuda-host-compiler-id.rst
deleted file mode 100644
index ab68861..0000000
--- a/Help/release/dev/cuda-host-compiler-id.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-cuda-host-compiler-id
----------------------
-
-* The :variable:`CMAKE_<LANG>_HOST_COMPILER_ID` and
- :variable:`CMAKE_<LANG>_HOST_COMPILER_VERSION` variables were added,
- where ``<LANG>`` is either ``CUDA`` or ``HIP``. They are populated
- when :variable:`CMAKE_<LANG>_COMPILER_ID` is ``NVIDIA`` to identify
- NVCC's host compiler.
diff --git a/Help/release/dev/cuda-static-nvml.rst b/Help/release/dev/cuda-static-nvml.rst
deleted file mode 100644
index e44b078..0000000
--- a/Help/release/dev/cuda-static-nvml.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-cuda-static-nvml
-----------------
-
-* The :module:`FindCUDAToolkit` module now provides a ``CUDA::nvml_static``
- target.
diff --git a/Help/release/dev/curl-tls-verify.rst b/Help/release/dev/curl-tls-verify.rst
deleted file mode 100644
index 96ee421..0000000
--- a/Help/release/dev/curl-tls-verify.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-curl-tls-verify
----------------
-
-* The :command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands now
- verify TLS server certificates for connections to ``https://`` URLs by
- default. See the :variable:`CMAKE_TLS_VERIFY` variable for details.
- This change was made without a policy so that users are protected
- even when building projects that have not been updated.
- Users may set the :envvar:`CMAKE_TLS_VERIFY` environment
- variable to ``0`` to restore the old default.
-
-* The :command:`ctest_submit` command and :option:`ctest -T Submit <ctest -T>`
- step now verify TLS server certificates for connections to ``https://`` URLs
- by default. See the :variable:`CTEST_TLS_VERIFY` variable for details.
diff --git a/Help/release/dev/curl-tls-version.rst b/Help/release/dev/curl-tls-version.rst
deleted file mode 100644
index ea142b3..0000000
--- a/Help/release/dev/curl-tls-version.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-curl-tls-version
-----------------
-
-* The :command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands now
- require TLS 1.2 or higher for connections to ``https://`` URLs by default.
- See the :variable:`CMAKE_TLS_VERSION` variable for details.
-
-* The :command:`ctest_submit` command and :option:`ctest -T Submit <ctest -T>`
- step now require TLS 1.2 or higher for connections to ``https://`` URLs by
- default. See the :variable:`CTEST_TLS_VERSION` variable for details.
diff --git a/Help/release/dev/deprecate-CMakeFindFrameworks.rst b/Help/release/dev/deprecate-CMakeFindFrameworks.rst
deleted file mode 100644
index 785962f..0000000
--- a/Help/release/dev/deprecate-CMakeFindFrameworks.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-deprecate-CMakeFindFrameworks
------------------------------
-
-* The :module:`CMakeFindFrameworks` module has been deprecated via
- :policy:`CMP0173`. Projects should use :command:`find_library` instead.
diff --git a/Help/release/dev/deprecate-pre-3.10.rst b/Help/release/dev/deprecate-pre-3.10.rst
deleted file mode 100644
index 7689039..0000000
--- a/Help/release/dev/deprecate-pre-3.10.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-deprecate-pre-3.10
-------------------
-
-* Compatibility with versions of CMake older than 3.10 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/elf-lib-deps-resolve.rst b/Help/release/dev/elf-lib-deps-resolve.rst
deleted file mode 100644
index f7866eb..0000000
--- a/Help/release/dev/elf-lib-deps-resolve.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-elf-lib-deps-resolve
---------------------
-
-* The :command:`file(GET_RUNTIME_DEPENDENCIES)` command was updated
- to more closely match the dynamic loader's behavior on Linux.
diff --git a/Help/release/dev/execute_process-encoding.rst b/Help/release/dev/execute_process-encoding.rst
deleted file mode 100644
index f6999e3..0000000
--- a/Help/release/dev/execute_process-encoding.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-execute_process-encoding
-------------------------
-
-* The :command:`execute_process` command's ``ENCODING`` option,
- meaningful on Windows, now defaults to ``UTF-8``.
- See policy :policy:`CMP0176`.
diff --git a/Help/release/dev/file-archive-workdir.rst b/Help/release/dev/file-archive-workdir.rst
deleted file mode 100644
index baf4a22..0000000
--- a/Help/release/dev/file-archive-workdir.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-file-archive-workdir
---------------------
-
-* The :command:`file(ARCHIVE_CREATE)` command gained a ``WORKING_DIRECTORY``
- option to specify a working directory for the archiving process.
diff --git a/Help/release/dev/install-type-libexec.rst b/Help/release/dev/install-type-libexec.rst
deleted file mode 100644
index d77a36b..0000000
--- a/Help/release/dev/install-type-libexec.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-install-type-libexec
---------------------
-
-* The :command:`install(FILES)` and :command:`install(DIRECTORY)` commands'
- ``TYPE`` argument gained support for a ``LIBEXEC`` type.
diff --git a/Help/release/dev/ios-mac-catalyst.rst b/Help/release/dev/ios-mac-catalyst.rst
deleted file mode 100644
index 93a3768..0000000
--- a/Help/release/dev/ios-mac-catalyst.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-ios-mac-catalyst
-----------------
-
-* The :module:`CMakePackageConfigHelpers` module's
- :command:`generate_apple_platform_selection_file` function
- gained support iOS Mac Catalyst.
diff --git a/Help/release/dev/lfortran.rst b/Help/release/dev/lfortran.rst
deleted file mode 100644
index e63835e..0000000
--- a/Help/release/dev/lfortran.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-lfortran
---------
-
-* The LFortran compiler is now supported with
- :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` ``LFortran``.
diff --git a/Help/release/dev/link-strategy.rst b/Help/release/dev/link-strategy.rst
deleted file mode 100644
index ab626d1..0000000
--- a/Help/release/dev/link-strategy.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-link-strategy
--------------
-
-* The :variable:`CMAKE_LINK_LIBRARIES_STRATEGY` variable and
- corresponding :prop_tgt:`LINK_LIBRARIES_STRATEGY` target
- property were added to optionally specify the strategy
- CMake uses to generate link lines.
diff --git a/Help/release/dev/macro-required-link-directories.rst b/Help/release/dev/macro-required-link-directories.rst
deleted file mode 100644
index 1e4adc7..0000000
--- a/Help/release/dev/macro-required-link-directories.rst
+++ /dev/null
@@ -1,99 +0,0 @@
-macro-required-link-directories
--------------------------------
-
-* The :module:`CMakePushCheckState` module ``cmake_push_check_state``,
- ``cmake_pop_check_state`` and ``cmake_reset_check_state`` macros
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckCCompilerFlag` module ``check_c_compiler_flag`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckCSourceCompiles` module ``check_c_source_compiles`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckCSourceRuns` module ``check_c_source_runs`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckCXXCompilerFlag` module ``check_cxx_compiler_flag`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckCXXSourceCompiles` module ``check_cxx_source_compiles`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckCXXSourceRuns` module ``check_cxx_source_runs`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckCXXSymbolExists` module ``check_cxx_symbol_exists`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckCompilerFlag` module ``check_compiler_flag`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckFortranCompilerFlag` module ``check_fortran_compiler_flag`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckFortranFunctionExists` module ``check_fortran_function_exists`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckFortranSourceCompiles` module ``check_fortran_source_compiles`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckFortranSourceRuns` module ``check_fortran_source_runs`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckFunctionExists` module ``check_function_exists`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckIncludeFile` module ``check_include_file`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckIncludeFileCXX` module ``check_include_file_cxx`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckIncludeFiles` module ``check_include_files`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckOBJCCompilerFlag` module ``check_objc_compiler_flag`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckLibraryExists` module ``check_library_exists`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckOBJCCompilerFlag` module ``check_objc_compiler_flag`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckOBJCSourceCompiles` module ``check_objc_source_compiles`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckOBJCSourceRuns` module ``check_objc_source_runs`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckOBJCXXCompilerFlag` module ``check_objcxx_compiler_flag`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckOBJCXXSourceCompiles` module ``check_objcxx_source_compiles`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckOBJCXXSourceRuns` module ``check_objcxx_source_runs`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckPrototypeDefinition` module ``check_prototype_definition`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckSourceCompiles` module ``check_source_compiles`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckSourceRuns` module ``check_source_runs`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckStructHasMember` module ``check_struct_has_member`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckSymbolExists` module ``check_symbol_exists`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckTypeSize` module ``check_type_size`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
-
-* The :module:`CheckVariableExists` module ``check_variable_exists`` macro
- learned to honor the ``CMAKE_REQUIRED_LINK_DIRECTORIES`` variable.
diff --git a/Help/release/dev/module-cdb.rst b/Help/release/dev/module-cdb.rst
deleted file mode 100644
index 6c28c79..0000000
--- a/Help/release/dev/module-cdb.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-module-cdb
-==========
-
-* Targets with C++ modules may now export their module compile commands using
- the :prop_tgt:`EXPORT_BUILD_DATABASE` target property. This is initialized
- with the :variable:`CMAKE_EXPORT_BUILD_DATABASE` variable which is itself
- initialized using the :envvar:`CMAKE_EXPORT_BUILD_DATABASE` environment
- variable. Only supported with the :ref:`Ninja Generators`.
diff --git a/Help/release/dev/normalize-install-destination-paths.rst b/Help/release/dev/normalize-install-destination-paths.rst
deleted file mode 100644
index 74a76a6..0000000
--- a/Help/release/dev/normalize-install-destination-paths.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-normalize-install-destination-paths
------------------------------------
-
-* All ``DESTINATION`` arguments in :command:`install` commands
- are now :ref:`normalized <Normalization>`, with the exception
- of ``INCLUDES DESTINATION`` arguments in the ``TARGETS`` form.
diff --git a/Help/release/dev/preserve-empty-args-test-command-lines.rst b/Help/release/dev/preserve-empty-args-test-command-lines.rst
deleted file mode 100644
index a533ac8..0000000
--- a/Help/release/dev/preserve-empty-args-test-command-lines.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-preserve-empty-args-test-command-lines
---------------------------------------
-
-* Empty list elements in the :prop_tgt:`TEST_LAUNCHER` and
- :prop_tgt:`CROSSCOMPILING_EMULATOR` target properties are now preserved
- when the executable for a command given to :command:`add_test` is a CMake
- target. See policy :policy:`CMP0178`.
-
-* Empty list elements in the :prop_tgt:`TEST_LAUNCHER` and
- :prop_tgt:`CROSSCOMPILING_EMULATOR` target properties are now preserved
- for the test created by :command:`ExternalData_Add_Test` from the
- :module:`ExternalData` module. See policy :policy:`CMP0178`.
-
-* Empty list elements in the :prop_tgt:`TEST_LAUNCHER` and
- :prop_tgt:`CROSSCOMPILING_EMULATOR` target properties are now preserved
- for tests created by :command:`gtest_add_tests` and
- :command:`gtest_discover_tests` from the :module:`GoogleTest` module.
- Empty list elements after the ``EXTRA_ARGS`` keyword of these two commands
- are also now preserved. See policy :policy:`CMP0178`.
diff --git a/Help/release/dev/preset-comments.rst b/Help/release/dev/preset-comments.rst
deleted file mode 100644
index 0d0e768..0000000
--- a/Help/release/dev/preset-comments.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-preset-comments
----------------
-
-* Preset files may now include comments using the key ``$comment``
- at any level within the JSON object to provide documentation.
diff --git a/Help/release/dev/presets-graphviz.rst b/Help/release/dev/presets-graphviz.rst
deleted file mode 100644
index f3eb480..0000000
--- a/Help/release/dev/presets-graphviz.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-presets-graphviz
-----------------
-
-* Preset files may now request graphviz output using the ``graphviz`` key
- in a configure preset.
diff --git a/Help/release/dev/project-vars-policy.rst b/Help/release/dev/project-vars-policy.rst
deleted file mode 100644
index 02287aa..0000000
--- a/Help/release/dev/project-vars-policy.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-project-vars-policy
--------------------
-
-* The :command:`project` command now always sets
- :variable:`<PROJECT-NAME>_SOURCE_DIR`, :variable:`<PROJECT-NAME>_BINARY_DIR`,
- and :variable:`<PROJECT-NAME>_IS_TOP_LEVEL` as both normal variables and
- cache entries. See policy :policy:`CMP0180`.
diff --git a/Help/release/dev/remove-vs12-generator.rst b/Help/release/dev/remove-vs12-generator.rst
deleted file mode 100644
index fdbdc07..0000000
--- a/Help/release/dev/remove-vs12-generator.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-remove-vs12-generator
----------------------
-
-* The :generator:`Visual Studio 12 2013` generator has been removed.
diff --git a/Help/release/dev/standard-link-directories.rst b/Help/release/dev/standard-link-directories.rst
deleted file mode 100644
index 5c4f287..0000000
--- a/Help/release/dev/standard-link-directories.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-standard-link-directories
--------------------------
-
-* The :variable:`CMAKE_<LANG>_STANDARD_LINK_DIRECTORIES` variable was added.
- Toolchain files can set this variable to control which link library directory
- paths are always passed to the compiler for the specified language.
diff --git a/Help/release/dev/static-libraries-deduplication.rst b/Help/release/dev/static-libraries-deduplication.rst
deleted file mode 100644
index e388579..0000000
--- a/Help/release/dev/static-libraries-deduplication.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-static-libraries-deduplication
-------------------------------
-
-* When static libraries on link lines are de-duplicated (by policy
- :policy:`CMP0156`), the first occurrence is now kept on all platforms.
- See policy :policy:`CMP0179`.
diff --git a/Help/release/dev/unity-build-supports-cuda.rst b/Help/release/dev/unity-build-supports-cuda.rst
deleted file mode 100644
index b6c09d1..0000000
--- a/Help/release/dev/unity-build-supports-cuda.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-unity-build-supports-cuda
--------------------------
-
-* The :prop_tgt:`UNITY_BUILD` target property now supports the
- CUDA (``CUDA``) language.
diff --git a/Help/release/dev/vs-framework-references.rst b/Help/release/dev/vs-framework-references.rst
deleted file mode 100644
index 1f50b50..0000000
--- a/Help/release/dev/vs-framework-references.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-vs-framework-references
------------------------
-
-* The :prop_tgt:`VS_FRAMEWORK_REFERENCES` target property was added
- to tell :ref:`Visual Studio Generators` to add framework references.
diff --git a/Help/release/index.rst b/Help/release/index.rst
index fbff07b..101dd68 100644
--- a/Help/release/index.rst
+++ b/Help/release/index.rst
@@ -15,6 +15,7 @@ Releases
.. toctree::
:maxdepth: 1
+ 3.31 <3.31>
3.30 <3.30>
3.29 <3.29>
3.28 <3.28>