diff options
Diffstat (limited to 'Help/release')
22 files changed, 188 insertions, 13 deletions
diff --git a/Help/release/3.17.rst b/Help/release/3.17.rst index abd7463..1aa475f 100644 --- a/Help/release/3.17.rst +++ b/Help/release/3.17.rst @@ -272,7 +272,7 @@ Deprecated and Removed Features of all policies are deprecated and that projects should port to the NEW behaviors. -* The :cpack_gen:`CPack PackageMaker Generator` generator has been +* The CPack ``PackageMaker`` generator has been deprecated because Xcode no longer distributes the PackageMaker tools. The undocumented ``OSXX11`` generator has also been deprecated. diff --git a/Help/release/3.22.rst b/Help/release/3.22.rst index 1f773e6..00e93f6 100644 --- a/Help/release/3.22.rst +++ b/Help/release/3.22.rst @@ -143,12 +143,17 @@ Other Changes * The :cpack_gen:`CPack NSIS Generator` now requires NSIS 3.03 or later. +Updates +======= + +Changes made since CMake 3.22.0 include the following. + 3.22.1 ------ -This version made no changes to documented features or interfaces. -Some implementation updates were made to support ecosystem changes -and/or fix regressions. +* This version made no changes to documented features or interfaces. + Some implementation updates were made to support ecosystem changes + and/or fix regressions. 3.22.2 ------ @@ -164,3 +169,10 @@ and/or fix regressions. errors in existing projects. The fix has been reverted to restore compatibility. The fix may be restored in a future version of CMake via a policy. + +3.22.4 +------ + +* This version made no changes to documented features or interfaces. + Some implementation updates were made to support ecosystem changes + and/or fix regressions. diff --git a/Help/release/3.23.rst b/Help/release/3.23.rst index 257c3d5..70a6175 100644 --- a/Help/release/3.23.rst +++ b/Help/release/3.23.rst @@ -114,8 +114,8 @@ Variables 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_SETS` and :prop_tgt:`INTERFACE_HEADER_SETS` read-only + 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 @@ -185,6 +185,13 @@ CPack :variable:`CPACK_PRODUCTBUILD_IDENTIFIER`, used to customize the unique product identifier associated with the product. +* The ``CPack.distribution.dist.in`` template used by the + :cpack_gen:`CPack productbuild Generator` and + CPack ``PackageMaker`` generator was updated to use a new + ``CPACK_APPLE_PKG_INSTALLER_CONTENT`` variable for its main content. + This replaced the previously undocumented and now deprecated + ``CPACK_PACKAGEMAKER_CHOICES`` variable. + * The :cpack_gen:`CPack IFW Generator` gained the new :variable:`CPACK_IFW_ARCHIVE_FORMAT` and :variable:`CPACK_IFW_ARCHIVE_COMPRESSION` variables for setting the @@ -230,6 +237,15 @@ Deprecated and Removed Features * The :manual:`cpack(1)` undocumented ``OSXX11`` generator has been removed. +* The previously undocumented ``CPACK_PACKAGEMAKER_CHOICES`` variable used in + the ``CPack.distribution.dist.in`` template has been replaced by a new + ``CPACK_APPLE_PKG_INSTALLER_CONTENT`` variable. This only affects projects + that were providing their own custom ``CPack.distribution.dist.in`` template + file, but still relied on ``CPACK_PACKAGEMAKER_CHOICES`` being set. Those + custom template files should be updated to use + ``CPACK_APPLE_PKG_INSTALLER_CONTENT`` instead, or to fully define all the + template file's contents without relying on substitution of either variable. + Other Changes ============= @@ -278,3 +294,18 @@ Changes made since CMake 3.23.0 include the following. targets. Pending further work in a future version of CMake, it is now an error to add a ``FILE_SET`` of type ``HEADERS`` to such targets on Apple platforms. + +* The :prop_tgt:`HEADER_SETS` and :prop_tgt:`INTERFACE_HEADER_SETS` target + properties added in CMake 3.23.0 are now read-only records of the header + sets created by the :command:`target_sources` command. + +3.23.2 +------ + +* The ``CPACK_PACKAGEMAKER_CHOICES`` variable used in the + ``CPack.distribution.dist.in`` template file was replaced by a new + ``CPACK_APPLE_PKG_INSTALLER_CONTENT`` variable in CMake 3.23.0. + This broke projects that provided their own template file but still + expected the ``CPACK_PACKAGEMAKER_CHOICES`` variable to be defined. + The old ``CPACK_PACKAGEMAKER_CHOICES`` variable is now also set to the + same content as it was before, but it is formally deprecated. diff --git a/Help/release/dev/CMAKE_PROJECT_TOP_LEVEL_INCLUDES.rst b/Help/release/dev/CMAKE_PROJECT_TOP_LEVEL_INCLUDES.rst new file mode 100644 index 0000000..ca2d223 --- /dev/null +++ b/Help/release/dev/CMAKE_PROJECT_TOP_LEVEL_INCLUDES.rst @@ -0,0 +1,6 @@ +CMAKE_PROJECT_TOP_LEVEL_INCLUDES +-------------------------------- + +* The :variable:`CMAKE_PROJECT_TOP_LEVEL_INCLUDES` variable was added to allow + injecting custom code at the site of the first :command:`project` call, + after the host and target platform details have been determined. diff --git a/Help/release/dev/ExternalProject-no-extract-timestamp.rst b/Help/release/dev/ExternalProject-no-extract-timestamp.rst new file mode 100644 index 0000000..0e8c01e --- /dev/null +++ b/Help/release/dev/ExternalProject-no-extract-timestamp.rst @@ -0,0 +1,8 @@ +ExternalProject-no-extract-timestamp +------------------------------------ + +* The :command:`ExternalProject_Add` command gained a new + ``DOWNLOAD_EXTRACT_TIMESTAMP`` option for controlling whether the timestamps + of extracted contents are set to match those in the archive when the ``URL`` + download method is used. A new policy :policy:`CMP0135` was added to control + the default behavior when the new option is not used. diff --git a/Help/release/dev/FetchContent_find_package_integration.rst b/Help/release/dev/FetchContent_find_package_integration.rst new file mode 100644 index 0000000..4ca7afc --- /dev/null +++ b/Help/release/dev/FetchContent_find_package_integration.rst @@ -0,0 +1,17 @@ +FetchContent_find_package_integration +------------------------------------- + +* Integration has been added between the :module:`FetchContent` module and the + :command:`find_package` command, enabling the following new capabilities: + + * :command:`FetchContent_MakeAvailable` can now try to satisfy a dependency + by calling :command:`find_package` first. A new + :variable:`FETCHCONTENT_TRY_FIND_PACKAGE_MODE` variable controls whether + this is done by default for all dependencies, is opt-in per dependency, + or is disabled entirely. + + * :command:`find_package` can be re-routed to call + :command:`FetchContent_MakeAvailable` instead. A new read-only + :variable:`CMAKE_FIND_PACKAGE_REDIRECTS_DIR` variable points to a + directory where config package files can be located to facilitate these + re-routed calls. diff --git a/Help/release/dev/FindGLUT-remove-undocumented-vars.rst b/Help/release/dev/FindGLUT-remove-undocumented-vars.rst new file mode 100644 index 0000000..6a0c904 --- /dev/null +++ b/Help/release/dev/FindGLUT-remove-undocumented-vars.rst @@ -0,0 +1,5 @@ +FindGLUT-remove-undocumented-vars +--------------------------------- + +* The :module:`FindGLUT` module no longer provides the undocumented + result variables ``GLUT_LIBRARY`` and ``GLUT_INCLUDE_PATH``. diff --git a/Help/release/dev/chsi-query-windows-registry.rst b/Help/release/dev/chsi-query-windows-registry.rst new file mode 100644 index 0000000..e75bbd8 --- /dev/null +++ b/Help/release/dev/chsi-query-windows-registry.rst @@ -0,0 +1,5 @@ +chsi-query-windows-registry +--------------------------- + +* :command:`cmake_host_system_information` command gains the capability, on + ``Windows`` platform, to query the registry. diff --git a/Help/release/dev/cpack-dmg-sla.rst b/Help/release/dev/cpack-dmg-sla.rst new file mode 100644 index 0000000..34c3cff --- /dev/null +++ b/Help/release/dev/cpack-dmg-sla.rst @@ -0,0 +1,6 @@ +cpack-dmg-sla +------------- + +* The :module:`CPack` module no longer enables the SLA by default in the + :cpack_gen:`CPack DragNDrop Generator`. See policy :policy:`CMP0133` + and the :variable:`CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE` variable. diff --git a/Help/release/dev/cpack-wix-arch.rst b/Help/release/dev/cpack-wix-arch.rst new file mode 100644 index 0000000..e7fd1ad --- /dev/null +++ b/Help/release/dev/cpack-wix-arch.rst @@ -0,0 +1,6 @@ +cpack-wix-arch +-------------- + +* The :cpack_gen:`CPack WIX Generator` gained a new variable, + :variable:`CPACK_WIX_ARCHITECTURE`, to specify the installer architecture + in order to support computers running Windows for ARM. diff --git a/Help/release/dev/ctest-output-truncation.rst b/Help/release/dev/ctest-output-truncation.rst new file mode 100644 index 0000000..85fb37c --- /dev/null +++ b/Help/release/dev/ctest-output-truncation.rst @@ -0,0 +1,11 @@ +ctest-output-truncation +----------------------- + +* :manual:`ctest(1)` gained a ``--test-output-truncation`` option (and + corresponding :variable:`CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION` variable) to + specify the truncation mode once the maximum test output size has been + reached. Possible values are ``tail`` (default), ``middle`` or ``head``. +* :manual:`cmake-presets(7)` files now support schema version ``5``. +* :manual:`cmake-presets(7)` files gained support for specifying a + ``testOutputTruncation`` field in test presets, which specifies the truncation + mode once the maximum test output size has been reached. diff --git a/Help/release/dev/find-calls-search-install-prefix.rst b/Help/release/dev/find-calls-search-install-prefix.rst new file mode 100644 index 0000000..a111a91 --- /dev/null +++ b/Help/release/dev/find-calls-search-install-prefix.rst @@ -0,0 +1,12 @@ +find-calls-search-install-prefix +-------------------------------- + +* The :command:`find_file`, :command:`find_library`, :command:`find_path`, + :command:`find_package`, and :command:`find_program` commands have gained + the `NO_CMAKE_INSTALL_PREFIX` option to control searching + `CMAKE_INSTALL_PREFIX`. + +* Adds support for :variable:`CMAKE_FIND_USE_INSTALL_PREFIX` to toggle + behavior of the :command:`find_file`, :command:`find_library`, :command:`find_path`, + :command:`find_package`, and :command:`find_program` commands new + `NO_CMAKE_INSTALL_PREFIX` option. diff --git a/Help/release/dev/find_item-query-windows-registry.rst b/Help/release/dev/find_item-query-windows-registry.rst new file mode 100644 index 0000000..ff0bd40 --- /dev/null +++ b/Help/release/dev/find_item-query-windows-registry.rst @@ -0,0 +1,6 @@ +find_item-query-windows-registry.rst +------------------------------------ + +* :command:`find_file`, :command:`find_path`, :command:`find_library`, + :command:`find_program`, and :command:`find_package` commands gain the + capability to specify which registry views must be queried. diff --git a/Help/release/dev/presets-pathListSep.rst b/Help/release/dev/presets-pathListSep.rst new file mode 100644 index 0000000..84b129f --- /dev/null +++ b/Help/release/dev/presets-pathListSep.rst @@ -0,0 +1,5 @@ +presets-pathListSep +------------------- + +* :manual:`cmake-presets(7)` files now support a ``${pathListSep}`` macro, + which expands to ``:`` or ``;`` based on the platform. diff --git a/Help/release/dev/rel-macos-dmg-no-sla.rst b/Help/release/dev/rel-macos-dmg-no-sla.rst new file mode 100644 index 0000000..2f20aab --- /dev/null +++ b/Help/release/dev/rel-macos-dmg-no-sla.rst @@ -0,0 +1,7 @@ +rel-macos-dmg-no-sla +-------------------- + +* The precompiled macOS binaries provided on + `cmake.org <https://cmake.org/download/>`_ no longer attach a SLA + to the ``.dmg`` packages. This was removed because macOS 12 deprecated + the tools used to attach ``.dmg`` resources. diff --git a/Help/release/dev/remove-PackageMaker-generator.rst b/Help/release/dev/remove-PackageMaker-generator.rst new file mode 100644 index 0000000..f20a08c --- /dev/null +++ b/Help/release/dev/remove-PackageMaker-generator.rst @@ -0,0 +1,5 @@ +remove-PackageMaker-generator +----------------------------- + +* The deprecated ``PackageMaker`` :manual:`cpack(1)` generator has + been removed. diff --git a/Help/release/dev/target-bundle-dir-name-genex.rst b/Help/release/dev/target-bundle-dir-name-genex.rst new file mode 100644 index 0000000..0ae835a --- /dev/null +++ b/Help/release/dev/target-bundle-dir-name-genex.rst @@ -0,0 +1,6 @@ +target-bundle-dir-name-genex +---------------------------- + +* Added the new :genex:`TARGET_BUNDLE_DIR_NAME` generator expression + which evaluates to the name of the bundle directory for a given bundle + target. diff --git a/Help/release/dev/try_compile-project-platform-vars.rst b/Help/release/dev/try_compile-project-platform-vars.rst new file mode 100644 index 0000000..06596d4 --- /dev/null +++ b/Help/release/dev/try_compile-project-platform-vars.rst @@ -0,0 +1,10 @@ +try_compile-project-platform-vars +--------------------------------- + +* The :command:`try_compile` command + :ref:`whole-project <Try Compiling Whole Projects>` signature + now propagates platform variables. See policy :policy:`CMP0137`. + +* The :variable:`CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES` variable + was added to tell the :command:`try_compile` command not to + pass any platform variables to the test project. diff --git a/Help/release/dev/verify-header-sets.rst b/Help/release/dev/verify-header-sets.rst deleted file mode 100644 index 7676382..0000000 --- a/Help/release/dev/verify-header-sets.rst +++ /dev/null @@ -1,7 +0,0 @@ -verify-header-sets ------------------- - -* A new :prop_tgt:`VERIFY_HEADER_SETS` target property was added, which can be - used to verify that all headers in header sets can be used on their own. -* A new :variable:`CMAKE_VERIFY_HEADER_SETS` variable was added, which is used - to initialize the :prop_tgt:`VERIFY_HEADER_SETS` target property. diff --git a/Help/release/dev/verify-interface-header-sets.rst b/Help/release/dev/verify-interface-header-sets.rst new file mode 100644 index 0000000..fcccb62 --- /dev/null +++ b/Help/release/dev/verify-interface-header-sets.rst @@ -0,0 +1,9 @@ +verify-interface-header-sets +---------------------------- + +* A new :prop_tgt:`VERIFY_INTERFACE_HEADER_SETS` target property was added, + which can be used to verify that all headers in header sets can be used on + their own. +* A new :variable:`CMAKE_VERIFY_INTERFACE_HEADER_SETS` variable was added, + which is used to initialize the :prop_tgt:`VERIFY_INTERFACE_HEADER_SETS` + target property. diff --git a/Help/release/dev/vs_dotnet_startup_object_support.rst b/Help/release/dev/vs_dotnet_startup_object_support.rst new file mode 100644 index 0000000..1f0672f --- /dev/null +++ b/Help/release/dev/vs_dotnet_startup_object_support.rst @@ -0,0 +1,8 @@ +vs_dotnet_startup_object_support +-------------------------------- + +* The :prop_tgt:`VS_DOTNET_STARTUP_OBJECT` target property was added to + tell :ref:`Visual Studio Generators` which startup class shall be used + when the program or project is executed. This is necessary when more + than one ``static void Main(string[])`` function signature is available + in a managed .NET project. diff --git a/Help/release/dev/watcom-runtime-library.rst b/Help/release/dev/watcom-runtime-library.rst new file mode 100644 index 0000000..3a07b32 --- /dev/null +++ b/Help/release/dev/watcom-runtime-library.rst @@ -0,0 +1,7 @@ +watcom-runtime-library +---------------------- + +* The :variable:`CMAKE_WATCOM_RUNTIME_LIBRARY` variable and + :prop_tgt:`WATCOM_RUNTIME_LIBRARY` target property were introduced to + select the runtime library used by compilers targeting the Watcom ABI. + See policy :policy:`CMP0136`. |