Browse Source

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 <[email protected]>
Merge-request: !6936
Brad King 3 years ago
parent
commit
3d85c0072d
48 changed files with 292 additions and 295 deletions
  1. 2 0
      Help/prop_tgt/IMPORTED_NO_SYSTEM.rst
  2. 2 0
      Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.rst
  3. 2 0
      Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE.rst
  4. 253 0
      Help/release/3.23.rst
  5. 0 6
      Help/release/dev/CheckPIESupported-supports-SYSROOT.rst
  6. 0 5
      Help/release/dev/FindCUDAToolkit-target-for-cufft_static_nocallback.rst
  7. 0 7
      Help/release/dev/FindGLUT-include-dirs.rst
  8. 0 4
      Help/release/dev/FindGTest-target-for-gmock.rst
  9. 0 5
      Help/release/dev/FindVulkan-version.rst
  10. 0 6
      Help/release/dev/ccmake-windows.rst
  11. 0 7
      Help/release/dev/cmake-ignore-prefix-path.rst
  12. 0 6
      Help/release/dev/cmake-presets-include.rst
  13. 0 9
      Help/release/dev/cpack-dmg-sla.rst
  14. 0 4
      Help/release/dev/cpack-drop-osxx11.rst
  15. 0 9
      Help/release/dev/cpack-productbuild-domains.rst
  16. 0 6
      Help/release/dev/cpack-productbuild-identifier.rst
  17. 0 5
      Help/release/dev/cpack-wix-skip-ui-ext.rst
  18. 0 9
      Help/release/dev/cpackifw-archive-format.rst
  19. 0 8
      Help/release/dev/cpackifw-package-disable-command-line-interface.rst
  20. 0 8
      Help/release/dev/cpackifw-package-product-images.rst
  21. 0 10
      Help/release/dev/cpackifw-package-run-program.rst
  22. 0 7
      Help/release/dev/cpackifw-signing-identity.rst
  23. 0 5
      Help/release/dev/ctest_submit-inactivity-timeout.rst
  24. 0 7
      Help/release/dev/cuda-clang-device-link-flags.rst
  25. 0 11
      Help/release/dev/cuda-compiler-detection-robustness.rst
  26. 0 5
      Help/release/dev/cuda-invalid-architectures.rst
  27. 0 8
      Help/release/dev/cuda-new-arch-modes.rst
  28. 0 5
      Help/release/dev/cuda-ptx-separable-compilation.rst
  29. 0 5
      Help/release/dev/define-property-optional-args.rst
  30. 0 10
      Help/release/dev/filter-debug-find.rst
  31. 0 5
      Help/release/dev/ibmclang-compiler.rst
  32. 0 7
      Help/release/dev/imported-no-system.rst
  33. 0 5
      Help/release/dev/lcc-compiler.rst
  34. 0 7
      Help/release/dev/link-interface-direct.rst
  35. 0 7
      Help/release/dev/link-only-targets.rst
  36. 0 5
      Help/release/dev/target-properties-from-variables.rst
  37. 0 18
      Help/release/dev/target-sources-file-set.rst
  38. 0 5
      Help/release/dev/timestamp-microseconds.rst
  39. 0 9
      Help/release/dev/vs-csharp-dotnet-sdk.rst
  40. 0 6
      Help/release/dev/vs-instance.rst
  41. 0 13
      Help/release/dev/vs-package-restore.rst
  42. 0 6
      Help/release/dev/xcode-embed-plugins.rst
  43. 0 4
      Help/release/dev/xcode-scheme-enable-gpu-frame-capture-mode.rst
  44. 1 0
      Help/release/index.rst
  45. 12 10
      Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst
  46. 11 9
      Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst
  47. 2 0
      Help/variable/CTEST_SUBMIT_INACTIVITY_TIMEOUT.rst
  48. 7 2
      Modules/CheckPIESupported.cmake

+ 2 - 0
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:
 

+ 2 - 0
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.
 

+ 2 - 0
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.
 

+ 253 - 0
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.

+ 0 - 6
Help/release/dev/CheckPIESupported-supports-SYSROOT.rst

@@ -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.

+ 0 - 5
Help/release/dev/FindCUDAToolkit-target-for-cufft_static_nocallback.rst

@@ -1,5 +0,0 @@
-FindCUDAToolkit-target-for-cufft_static_nocallback
---------------------------------------------------
-
-* The :module:`FindCUDAToolkit` module now provides a target for
-  ``libcufft_static_nocallback``, if found.

+ 0 - 7
Help/release/dev/FindGLUT-include-dirs.rst

@@ -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.

+ 0 - 4
Help/release/dev/FindGTest-target-for-gmock.rst

@@ -1,4 +0,0 @@
-FindGTest-target-for-gmock
---------------------------
-
-* The :module:`FindGTest` module now provides a target for GMock, if found.

+ 0 - 5
Help/release/dev/FindVulkan-version.rst

@@ -1,5 +0,0 @@
-FindVulkan-version
-------------------
-
-* The :module:`FindVulkan` module gained a ``Vulkan_VERSION`` result
-  variable reporting the version number.

+ 0 - 6
Help/release/dev/ccmake-windows.rst

@@ -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.

+ 0 - 7
Help/release/dev/cmake-ignore-prefix-path.rst

@@ -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.

+ 0 - 6
Help/release/dev/cmake-presets-include.rst

@@ -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.

+ 0 - 9
Help/release/dev/cpack-dmg-sla.rst

@@ -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.

+ 0 - 4
Help/release/dev/cpack-drop-osxx11.rst

@@ -1,4 +0,0 @@
-cpack-drop-osxx11
------------------
-
-* The :manual:`cpack(1)` undocumented ``OSXX11`` generator has been removed.

+ 0 - 9
Help/release/dev/cpack-productbuild-domains.rst

@@ -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.

+ 0 - 6
Help/release/dev/cpack-productbuild-identifier.rst

@@ -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.

+ 0 - 5
Help/release/dev/cpack-wix-skip-ui-ext.rst

@@ -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

+ 0 - 9
Help/release/dev/cpackifw-archive-format.rst

@@ -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.

+ 0 - 8
Help/release/dev/cpackifw-package-disable-command-line-interface.rst

@@ -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.

+ 0 - 8
Help/release/dev/cpackifw-package-product-images.rst

@@ -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.

+ 0 - 10
Help/release/dev/cpackifw-package-run-program.rst

@@ -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.

+ 0 - 7
Help/release/dev/cpackifw-signing-identity.rst

@@ -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.

+ 0 - 5
Help/release/dev/ctest_submit-inactivity-timeout.rst

@@ -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.

+ 0 - 7
Help/release/dev/cuda-clang-device-link-flags.rst

@@ -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.

+ 0 - 11
Help/release/dev/cuda-compiler-detection-robustness.rst

@@ -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.

+ 0 - 5
Help/release/dev/cuda-invalid-architectures.rst

@@ -1,5 +0,0 @@
-cuda-invalid-architectures
---------------------------
-
-* CUDA compiler detection now tries to detect invalid architectures and issue
-  an error.

+ 0 - 8
Help/release/dev/cuda-new-arch-modes.rst

@@ -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+.

+ 0 - 5
Help/release/dev/cuda-ptx-separable-compilation.rst

@@ -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`.

+ 0 - 5
Help/release/dev/define-property-optional-args.rst

@@ -1,5 +0,0 @@
-define-property-optional-args
------------------------------
-
-* The :command:`define_property` ``BRIEF_DOCS`` and ``FULL_DOCS`` arguments are
-  now optional.

+ 0 - 10
Help/release/dev/filter-debug-find.rst

@@ -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.

+ 0 - 5
Help/release/dev/ibmclang-compiler.rst

@@ -1,5 +0,0 @@
-ibmclang-compiler
------------------
-
-* The IBM Open XL C/C++ compiler, based on LLVM, is now supported with
-  compiler id ``IBMClang``.

+ 0 - 7
Help/release/dev/imported-no-system.rst

@@ -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``).

+ 0 - 5
Help/release/dev/lcc-compiler.rst

@@ -1,5 +0,0 @@
-lcc-compiler
-------------
-
-* The MCST LCC compiler is now supported with compiler id ``LCC``.
-  See policy :policy:`CMP0129`.

+ 0 - 7
Help/release/dev/link-interface-direct.rst

@@ -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.

+ 0 - 7
Help/release/dev/link-only-targets.rst

@@ -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.

+ 0 - 5
Help/release/dev/target-properties-from-variables.rst

@@ -1,5 +0,0 @@
-target-properties-from-variables
---------------------------------
-
-* The :command:`define_property` command gained a new
-  ``INITIALIZE_FROM_VARIABLE`` argument.

+ 0 - 18
Help/release/dev/target-sources-file-set.rst

@@ -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``.

+ 0 - 5
Help/release/dev/timestamp-microseconds.rst

@@ -1,5 +0,0 @@
-timestamp-microseconds
-----------------------
-
-* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands now
-  support the ``%f`` specifier for microseconds.

+ 0 - 9
Help/release/dev/vs-csharp-dotnet-sdk.rst

@@ -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.

+ 0 - 6
Help/release/dev/vs-instance.rst

@@ -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.

+ 0 - 13
Help/release/dev/vs-package-restore.rst

@@ -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.

+ 0 - 6
Help/release/dev/xcode-embed-plugins.rst

@@ -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.

+ 0 - 4
Help/release/dev/xcode-scheme-enable-gpu-frame-capture-mode.rst

@@ -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`.

+ 1 - 0
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>

+ 12 - 10
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.

+ 11 - 9
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`,

+ 2 - 0
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.

+ 7 - 2
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`