From 23b1d8f03c589a2389879a3161396b494b442845 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 2 Feb 2022 09:59:41 -0500 Subject: CheckPIESupported: Document version adding support for more languages --- Modules/CheckPIESupported.cmake | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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 `` Set ```` variable with details about any error. + ``LANGUAGES ...`` 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` -- cgit v0.12 From 51aaea34d6da974a9135514ccc20e2fe16716efe Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 3 Feb 2022 07:48:10 -0500 Subject: Help: Polish CMAKE{,_SYSTEM}_IGNORE_PREFIX_PATH documentation --- Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst | 20 ++++++++++---------- Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst | 18 +++++++++--------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst b/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst index 45e51dd..5ebb349 100644 --- a/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst +++ b/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst @@ -1,17 +1,17 @@ CMAKE_IGNORE_PREFIX_PATH ------------------------ -:ref:`Semicolon-separated list ` 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. +:ref:`Semicolon-separated list ` 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. -Note that ``CMAKE_IGNORE_PREFIX_PATH`` takes a list of prefixes, *not* -a list of directory names. +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..a2e42dd 100644 --- a/Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst +++ b/Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst @@ -1,17 +1,17 @@ CMAKE_SYSTEM_IGNORE_PREFIX_PATH ------------------------------- -:ref:`Semicolon-separated list ` 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. +:ref:`Semicolon-separated list ` 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`, -- cgit v0.12 From ef23e81544b6766b51b70df7a471bc664f1a1baf Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 3 Feb 2022 07:39:49 -0500 Subject: Help: Remove stray leading blank lines from release notes --- Help/release/dev/cpackifw-archive-format.rst | 1 - Help/release/dev/cpackifw-package-product-images.rst | 1 - Help/release/dev/cpackifw-package-run-program.rst | 1 - 3 files changed, 3 deletions(-) diff --git a/Help/release/dev/cpackifw-archive-format.rst b/Help/release/dev/cpackifw-archive-format.rst index 8884d74..7791403 100644 --- a/Help/release/dev/cpackifw-archive-format.rst +++ b/Help/release/dev/cpackifw-archive-format.rst @@ -1,4 +1,3 @@ - cpackifw-archive-format ----------------------- diff --git a/Help/release/dev/cpackifw-package-product-images.rst b/Help/release/dev/cpackifw-package-product-images.rst index 3a02534..23749dc 100644 --- a/Help/release/dev/cpackifw-package-product-images.rst +++ b/Help/release/dev/cpackifw-package-product-images.rst @@ -1,4 +1,3 @@ - cpackifw-package-product-images ------------------------------- diff --git a/Help/release/dev/cpackifw-package-run-program.rst b/Help/release/dev/cpackifw-package-run-program.rst index 5d6f1b2..bc208d1 100644 --- a/Help/release/dev/cpackifw-package-run-program.rst +++ b/Help/release/dev/cpackifw-package-run-program.rst @@ -1,4 +1,3 @@ - cpackifw-package-run-program ---------------------------- -- cgit v0.12 From f5bdea75a0e0edfe176397f7b4b821660a94a810 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 2 Feb 2022 08:58:52 -0500 Subject: Help: Consolidate 3.23 release notes Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.23.rst`. --- Help/release/3.23.rst | 201 +++++++++++++++++++++ .../dev/CheckPIESupported-supports-SYSROOT.rst | 6 - ...AToolkit-target-for-cufft_static_nocallback.rst | 5 - Help/release/dev/FindGLUT-include-dirs.rst | 7 - Help/release/dev/FindGTest-target-for-gmock.rst | 4 - Help/release/dev/FindVulkan-version.rst | 5 - Help/release/dev/ccmake-windows.rst | 6 - Help/release/dev/cmake-ignore-prefix-path.rst | 7 - Help/release/dev/cmake-presets-include.rst | 6 - Help/release/dev/cpack-dmg-sla.rst | 9 - Help/release/dev/cpack-drop-osxx11.rst | 4 - Help/release/dev/cpack-productbuild-domains.rst | 9 - Help/release/dev/cpack-productbuild-identifier.rst | 6 - Help/release/dev/cpack-wix-skip-ui-ext.rst | 5 - Help/release/dev/cpackifw-archive-format.rst | 8 - ...kifw-package-disable-command-line-interface.rst | 8 - .../dev/cpackifw-package-product-images.rst | 7 - Help/release/dev/cpackifw-package-run-program.rst | 9 - Help/release/dev/cpackifw-signing-identity.rst | 7 - .../dev/ctest_submit-inactivity-timeout.rst | 5 - Help/release/dev/cuda-clang-device-link-flags.rst | 7 - .../dev/cuda-compiler-detection-robustness.rst | 11 -- Help/release/dev/cuda-invalid-architectures.rst | 5 - Help/release/dev/cuda-new-arch-modes.rst | 8 - .../release/dev/cuda-ptx-separable-compilation.rst | 5 - Help/release/dev/define-property-optional-args.rst | 5 - Help/release/dev/filter-debug-find.rst | 10 - Help/release/dev/ibmclang-compiler.rst | 5 - Help/release/dev/imported-no-system.rst | 7 - Help/release/dev/lcc-compiler.rst | 5 - Help/release/dev/link-interface-direct.rst | 7 - Help/release/dev/link-only-targets.rst | 7 - .../dev/target-properties-from-variables.rst | 5 - Help/release/dev/target-sources-file-set.rst | 18 -- Help/release/dev/timestamp-microseconds.rst | 5 - Help/release/dev/vs-csharp-dotnet-sdk.rst | 9 - Help/release/dev/vs-instance.rst | 6 - Help/release/dev/vs-package-restore.rst | 13 -- Help/release/dev/xcode-embed-plugins.rst | 6 - .../xcode-scheme-enable-gpu-frame-capture-mode.rst | 4 - Help/release/index.rst | 1 + 41 files changed, 202 insertions(+), 271 deletions(-) create mode 100644 Help/release/3.23.rst delete mode 100644 Help/release/dev/CheckPIESupported-supports-SYSROOT.rst delete mode 100644 Help/release/dev/FindCUDAToolkit-target-for-cufft_static_nocallback.rst delete mode 100644 Help/release/dev/FindGLUT-include-dirs.rst delete mode 100644 Help/release/dev/FindGTest-target-for-gmock.rst delete mode 100644 Help/release/dev/FindVulkan-version.rst delete mode 100644 Help/release/dev/ccmake-windows.rst delete mode 100644 Help/release/dev/cmake-ignore-prefix-path.rst delete mode 100644 Help/release/dev/cmake-presets-include.rst delete mode 100644 Help/release/dev/cpack-dmg-sla.rst delete mode 100644 Help/release/dev/cpack-drop-osxx11.rst delete mode 100644 Help/release/dev/cpack-productbuild-domains.rst delete mode 100644 Help/release/dev/cpack-productbuild-identifier.rst delete mode 100644 Help/release/dev/cpack-wix-skip-ui-ext.rst delete mode 100644 Help/release/dev/cpackifw-archive-format.rst delete mode 100644 Help/release/dev/cpackifw-package-disable-command-line-interface.rst delete mode 100644 Help/release/dev/cpackifw-package-product-images.rst delete mode 100644 Help/release/dev/cpackifw-package-run-program.rst delete mode 100644 Help/release/dev/cpackifw-signing-identity.rst delete mode 100644 Help/release/dev/ctest_submit-inactivity-timeout.rst delete mode 100644 Help/release/dev/cuda-clang-device-link-flags.rst delete mode 100644 Help/release/dev/cuda-compiler-detection-robustness.rst delete mode 100644 Help/release/dev/cuda-invalid-architectures.rst delete mode 100644 Help/release/dev/cuda-new-arch-modes.rst delete mode 100644 Help/release/dev/cuda-ptx-separable-compilation.rst delete mode 100644 Help/release/dev/define-property-optional-args.rst delete mode 100644 Help/release/dev/filter-debug-find.rst delete mode 100644 Help/release/dev/ibmclang-compiler.rst delete mode 100644 Help/release/dev/imported-no-system.rst delete mode 100644 Help/release/dev/lcc-compiler.rst delete mode 100644 Help/release/dev/link-interface-direct.rst delete mode 100644 Help/release/dev/link-only-targets.rst delete mode 100644 Help/release/dev/target-properties-from-variables.rst delete mode 100644 Help/release/dev/target-sources-file-set.rst delete mode 100644 Help/release/dev/timestamp-microseconds.rst delete mode 100644 Help/release/dev/vs-csharp-dotnet-sdk.rst delete mode 100644 Help/release/dev/vs-instance.rst delete mode 100644 Help/release/dev/vs-package-restore.rst delete mode 100644 Help/release/dev/xcode-embed-plugins.rst delete mode 100644 Help/release/dev/xcode-scheme-enable-gpu-frame-capture-mode.rst diff --git a/Help/release/3.23.rst b/Help/release/3.23.rst new file mode 100644 index 0000000..a626da3 --- /dev/null +++ b/Help/release/3.23.rst @@ -0,0 +1,201 @@ +CMake 3.23 Release Notes +************************ + +.. only:: html + + .. contents:: + +Changes made since CMake 3.22 include the following. + +* :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. + +* The :module:`CheckPIESupported` module now takes care of any ``SYSROOT`` + settings and gains the support of ``OBJC``, ``OBJCXX``, ``CUDA``, and ``HIP`` + languages. + +* :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. + +* :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. + +* 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. + +* The :manual:`cpack(1)` undocumented ``OSXX11`` generator has been removed. + +* 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 + 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. + +* 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 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. + +* An option to the WiX Generator was added to be able to skip + the inclusion of the WixUIExtensions + +* :manual:`ctest(1)` gained a new :variable:`CTEST_SUBMIT_INACTIVITY_TIMEOUT` + variable, which can be used to specify a timeout for submission inactivity. + +* Policy :policy:`CMP0105` and the ``$`` and + ``$`` + :manual:`generator expressions ` + are now supported for Clang. + +* 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. + +* CUDA compiler detection now tries to detect invalid architectures and issue + an error. + +* 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+. + +* ``CUDA`` targets can now enable both :prop_tgt:`CUDA_SEPARABLE_COMPILATION` and + :prop_tgt:`CUDA_PTX_COMPILATION`. + +* The :command:`define_property` ``BRIEF_DOCS`` and ``FULL_DOCS`` arguments are + now optional. + +* 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. + +* 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 gained a ``Vulkan_VERSION`` result + variable reporting the version number. + +* The IBM Open XL C/C++ compiler, based on LLVM, is now supported with + compiler id ``IBMClang``. + +* The :prop_tgt:`IMPORTED_NO_SYSTEM` target property was added to + specify that an :ref:`Imported Target ` should + not be treated as a system library (i.e. its include directories + are not automatically ``SYSTEM``). + +* The MCST LCC compiler is now supported with compiler id ``LCC``. + See policy :policy:`CMP0129`. + +* 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 :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. + +* The :command:`define_property` command gained a new + ``INITIALIZE_FROM_VARIABLE`` argument. + +* 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_` properties were + added, which list the files in the associated header file set. +* New :prop_tgt:`HEADER_DIRS` and :prop_tgt:`HEADER_DIRS_` 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 ` ``codemodel-v2`` minor version has + been bumped to ``4``. +* The :manual:`File API ` ``codemodel-v2`` ``directory`` + object gained a new installer type of ``fileSet``. + +* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands now + support the ``%f`` specifier for microseconds. + +* 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. + +* 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. + +* 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=`` + 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. + +* The :prop_tgt:`XCODE_EMBED_PLUGINS >` target property + was added to tell the :generator:`Xcode` generator what targets to put in + the ``Embed PlugIns`` build phase. + +* 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/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 7791403..0000000 --- a/Help/release/dev/cpackifw-archive-format.rst +++ /dev/null @@ -1,8 +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 23749dc..0000000 --- a/Help/release/dev/cpackifw-package-product-images.rst +++ /dev/null @@ -1,7 +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 bc208d1..0000000 --- a/Help/release/dev/cpackifw-package-run-program.rst +++ /dev/null @@ -1,9 +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 ``$`` and - ``$`` - :manual:`generator expressions ` - 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 ` 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_` properties were - added, which list the files in the associated header file set. -* New :prop_tgt:`HEADER_DIRS` and :prop_tgt:`HEADER_DIRS_` 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 ` ``codemodel-v2`` minor version has - been bumped to ``4``. -* The :manual:`File API ` ``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=`` - 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 >` 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> -- cgit v0.12 From e61969c59e2d928834f5126857476db6f6829295 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 2 Feb 2022 09:02:54 -0500 Subject: Help: Organize and revise 3.23 release notes Add section headers similar to the 3.22 release notes and move each individual bullet into an appropriate section. Revise a few bullets. --- Help/release/3.23.rst | 328 +++++++++++++++++++++++++++++--------------------- 1 file changed, 190 insertions(+), 138 deletions(-) diff --git a/Help/release/3.23.rst b/Help/release/3.23.rst index a626da3..14fa47c 100644 --- a/Help/release/3.23.rst +++ b/Help/release/3.23.rst @@ -7,114 +7,143 @@ CMake 3.23 Release Notes Changes made since CMake 3.22 include the following. -* :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. +New Features +============ -* The :module:`CheckPIESupported` module now takes care of any ``SYSROOT`` - settings and gains the support of ``OBJC``, ``OBJCXX``, ``CUDA``, and ``HIP`` - languages. - -* :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. +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. -* 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. +* :manual:`cmake-presets(7)` gained support for specifying the + ``resolvePackageReferences`` command line option in a build preset. -* The :manual:`cpack(1)` undocumented ``OSXX11`` generator has been removed. +Generators +---------- -* 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 :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 :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. +* 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. -* 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. +Command-Line +------------ -* 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 :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=`` + command-line option to control the behavior on one invocation. -* 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 :manual:`cmake(1)` command line tool gained a ``--debug-find-pkg=`` + option to enable debug messages under specific :command:`find_package` + calls. -* 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 :manual:`cmake(1)` command line tool gained a ``--debug-find-var=`` + option to enable debug messages for ``find_*`` calls that use specific + result variables. -* 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. +Compilers +--------- -* An option to the WiX Generator was added to be able to skip - the inclusion of the WixUIExtensions +* The IBM Open XL C/C++ compiler, based on LLVM, is now supported with + compiler id ``IBMClang``. -* :manual:`ctest(1)` gained a new :variable:`CTEST_SUBMIT_INACTIVITY_TIMEOUT` - variable, which can be used to specify a timeout for submission inactivity. +* The MCST LCC compiler is now supported with compiler id ``LCC``. + See policy :policy:`CMP0129`. -* Policy :policy:`CMP0105` and the ``$`` and - ``$`` - :manual:`generator expressions ` - are now supported for Clang. +File-Based API +-------------- -* 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`). +* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field + has been updated to ``2.4``. -* CUDA compiler detection now correctly handles ``OFF`` for - :variable:`CMAKE_CUDA_ARCHITECTURES` on Clang. +* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``directory`` + object ``installers`` field gained a new ``fileSet`` installer type. -* CUDA compiler detection now supports the theoretical case of multiple default - architectures. +Commands +-------- -* CUDA compiler detection now tries to detect invalid architectures and issue - an error. +* 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 :prop_tgt:`CUDA_ARCHITECTURES` target property now supports the - `all`, and `all-major` values for CUDA toolkit 7.0+. +* 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 :variable:`CMAKE_CUDA_ARCHITECTURES` variable now supports the - `all`, and `all-major` values for CUDA toolkit 7.0+. +* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands now + support the ``%f`` specifier for microseconds. -* ``CUDA`` targets can now enable both :prop_tgt:`CUDA_SEPARABLE_COMPILATION` and - :prop_tgt:`CUDA_PTX_COMPILATION`. +* 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. -* The :command:`define_property` ``BRIEF_DOCS`` and ``FULL_DOCS`` arguments are - now optional. +Variables +--------- -* 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 :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 :manual:`cmake(1)` command line tool gained a ``--debug-find-var=`` - option to enable debug messages for ``find_*`` calls that use specific - result variables. +* 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_` 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_` 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 ` 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 >` 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. @@ -126,76 +155,99 @@ Changes made since CMake 3.22 include the following. * The :module:`FindGTest` module now provides a target for GMock, if found. -* The :module:`FindVulkan` module gained a ``Vulkan_VERSION`` result +* The :module:`FindVulkan` module now provides a ``Vulkan_VERSION`` result variable reporting the version number. -* The IBM Open XL C/C++ compiler, based on LLVM, is now supported with - compiler id ``IBMClang``. +CTest +----- -* The :prop_tgt:`IMPORTED_NO_SYSTEM` target property was added to - specify that an :ref:`Imported Target ` should - not be treated as a system library (i.e. its include directories - are not automatically ``SYSTEM``). +* :manual:`ctest(1)` gained a new :variable:`CTEST_SUBMIT_INACTIVITY_TIMEOUT` + variable, which can be used to specify a timeout for submission inactivity. -* The MCST LCC compiler is now supported with compiler id ``LCC``. - See policy :policy:`CMP0129`. +CPack +----- -* 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 :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 :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. +* 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 :command:`define_property` command gained a new - ``INITIALIZE_FROM_VARIABLE`` argument. +* 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 :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_` properties were - added, which list the files in the associated header file set. -* New :prop_tgt:`HEADER_DIRS` and :prop_tgt:`HEADER_DIRS_` 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 ` ``codemodel-v2`` minor version has - been bumped to ``4``. -* The :manual:`File API ` ``codemodel-v2`` ``directory`` - object gained a new installer type of ``fileSet``. +* 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 :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands now - support the ``%f`` specifier for microseconds. +* 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 :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. +* 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 :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. +* 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. -* 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. +* The :cpack_gen:`CPack WIX Generator` gained a new variable, + :variable:`CPACK_WIX_SKIP_WIX_UI_EXTENSION`, to skip the inclusion + of WixUIExtensions. -* :manual:`cmake(1)` gained the ``--resolve-package-references=`` - command-line option to control automatic package restoration. +Deprecated and Removed Features +=============================== -* :manual:`cmake-presets(7)` gained support for specifying the - ``resolvePackageReferences`` command line option in a build preset. +* The :manual:`cpack(1)` undocumented ``OSXX11`` generator has been removed. -* The :prop_tgt:`XCODE_EMBED_PLUGINS >` target property - was added to tell the :generator:`Xcode` generator what targets to put in - the ``Embed PlugIns`` build phase. +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`. -* 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`. +* ``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 ``$`` and ``$`` + :manual:`generator expressions `. + +* 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. -- cgit v0.12 From 9334b5bd7bb7eac496a6c1aad2b467638262c047 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 2 Feb 2022 09:43:11 -0500 Subject: Help: Update Sphinx versionadded directives for 3.23 release Run the script: Utilities/Sphinx/update_versions.py --since v3.22.0 --overwrite Manually select updates that really belong to the 3.23 release, as against adding documentation for previously-existing entities. --- Help/prop_tgt/IMPORTED_NO_SYSTEM.rst | 2 ++ Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.rst | 2 ++ Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE.rst | 2 ++ Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst | 2 ++ Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst | 2 ++ Help/variable/CTEST_SUBMIT_INACTIVITY_TIMEOUT.rst | 2 ++ 6 files changed, 12 insertions(+) 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 ` 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/variable/CMAKE_IGNORE_PREFIX_PATH.rst b/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst index 5ebb349..317c771 100644 --- a/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst +++ b/Help/variable/CMAKE_IGNORE_PREFIX_PATH.rst @@ -1,6 +1,8 @@ CMAKE_IGNORE_PREFIX_PATH ------------------------ +.. versionadded:: 3.23 + :ref:`Semicolon-separated list ` of prefixes to be *ignored* by the :command:`find_program`, :command:`find_library`, :command:`find_file`, :command:`find_path`, and :command:`find_package` diff --git a/Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst b/Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst index a2e42dd..ce52f5a 100644 --- a/Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst +++ b/Help/variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.rst @@ -1,6 +1,8 @@ CMAKE_SYSTEM_IGNORE_PREFIX_PATH ------------------------------- +.. versionadded:: 3.23 + :ref:`Semicolon-separated list ` of prefixes to be *ignored* by the :command:`find_program`, :command:`find_library`, :command:`find_file`, :command:`find_path`, and :command:`find_package` 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. -- cgit v0.12