summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-02-03 14:09:54 (GMT)
committerKitware Robot <kwrobot@kitware.com>2022-02-03 14:10:06 (GMT)
commit3d85c0072db6e97938b9fe7157483bcd41918b08 (patch)
tree57ec2ddb76b680c6a37ca7f390a59140bed3bb65
parentd738939355f73bc2e1b85d80b49564455b62b60b (diff)
parent9334b5bd7bb7eac496a6c1aad2b467638262c047 (diff)
downloadCMake-3d85c0072db6e97938b9fe7157483bcd41918b08.zip
CMake-3d85c0072db6e97938b9fe7157483bcd41918b08.tar.gz
CMake-3d85c0072db6e97938b9fe7157483bcd41918b08.tar.bz2
Merge topic 'doc-3.23-relnotes'
9334b5bd7b Help: Update Sphinx versionadded directives for 3.23 release e61969c59e Help: Organize and revise 3.23 release notes f5bdea75a0 Help: Consolidate 3.23 release notes ef23e81544 Help: Remove stray leading blank lines from release notes 51aaea34d6 Help: Polish CMAKE{,_SYSTEM}_IGNORE_PREFIX_PATH documentation 23b1d8f03c CheckPIESupported: Document version adding support for more languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6936
-rw-r--r--Help/prop_tgt/IMPORTED_NO_SYSTEM.rst2
-rw-r--r--Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.rst2
-rw-r--r--Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE.rst2
-rw-r--r--Help/release/3.23.rst253
-rw-r--r--Help/release/dev/CheckPIESupported-supports-SYSROOT.rst6
-rw-r--r--Help/release/dev/FindCUDAToolkit-target-for-cufft_static_nocallback.rst5
-rw-r--r--Help/release/dev/FindGLUT-include-dirs.rst7
-rw-r--r--Help/release/dev/FindGTest-target-for-gmock.rst4
-rw-r--r--Help/release/dev/FindVulkan-version.rst5
-rw-r--r--Help/release/dev/ccmake-windows.rst6
-rw-r--r--Help/release/dev/cmake-ignore-prefix-path.rst7
-rw-r--r--Help/release/dev/cmake-presets-include.rst6
-rw-r--r--Help/release/dev/cpack-dmg-sla.rst9
-rw-r--r--Help/release/dev/cpack-drop-osxx11.rst4
-rw-r--r--Help/release/dev/cpack-productbuild-domains.rst9
-rw-r--r--Help/release/dev/cpack-productbuild-identifier.rst6
-rw-r--r--Help/release/dev/cpack-wix-skip-ui-ext.rst5
-rw-r--r--Help/release/dev/cpackifw-archive-format.rst9
-rw-r--r--Help/release/dev/cpackifw-package-disable-command-line-interface.rst8
-rw-r--r--Help/release/dev/cpackifw-package-product-images.rst8
-rw-r--r--Help/release/dev/cpackifw-package-run-program.rst10
-rw-r--r--Help/release/dev/cpackifw-signing-identity.rst7
-rw-r--r--Help/release/dev/ctest_submit-inactivity-timeout.rst5
-rw-r--r--Help/release/dev/cuda-clang-device-link-flags.rst7
-rw-r--r--Help/release/dev/cuda-compiler-detection-robustness.rst11
-rw-r--r--Help/release/dev/cuda-invalid-architectures.rst5
-rw-r--r--Help/release/dev/cuda-new-arch-modes.rst8
-rw-r--r--Help/release/dev/cuda-ptx-separable-compilation.rst5
-rw-r--r--Help/release/dev/define-property-optional-args.rst5
-rw-r--r--Help/release/dev/filter-debug-find.rst10
-rw-r--r--Help/release/dev/ibmclang-compiler.rst5
-rw-r--r--Help/release/dev/imported-no-system.rst7
-rw-r--r--Help/release/dev/lcc-compiler.rst5
-rw-r--r--Help/release/dev/link-interface-direct.rst7
-rw-r--r--Help/release/dev/link-only-targets.rst7
-rw-r--r--Help/release/dev/target-properties-from-variables.rst5
-rw-r--r--Help/release/dev/target-sources-file-set.rst18
-rw-r--r--Help/release/dev/timestamp-microseconds.rst5
-rw-r--r--Help/release/dev/vs-csharp-dotnet-sdk.rst9
-rw-r--r--Help/release/dev/vs-instance.rst6
-rw-r--r--Help/release/dev/vs-package-restore.rst13
-rw-r--r--Help/release/dev/xcode-embed-plugins.rst6
-rw-r--r--Help/release/dev/xcode-scheme-enable-gpu-frame-capture-mode.rst4
-rw-r--r--Help/release/index.rst1
-rw-r--r--Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst22
-rw-r--r--Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst20
-rw-r--r--Help/variable/CTEST_SUBMIT_INACTIVITY_TIMEOUT.rst2
-rw-r--r--Modules/CheckPIESupported.cmake9
48 files changed, 292 insertions, 295 deletions
diff --git a/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst b/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst
index f6ad3e5..ee22d6f 100644
--- a/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst
+++ b/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst
@@ -1,6 +1,8 @@
IMPORTED_NO_SYSTEM
------------------
+.. versionadded:: 3.23
+
Specifies that an :ref:`Imported Target <Imported Targets>` is not
a ``SYSTEM`` library. This has the following effects:
diff --git a/Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.rst b/Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.rst
index 1a6ebd1..0507261 100644
--- a/Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.rst
+++ b/Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.rst
@@ -1,6 +1,8 @@
INTERFACE_LINK_LIBRARIES_DIRECT
-------------------------------
+.. versionadded:: 3.23
+
List of libraries that consumers of this library should treat
as direct link dependencies.
diff --git a/Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE.rst b/Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE.rst
index ecab8a0..c92f142 100644
--- a/Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE.rst
+++ b/Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE.rst
@@ -1,6 +1,8 @@
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
---------------------------------------
+.. versionadded:: 3.23
+
List of libraries that consumers of this library should *not* treat
as direct link dependencies.
diff --git a/Help/release/3.23.rst b/Help/release/3.23.rst
new file mode 100644
index 0000000..14fa47c
--- /dev/null
+++ b/Help/release/3.23.rst
@@ -0,0 +1,253 @@
+CMake 3.23 Release Notes
+************************
+
+.. only:: html
+
+ .. contents::
+
+Changes made since CMake 3.22 include the following.
+
+New Features
+============
+
+Presets
+-------
+
+* :manual:`cmake-presets(7)` files now support schema version ``4``.
+
+* :manual:`cmake-presets(7)` files now have an optional ``include`` field,
+ which allows the files to include other files.
+
+* :manual:`cmake-presets(7)` gained support for specifying the
+ ``resolvePackageReferences`` command line option in a build preset.
+
+Generators
+----------
+
+* The :ref:`Visual Studio Generators` for VS 2019 and above learned to
+ support .NET SDK-style project files (``.csproj``) for C# projects.
+ See the :prop_tgt:`DOTNET_SDK` target property and corresponding
+ :variable:`CMAKE_DOTNET_SDK` variable. :command:`add_custom_command`
+ is not yet supported in .NET SDK-style projects.
+
+* The :ref:`Visual Studio Generators` for VS 2017 and above learned to
+ use portable instances of Visual Studio not known to the VS installer.
+ See the :variable:`CMAKE_GENERATOR_INSTANCE` variable.
+
+Command-Line
+------------
+
+* The :manual:`cmake(1)` ``--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>``
+ command-line option to control the behavior on one invocation.
+
+* The :manual:`cmake(1)` command line tool gained a ``--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=``
+ option to enable debug messages for ``find_*`` calls that use specific
+ result variables.
+
+Compilers
+---------
+
+* The IBM Open XL C/C++ compiler, based on LLVM, is now supported with
+ compiler id ``IBMClang``.
+
+* The MCST LCC compiler is now supported with compiler id ``LCC``.
+ See policy :policy:`CMP0129`.
+
+File-Based API
+--------------
+
+* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field
+ has been updated to ``2.4``.
+
+* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``directory``
+ object ``installers`` field gained a new ``fileSet`` installer type.
+
+Commands
+--------
+
+* The :command:`define_property` command gained a new
+ ``INITIALIZE_FROM_VARIABLE`` option to cause a target property to be
+ initialized from a variable when a target is created.
+
+* The :command:`install(TARGETS)` command gained a new ``FILE_SET`` argument,
+ which can be used to install header file sets associated with a target.
+
+* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands now
+ support the ``%f`` specifier for microseconds.
+
+* The :command:`target_sources` command gained a new ``FILE_SET`` mode, which
+ can be used to add headers as header-only source files of a target.
+
+Variables
+---------
+
+* The :variable:`CMAKE_CUDA_ARCHITECTURES` variable and associated
+ :prop_tgt:`CUDA_ARCHITECTURES` target property now support the
+ ``all``, and ``all-major`` values for CUDA toolkit 7.0+.
+
+* The :variable:`CMAKE_IGNORE_PREFIX_PATH` and
+ :variable:`CMAKE_SYSTEM_IGNORE_PREFIX_PATH` variables were added
+ to tell the :command:`find_package`, :command:`find_program`,
+ :command:`find_library`, :command:`find_path`, and :command:`find_file`
+ commands to ignore specified prefixes.
+
+* The :variable:`CMAKE_LINK_LIBRARIES_ONLY_TARGETS` variable and
+ corresponding :prop_tgt:`LINK_LIBRARIES_ONLY_TARGETS` target
+ property were added to optionally require that all link items
+ that can be target names are actually names of existing targets.
+
+Properties
+----------
+
+* The :prop_tgt:`HEADER_SETS` and :prop_tgt:`INTERFACE_HEADER_SETS` target
+ properties were added to list header sets associated with a target.
+
+* The :prop_tgt:`HEADER_SET` and :prop_tgt:`HEADER_SET_<NAME>` target
+ properties were added to list files in the default header set
+ and named header sets, respectively.
+
+* The :prop_tgt:`HEADER_DIRS` and :prop_tgt:`HEADER_DIRS_<NAME>` target
+ properties were added to specify the base directories of the default
+ header set and named header sets, respectively.
+
+* The :prop_tgt:`IMPORTED_NO_SYSTEM` target property was added to
+ specify that an :ref:`Imported Target <Imported Targets>` should
+ not be treated as a system library (i.e. its include directories
+ are not automatically ``SYSTEM``).
+
+* The :prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT` and
+ :prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE` target properties
+ were added to express usage requirements affecting a consumer's
+ direct link dependencies.
+
+* The :prop_tgt:`XCODE_EMBED_PLUGINS <XCODE_EMBED_<type>>` target property
+ was added to tell the :generator:`Xcode` generator what targets to put in
+ the ``Embed PlugIns`` build phase.
+
+* The :prop_tgt:`XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE` target property
+ and supporting :variable:`CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE`
+ variable were added to tell the :generator:`Xcode` generator to enable
+ specifying the Xcode scheme option property ``GPU Frame Capture``.
+
+Modules
+-------
+
+* The :module:`CheckPIESupported` module now supports the ``OBJC``,
+ ``OBJCXX``, ``CUDA``, and ``HIP`` languages. It also now honors
+ :variable:`CMAKE_SYSROOT` and :variable:`CMAKE_OSX_SYSROOT`.
+
+* The :module:`FindCUDAToolkit` module now provides a target for
+ ``libcufft_static_nocallback``, if found.
+
+* The :module:`FindGLUT` module now provides the ``GLUT_INCLUDE_DIRS``
+ result variable to conform with naming conventions documented in the
+ :manual:`cmake-developer(7)` manual. This supersedes the legacy
+ ``GLUT_INCLUDE_DIR`` variable.
+
+* The :module:`FindGTest` module now provides a target for GMock, if found.
+
+* The :module:`FindVulkan` module now provides a ``Vulkan_VERSION`` result
+ variable reporting the version number.
+
+CTest
+-----
+
+* :manual:`ctest(1)` gained a new :variable:`CTEST_SUBMIT_INACTIVITY_TIMEOUT`
+ variable, which can be used to specify a timeout for submission inactivity.
+
+CPack
+-----
+
+* The :cpack_gen:`CPack productbuild Generator` gained the new
+ :variable:`CPACK_PRODUCTBUILD_DOMAINS`,
+ :variable:`CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE`,
+ :variable:`CPACK_PRODUCTBUILD_DOMAINS_USER`, and
+ :variable:`CPACK_PRODUCTBUILD_DOMAINS_ROOT` variables for
+ adding the domains element to the Distribution XML.
+
+* The :cpack_gen:`CPack productbuild Generator` gained a new variable,
+ :variable:`CPACK_PRODUCTBUILD_IDENTIFIER`, used to customize the unique
+ product identifier associated with the product.
+
+* The :cpack_gen:`CPack IFW Generator` gained the new
+ :variable:`CPACK_IFW_ARCHIVE_FORMAT` and
+ :variable:`CPACK_IFW_ARCHIVE_COMPRESSION` variables for setting the
+ format used when packaging new component data archives, and choosing
+ the compression level used.
+ These features are available for QtIFW 4.2 and newer.
+
+* The :cpack_gen:`CPack IFW Generator` gained new
+ :variable:`CPACK_IFW_PACKAGE_DISABLE_COMMAND_LINE_INTERFACE` variable to
+ prevent the user from passing any consumer command to the installer, like
+ ``install``, ``update``, and ``remove``.
+ This feature is available for QtIFW 4.0 and newer.
+
+* The :cpack_gen:`CPack IFW Generator` gained the new
+ :variable:`CPACK_IFW_PACKAGE_PRODUCT_IMAGES` variable for adding a
+ list of images to be shown on the ``PerformInstallationPage``.
+ This feature is available for QtIFW 4.0 and newer.
+
+* The :cpack_gen:`CPack IFW Generator` gained the new
+ :variable:`CPACK_IFW_PACKAGE_RUN_PROGRAM`,
+ :variable:`CPACK_IFW_PACKAGE_RUN_PROGRAM_ARGUMENTS`, and
+ :variable:`CPACK_IFW_PACKAGE_RUN_PROGRAM_DESCRIPTION` variables for
+ executing a command after the installer is done if the user accepts
+ the action. This feature is available for QtIFW 4.0 and newer.
+
+* The :cpack_gen:`CPack IFW Generator` gained the new
+ :variable:`CPACK_IFW_PACKAGE_SIGNING_IDENTITY` variable for specifying a
+ code signing identity to be used for signing the generated app bundle.
+ This feature is available on macOS only, and for QtIFW 3.0 and newer.
+
+* The :cpack_gen:`CPack WIX Generator` gained a new variable,
+ :variable:`CPACK_WIX_SKIP_WIX_UI_EXTENSION`, to skip the inclusion
+ of WixUIExtensions.
+
+Deprecated and Removed Features
+===============================
+
+* The :manual:`cpack(1)` undocumented ``OSXX11`` generator has been removed.
+
+Other Changes
+=============
+
+* The :cpack_gen:`CPack DragNDrop Generator` no longer attaches
+ :variable:`CPACK_RESOURCE_FILE_LICENSE` as the license agreement in
+ the generated ``.dmg`` unless explicitly activated by a
+ :variable:`CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE` option.
+ In CMake projects, the :module:`CPack` module enables the option
+ by default for compatibility.
+
+* ``CUDA`` targets may now enable both :prop_tgt:`CUDA_SEPARABLE_COMPILATION`
+ and :prop_tgt:`CUDA_PTX_COMPILATION`.
+
+* ``CUDA`` compiler detection now:
+
+ * issues an error in all cases when it's unable to compute the default
+ architecture(s) if required (see :policy:`CMP0104`),
+
+ * handles ``OFF`` for :variable:`CMAKE_CUDA_ARCHITECTURES` on Clang,
+
+ * supports the theoretical case of multiple default architectures, and
+
+ * 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 :command:`define_property` command's ``BRIEF_DOCS`` and ``FULL_DOCS``
+ arguments are now optional.
+
+* :manual:`ccmake(1)` may now be enabled on Windows when building
+ CMake from source. This is experimental, and so is not included
+ in official distributions.
diff --git a/Help/release/dev/CheckPIESupported-supports-SYSROOT.rst b/Help/release/dev/CheckPIESupported-supports-SYSROOT.rst
deleted file mode 100644
index 0f7f7de..0000000
--- a/Help/release/dev/CheckPIESupported-supports-SYSROOT.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-CheckPIESupported-supports-SYSROOT
-----------------------------------
-
-* The :module:`CheckPIESupported` module now takes care of any ``SYSROOT``
- settings and gains the support of ``OBJC``, ``OBJCXX``, ``CUDA``, and ``HIP``
- languages.
diff --git a/Help/release/dev/FindCUDAToolkit-target-for-cufft_static_nocallback.rst b/Help/release/dev/FindCUDAToolkit-target-for-cufft_static_nocallback.rst
deleted file mode 100644
index 91c3feb..0000000
--- a/Help/release/dev/FindCUDAToolkit-target-for-cufft_static_nocallback.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-FindCUDAToolkit-target-for-cufft_static_nocallback
---------------------------------------------------
-
-* The :module:`FindCUDAToolkit` module now provides a target for
- ``libcufft_static_nocallback``, if found.
diff --git a/Help/release/dev/FindGLUT-include-dirs.rst b/Help/release/dev/FindGLUT-include-dirs.rst
deleted file mode 100644
index 9528892..0000000
--- a/Help/release/dev/FindGLUT-include-dirs.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-FindGLUT-include-dirs
----------------------
-
-* The :module:`FindGLUT` module now provides the ``GLUT_INCLUDE_DIRS``
- result variable to conform with naming conventions documented in the
- :manual:`cmake-developer(7)` manual. This supersedes the legacy
- ``GLUT_INCLUDE_DIR`` variable.
diff --git a/Help/release/dev/FindGTest-target-for-gmock.rst b/Help/release/dev/FindGTest-target-for-gmock.rst
deleted file mode 100644
index f78242c..0000000
--- a/Help/release/dev/FindGTest-target-for-gmock.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-FindGTest-target-for-gmock
---------------------------
-
-* The :module:`FindGTest` module now provides a target for GMock, if found.
diff --git a/Help/release/dev/FindVulkan-version.rst b/Help/release/dev/FindVulkan-version.rst
deleted file mode 100644
index 4e9f121..0000000
--- a/Help/release/dev/FindVulkan-version.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-FindVulkan-version
-------------------
-
-* The :module:`FindVulkan` module gained a ``Vulkan_VERSION`` result
- variable reporting the version number.
diff --git a/Help/release/dev/ccmake-windows.rst b/Help/release/dev/ccmake-windows.rst
deleted file mode 100644
index acb6d29..0000000
--- a/Help/release/dev/ccmake-windows.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-ccmake-windows
---------------
-
-* :manual:`ccmake(1)` may now be enabled on Windows when building
- CMake from source. This is experimental, and so is not included
- in official distributions.
diff --git a/Help/release/dev/cmake-ignore-prefix-path.rst b/Help/release/dev/cmake-ignore-prefix-path.rst
deleted file mode 100644
index 780e04f..0000000
--- a/Help/release/dev/cmake-ignore-prefix-path.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-cmake-ignore-prefix-path
-------------------------
-
-* :command:`find_package`, :command:`find_program`, :command:`find_library`,
- :command:`find_path`, and :command:`find_file` now recognize the
- :variable:`CMAKE_IGNORE_PREFIX_PATH` and
- :variable:`CMAKE_SYSTEM_IGNORE_PREFIX_PATH` variables.
diff --git a/Help/release/dev/cmake-presets-include.rst b/Help/release/dev/cmake-presets-include.rst
deleted file mode 100644
index 51219bd..0000000
--- a/Help/release/dev/cmake-presets-include.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-cmake-presets-include
----------------------
-
-* :manual:`cmake-presets(7)` files now support schema version ``4``.
-* :manual:`cmake-presets(7)` files now have an optional ``include`` field,
- which allows the files to include other files.
diff --git a/Help/release/dev/cpack-dmg-sla.rst b/Help/release/dev/cpack-dmg-sla.rst
deleted file mode 100644
index c6a3596..0000000
--- a/Help/release/dev/cpack-dmg-sla.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-cpack-dmg-sla
--------------
-
-* The :cpack_gen:`CPack DragNDrop Generator` no longer attaches
- :variable:`CPACK_RESOURCE_FILE_LICENSE` as the license agreement in
- the generated ``.dmg`` unless explicitly activated by a
- :variable:`CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE` option.
- In CMake projects, the :module:`CPack` module enables the option
- by default for compatibility.
diff --git a/Help/release/dev/cpack-drop-osxx11.rst b/Help/release/dev/cpack-drop-osxx11.rst
deleted file mode 100644
index c8dfaff..0000000
--- a/Help/release/dev/cpack-drop-osxx11.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-cpack-drop-osxx11
------------------
-
-* The :manual:`cpack(1)` undocumented ``OSXX11`` generator has been removed.
diff --git a/Help/release/dev/cpack-productbuild-domains.rst b/Help/release/dev/cpack-productbuild-domains.rst
deleted file mode 100644
index 32a2eee..0000000
--- a/Help/release/dev/cpack-productbuild-domains.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-cpack-productbuild-domains
------------------------------
-
-* The :cpack_gen:`CPack productbuild Generator` gained the new
- :variable:`CPACK_PRODUCTBUILD_DOMAINS`,
- :variable:`CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE`,
- :variable:`CPACK_PRODUCTBUILD_DOMAINS_USER`, and
- :variable:`CPACK_PRODUCTBUILD_DOMAINS_ROOT` variables for
- adding the domains element to the Distribution XML.
diff --git a/Help/release/dev/cpack-productbuild-identifier.rst b/Help/release/dev/cpack-productbuild-identifier.rst
deleted file mode 100644
index bfa0dd9..0000000
--- a/Help/release/dev/cpack-productbuild-identifier.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-cpack-productbuild-identifier
------------------------------
-
-* The :cpack_gen:`CPack productbuild Generator` gained a new variable,
- :variable:`CPACK_PRODUCTBUILD_IDENTIFIER`, used to customize the unique
- product identifier associated with the product.
diff --git a/Help/release/dev/cpack-wix-skip-ui-ext.rst b/Help/release/dev/cpack-wix-skip-ui-ext.rst
deleted file mode 100644
index e139469..0000000
--- a/Help/release/dev/cpack-wix-skip-ui-ext.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-cpack-wix-skip-ui-ext
----------------------
-
-* An option to the WiX Generator was added to be able to skip
- the inclusion of the WixUIExtensions
diff --git a/Help/release/dev/cpackifw-archive-format.rst b/Help/release/dev/cpackifw-archive-format.rst
deleted file mode 100644
index 8884d74..0000000
--- a/Help/release/dev/cpackifw-archive-format.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-
-cpackifw-archive-format
------------------------
-
-* The :cpack_gen:`CPack IFW Generator` gained the new
- :variable:`CPACK_IFW_ARCHIVE_FORMAT` and
- :variable:`CPACK_IFW_ARCHIVE_COMPRESSION` variables for setting the format
- used when packaging new component data archives, and choosing the compression
- level used. These features are available for QtIFW 4.2 and newer.
diff --git a/Help/release/dev/cpackifw-package-disable-command-line-interface.rst b/Help/release/dev/cpackifw-package-disable-command-line-interface.rst
deleted file mode 100644
index 2de222e..0000000
--- a/Help/release/dev/cpackifw-package-disable-command-line-interface.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-cpackifw-package-disable-command-line-interface
------------------------------------------------
-
-* The :cpack_gen:`CPack IFW Generator` gained new
- :variable:`CPACK_IFW_PACKAGE_DISABLE_COMMAND_LINE_INTERFACE` variable to
- prevents the user from passing any consumer command to installer, like
- ``install``, ``update``, and ``remove``.
- This feature is available for QtIFW 4.0 and newer.
diff --git a/Help/release/dev/cpackifw-package-product-images.rst b/Help/release/dev/cpackifw-package-product-images.rst
deleted file mode 100644
index 3a02534..0000000
--- a/Help/release/dev/cpackifw-package-product-images.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-
-cpackifw-package-product-images
--------------------------------
-
-* The :cpack_gen:`CPack IFW Generator` gained the new
- :variable:`CPACK_IFW_PACKAGE_PRODUCT_IMAGES` variable for adding a list of
- images to be shown on the ``PerformInstallationPage``.
- This feature is available for QtIFW 4.0 and newer.
diff --git a/Help/release/dev/cpackifw-package-run-program.rst b/Help/release/dev/cpackifw-package-run-program.rst
deleted file mode 100644
index 5d6f1b2..0000000
--- a/Help/release/dev/cpackifw-package-run-program.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-
-cpackifw-package-run-program
-----------------------------
-
-* The :cpack_gen:`CPack IFW Generator` gained the new
- :variable:`CPACK_IFW_PACKAGE_RUN_PROGRAM`,
- :variable:`CPACK_IFW_PACKAGE_RUN_PROGRAM_ARGUMENTS`, and
- :variable:`CPACK_IFW_PACKAGE_RUN_PROGRAM_DESCRIPTION` variables for executing
- a command after the installer is done if the user accepts the action.
- This feature is available for QtIFW 4.0 and newer.
diff --git a/Help/release/dev/cpackifw-signing-identity.rst b/Help/release/dev/cpackifw-signing-identity.rst
deleted file mode 100644
index 58f5030..0000000
--- a/Help/release/dev/cpackifw-signing-identity.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-cpackifw-signing-identity
--------------------------
-
-* The :cpack_gen:`CPack IFW Generator` gained the new
- :variable:`CPACK_IFW_PACKAGE_SIGNING_IDENTITY` variable for specifying a code
- signing identity to be used for signing the generated app bundle.
- This feature is available on macOS only, and for QtIFW 3.0 and newer.
diff --git a/Help/release/dev/ctest_submit-inactivity-timeout.rst b/Help/release/dev/ctest_submit-inactivity-timeout.rst
deleted file mode 100644
index 3d4c408..0000000
--- a/Help/release/dev/ctest_submit-inactivity-timeout.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-ctest_submit-inactivity-timeout
--------------------------------
-
-* :manual:`ctest(1)` gained a new :variable:`CTEST_SUBMIT_INACTIVITY_TIMEOUT`
- variable, which can be used to specify a timeout for submission inactivity.
diff --git a/Help/release/dev/cuda-clang-device-link-flags.rst b/Help/release/dev/cuda-clang-device-link-flags.rst
deleted file mode 100644
index 2f4f16e..0000000
--- a/Help/release/dev/cuda-clang-device-link-flags.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-cuda-clang-device-link-flags
-----------------------------
-
-* Policy :policy:`CMP0105` and the ``$<DEVICE_LINK:...>`` and
- ``$<HOST_LINK:...>``
- :manual:`generator expressions <cmake-generator-expressions(7)>`
- are now supported for Clang.
diff --git a/Help/release/dev/cuda-compiler-detection-robustness.rst b/Help/release/dev/cuda-compiler-detection-robustness.rst
deleted file mode 100644
index cc49a8d..0000000
--- a/Help/release/dev/cuda-compiler-detection-robustness.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-cuda-compiler-detection-robustness
-----------------------------------
-
-* CUDA compiler detection now issues an error in all cases when it's unable to
- compute the default architecture(s) if required (see :policy:`CMP0104`).
-
-* CUDA compiler detection now correctly handles ``OFF`` for
- :variable:`CMAKE_CUDA_ARCHITECTURES` on Clang.
-
-* CUDA compiler detection now supports the theoretical case of multiple default
- architectures.
diff --git a/Help/release/dev/cuda-invalid-architectures.rst b/Help/release/dev/cuda-invalid-architectures.rst
deleted file mode 100644
index 3313dbb..0000000
--- a/Help/release/dev/cuda-invalid-architectures.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-cuda-invalid-architectures
---------------------------
-
-* CUDA compiler detection now tries to detect invalid architectures and issue
- an error.
diff --git a/Help/release/dev/cuda-new-arch-modes.rst b/Help/release/dev/cuda-new-arch-modes.rst
deleted file mode 100644
index fcfd8f1..0000000
--- a/Help/release/dev/cuda-new-arch-modes.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-cuda-new-arch-modes
--------------------
-
-* The :prop_tgt:`CUDA_ARCHITECTURES` target property now supports the
- `all`, and `all-major` values for CUDA toolkit 7.0+.
-
-* The :variable:`CMAKE_CUDA_ARCHITECTURES` variable now supports the
- `all`, and `all-major` values for CUDA toolkit 7.0+.
diff --git a/Help/release/dev/cuda-ptx-separable-compilation.rst b/Help/release/dev/cuda-ptx-separable-compilation.rst
deleted file mode 100644
index 49c66c0..0000000
--- a/Help/release/dev/cuda-ptx-separable-compilation.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-cuda-ptx-separable-compilation
-------------------------------
-
-* ``CUDA`` targets can now enable both :prop_tgt:`CUDA_SEPARABLE_COMPILATION` and
- :prop_tgt:`CUDA_PTX_COMPILATION`.
diff --git a/Help/release/dev/define-property-optional-args.rst b/Help/release/dev/define-property-optional-args.rst
deleted file mode 100644
index b1cbf5e..0000000
--- a/Help/release/dev/define-property-optional-args.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-define-property-optional-args
------------------------------
-
-* The :command:`define_property` ``BRIEF_DOCS`` and ``FULL_DOCS`` arguments are
- now optional.
diff --git a/Help/release/dev/filter-debug-find.rst b/Help/release/dev/filter-debug-find.rst
deleted file mode 100644
index 8bdb61e..0000000
--- a/Help/release/dev/filter-debug-find.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-filter-debug-find
------------------
-
-* The :manual:`cmake(1)` command line tool's gained a
- ``--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=``
- option to enable debug messages for ``find_*`` calls that use specific
- result variables.
diff --git a/Help/release/dev/ibmclang-compiler.rst b/Help/release/dev/ibmclang-compiler.rst
deleted file mode 100644
index 2a9b5ad..0000000
--- a/Help/release/dev/ibmclang-compiler.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-ibmclang-compiler
------------------
-
-* The IBM Open XL C/C++ compiler, based on LLVM, is now supported with
- compiler id ``IBMClang``.
diff --git a/Help/release/dev/imported-no-system.rst b/Help/release/dev/imported-no-system.rst
deleted file mode 100644
index a35e8bb..0000000
--- a/Help/release/dev/imported-no-system.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-imported-no-system
-------------------
-
-* The :prop_tgt:`IMPORTED_NO_SYSTEM` target property was added to
- specify that an :ref:`Imported Target <Imported Targets>` should
- not be treated as a system library (i.e. its include directories
- are not automatically ``SYSTEM``).
diff --git a/Help/release/dev/lcc-compiler.rst b/Help/release/dev/lcc-compiler.rst
deleted file mode 100644
index 719611d..0000000
--- a/Help/release/dev/lcc-compiler.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-lcc-compiler
-------------
-
-* The MCST LCC compiler is now supported with compiler id ``LCC``.
- See policy :policy:`CMP0129`.
diff --git a/Help/release/dev/link-interface-direct.rst b/Help/release/dev/link-interface-direct.rst
deleted file mode 100644
index 2e9a59e..0000000
--- a/Help/release/dev/link-interface-direct.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-link-interface-direct
----------------------
-
-* The :prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT` and
- :prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE` target properties
- were added to express usage requirements affecting a consumer's
- direct link dependencies.
diff --git a/Help/release/dev/link-only-targets.rst b/Help/release/dev/link-only-targets.rst
deleted file mode 100644
index 7901a25..0000000
--- a/Help/release/dev/link-only-targets.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-link-only-targets
------------------
-
-* The :variable:`CMAKE_LINK_LIBRARIES_ONLY_TARGETS` variable and
- corresponding :prop_tgt:`LINK_LIBRARIES_ONLY_TARGETS` target
- property were added to optionally require that all link items
- that can be target names are actually names of existing targets.
diff --git a/Help/release/dev/target-properties-from-variables.rst b/Help/release/dev/target-properties-from-variables.rst
deleted file mode 100644
index 99857c4..0000000
--- a/Help/release/dev/target-properties-from-variables.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-target-properties-from-variables
---------------------------------
-
-* The :command:`define_property` command gained a new
- ``INITIALIZE_FROM_VARIABLE`` argument.
diff --git a/Help/release/dev/target-sources-file-set.rst b/Help/release/dev/target-sources-file-set.rst
deleted file mode 100644
index bd28efa..0000000
--- a/Help/release/dev/target-sources-file-set.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-target-headers
---------------
-
-* The :command:`target_sources` command gained a new ``FILE_SET`` mode, which
- can be used to add headers as header-only source files of a target.
-* New :prop_tgt:`HEADER_SETS` and :prop_tgt:`INTERFACE_HEADER_SETS` properties
- were added, which list the header file sets associated with a target.
-* New :prop_tgt:`HEADER_SET` and :prop_tgt:`HEADER_SET_<NAME>` properties were
- added, which list the files in the associated header file set.
-* New :prop_tgt:`HEADER_DIRS` and :prop_tgt:`HEADER_DIRS_<NAME>` properties
- were added, which specify the base directories of the associated header file
- set.
-* The :command:`install(TARGETS)` command gained a new ``FILE_SET`` argument,
- which can be used to install header file sets associated with a target.
-* The :manual:`File API <cmake-file-api(7)>` ``codemodel-v2`` minor version has
- been bumped to ``4``.
-* The :manual:`File API <cmake-file-api(7)>` ``codemodel-v2`` ``directory``
- object gained a new installer type of ``fileSet``.
diff --git a/Help/release/dev/timestamp-microseconds.rst b/Help/release/dev/timestamp-microseconds.rst
deleted file mode 100644
index 0c95eb4..0000000
--- a/Help/release/dev/timestamp-microseconds.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-timestamp-microseconds
-----------------------
-
-* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands now
- support the ``%f`` specifier for microseconds.
diff --git a/Help/release/dev/vs-csharp-dotnet-sdk.rst b/Help/release/dev/vs-csharp-dotnet-sdk.rst
deleted file mode 100644
index cc0ebe4..0000000
--- a/Help/release/dev/vs-csharp-dotnet-sdk.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-vs-csharp-dotnet-sdk
---------------------
-
-* The :ref:`Visual Studio Generators` for VS 2019 and above learned to
- support .NET SDK-style project files (``.csproj``) for C# projects.
- See the :prop_tgt:`DOTNET_SDK` target property and corresponding
- :variable:`CMAKE_DOTNET_SDK` variable.
- However, this version of CMake does not yet support using
- :command:`add_custom_command` in .NET SDK-style projects.
diff --git a/Help/release/dev/vs-instance.rst b/Help/release/dev/vs-instance.rst
deleted file mode 100644
index 0b9ff4b..0000000
--- a/Help/release/dev/vs-instance.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-vs-instance
------------
-
-* The :ref:`Visual Studio Generators` for VS 2017 and above learned to
- use portable instances of Visual Studio not known to the VS installer.
- See the :variable:`CMAKE_GENERATOR_INSTANCE` variable.
diff --git a/Help/release/dev/vs-package-restore.rst b/Help/release/dev/vs-package-restore.rst
deleted file mode 100644
index e8b5f0c..0000000
--- a/Help/release/dev/vs-package-restore.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-vs-package-restore
-------------------
-
-* Targets with :prop_tgt:`VS_PACKAGE_REFERENCES` will now automatically attempt
- to restore the package references from NuGet. The cache variable
- :variable:`CMAKE_VS_NUGET_PACKAGE_RESTORE` was added to toggle automatic
- package restore off.
-
-* :manual:`cmake(1)` gained the ``--resolve-package-references=<on|off|only>``
- command-line option to control automatic package restoration.
-
-* :manual:`cmake-presets(7)` gained support for specifying the
- ``resolvePackageReferences`` command line option in a build preset.
diff --git a/Help/release/dev/xcode-embed-plugins.rst b/Help/release/dev/xcode-embed-plugins.rst
deleted file mode 100644
index 10f91f6..0000000
--- a/Help/release/dev/xcode-embed-plugins.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-xcode-embed-plugins
--------------------
-
-* The :prop_tgt:`XCODE_EMBED_PLUGINS <XCODE_EMBED_<type>>` target property
- was added to tell the :generator:`Xcode` generator what targets to put in
- the ``Embed PlugIns`` build phase.
diff --git a/Help/release/dev/xcode-scheme-enable-gpu-frame-capture-mode.rst b/Help/release/dev/xcode-scheme-enable-gpu-frame-capture-mode.rst
deleted file mode 100644
index a93e4e9..0000000
--- a/Help/release/dev/xcode-scheme-enable-gpu-frame-capture-mode.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-xcode-scheme-enable-gpu-frame-capture-mode
-------------------------------------------
-
-* The Xcode project generation learned the variable `XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE` to enable specifying the Xcode scheme option property `GPU Frame Capture`.
diff --git a/Help/release/index.rst b/Help/release/index.rst
index 131595a..ad33705 100644
--- a/Help/release/index.rst
+++ b/Help/release/index.rst
@@ -15,6 +15,7 @@ Releases
.. toctree::
:maxdepth: 1
+ 3.23 <3.23>
3.22 <3.22>
3.21 <3.21>
3.20 <3.20>
diff --git a/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst b/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst
index 45e51dd..317c771 100644
--- a/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst
+++ b/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst
@@ -1,17 +1,19 @@
CMAKE_IGNORE_PREFIX_PATH
------------------------
-:ref:`Semicolon-separated list <CMake Language Lists>` of prefix to be *ignored* by
-the :command:`find_program`, :command:`find_library`, :command:`find_file`,
-:command:`find_path`, and :command:`find_package` commands. This is useful in cross-compiling
-environments where some system directories contain incompatible but
-possibly linkable libraries. For example, on cross-compiled cluster
-environments, this allows a user to ignore directories containing
-libraries meant for the front-end machine.
+.. versionadded:: 3.23
-By default this is empty; it is intended to be set by the project.
-Note that ``CMAKE_IGNORE_PREFIX_PATH`` takes a list of prefixes, *not*
-a list of directory names.
+:ref:`Semicolon-separated list <CMake Language Lists>` of prefixes to be
+*ignored* by the :command:`find_program`, :command:`find_library`,
+:command:`find_file`, :command:`find_path`, and :command:`find_package`
+commands. This is useful in cross-compiling environments where some
+system directories contain incompatible but possibly linkable libraries.
+For example, on cross-compiled cluster environments, this allows a user
+to ignore directories containing libraries meant for the front-end machine.
+
+By default this is empty; it is intended to be set by the project and/or
+the end user. Note that ``CMAKE_IGNORE_PREFIX_PATH`` takes a list of
+prefixes, *not* a list of directory names.
See also the :variable:`CMAKE_PREFIX_PATH`, :variable:`CMAKE_LIBRARY_PATH`,
:variable:`CMAKE_INCLUDE_PATH`, and :variable:`CMAKE_PROGRAM_PATH` variables.
diff --git a/Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst b/Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst
index b177834..ce52f5a 100644
--- a/Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst
+++ b/Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst
@@ -1,17 +1,19 @@
CMAKE_SYSTEM_IGNORE_PREFIX_PATH
-------------------------------
-:ref:`Semicolon-separated list <CMake Language Lists>` of prefixes to be *ignored* by
-the :command:`find_program`, :command:`find_library`, :command:`find_file`,
-:command:`find_path`, and :command:`find_package` commands. This is useful in cross-compiling
-environments where some system directories contain incompatible but
-possibly linkable libraries. For example, on cross-compiled cluster
-environments, this allows a user to ignore directories containing
-libraries meant for the front-end machine.
+.. versionadded:: 3.23
+
+:ref:`Semicolon-separated list <CMake Language Lists>` of prefixes to be
+*ignored* by the :command:`find_program`, :command:`find_library`,
+:command:`find_file`, :command:`find_path`, and :command:`find_package`
+commands. This is useful in cross-compiling environments where some
+system directories contain incompatible but possibly linkable libraries.
+For example, on cross-compiled cluster environments, this allows a user
+to ignore directories containing libraries meant for the front-end machine.
By default this contains a list of directories containing incompatible
-binaries for the host system. See the :variable:`CMAKE_IGNORE_PREFIX_PATH` variable
-that is intended to be set by the project.
+binaries for the host system. See the :variable:`CMAKE_IGNORE_PREFIX_PATH`
+variable that is intended to be set by the project and/or the end user.
See also the :variable:`CMAKE_SYSTEM_PREFIX_PATH`,
:variable:`CMAKE_SYSTEM_LIBRARY_PATH`, :variable:`CMAKE_SYSTEM_INCLUDE_PATH`,
diff --git a/Help/variable/CTEST_SUBMIT_INACTIVITY_TIMEOUT.rst b/Help/variable/CTEST_SUBMIT_INACTIVITY_TIMEOUT.rst
index 65976fa..175885a 100644
--- a/Help/variable/CTEST_SUBMIT_INACTIVITY_TIMEOUT.rst
+++ b/Help/variable/CTEST_SUBMIT_INACTIVITY_TIMEOUT.rst
@@ -1,5 +1,7 @@
CTEST_SUBMIT_INACTIVITY_TIMEOUT
-------------------------------
+.. versionadded:: 3.23
+
Specify the CTest ``SubmitInactivityTimeout`` setting
in a :manual:`ctest(1)` dashboard client script.
diff --git a/Modules/CheckPIESupported.cmake b/Modules/CheckPIESupported.cmake
index 5919d4b..6424472 100644
--- a/Modules/CheckPIESupported.cmake
+++ b/Modules/CheckPIESupported.cmake
@@ -23,10 +23,15 @@ property for executables will be honored at link time.
``OUTPUT_VARIABLE <output>``
Set ``<output>`` variable with details about any error.
+
``LANGUAGES <lang>...``
Check the linkers used for each of the specified languages.
- Supported languages are ``C``, ``CXX``, ``OBJC``, ``OBJCXX``, ``Fortran``,
- ``CUDA``, and ``HIP``.
+
+ ``C``, ``CXX``, ``Fortran`` are supported.
+
+ .. versionadded:: 3.23
+
+ ``OBJC``, ``OBJCXX``, ``CUDA``, and ``HIP`` are supported.
It makes no sense to use this module when :policy:`CMP0083` is set to ``OLD``,
so the command will return an error in this case. See policy :policy:`CMP0083`