From 48e503ec78ced6da83f78a8d26d5867ee56873a3 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 7 Oct 2021 09:46:29 -0400 Subject: Help: Consolidate 3.22 release notes Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.22.rst`. --- Help/release/3.22.rst | 124 +++++++++++++++++++++ Help/release/dev/FindJasper-imported-target.rst | 4 - Help/release/dev/FindPkgConfig-PKG_CONFIG-args.rst | 5 - Help/release/dev/GoogleTest-gtest-filter.rst | 6 - .../dev/LINK_WHAT_USE_USE-configuration.rst | 5 - Help/release/dev/UseSWIG-dependencies.rst | 6 - Help/release/dev/cmake-install-mode-symlink.rst | 16 --- Help/release/dev/cmake_dependent_option_policy.rst | 6 - .../dev/compile-features-standard-logic-rework.rst | 10 -- .../release/dev/cpack-deb-add-zstd-compression.rst | 6 - .../dev/cpack-rpm-requires-exclude-from.rst | 6 - .../dev/ctest-environment-modifications.rst | 7 -- Help/release/dev/ctest-runtime-labels.rst | 7 -- .../dev/ctest_memcheck-generate-test.xml.rst | 6 - Help/release/dev/env-init-configs.rst | 9 -- .../dev/fetchcontent-CMAKE-vars-passthrough.rst | 8 -- .../dev/find-blas-lapack-sizeof-integer.rst | 6 - Help/release/dev/find-matlab-imported-targets.rst | 4 - Help/release/dev/find_package-required-var.rst | 5 - Help/release/dev/msvc-isystem.rst | 7 -- Help/release/dev/ninja-edit_cache.rst | 5 - Help/release/dev/nsis-minimal-version.rst | 4 - Help/release/dev/nsis_ignore_install_page.rst | 6 - Help/release/dev/os-release.rst | 6 - Help/release/dev/string-TIMESTAMP-specifier-V.rst | 5 - ...rget_compile_features-ignore-disabled-langs.rst | 5 - Help/release/dev/vs10-deprecate.rst | 5 - Help/release/dev/vs_settings.rst | 5 - Help/release/index.rst | 1 + 29 files changed, 125 insertions(+), 170 deletions(-) create mode 100644 Help/release/3.22.rst delete mode 100644 Help/release/dev/FindJasper-imported-target.rst delete mode 100644 Help/release/dev/FindPkgConfig-PKG_CONFIG-args.rst delete mode 100644 Help/release/dev/GoogleTest-gtest-filter.rst delete mode 100644 Help/release/dev/LINK_WHAT_USE_USE-configuration.rst delete mode 100644 Help/release/dev/UseSWIG-dependencies.rst delete mode 100644 Help/release/dev/cmake-install-mode-symlink.rst delete mode 100644 Help/release/dev/cmake_dependent_option_policy.rst delete mode 100644 Help/release/dev/compile-features-standard-logic-rework.rst delete mode 100644 Help/release/dev/cpack-deb-add-zstd-compression.rst delete mode 100644 Help/release/dev/cpack-rpm-requires-exclude-from.rst delete mode 100644 Help/release/dev/ctest-environment-modifications.rst delete mode 100644 Help/release/dev/ctest-runtime-labels.rst delete mode 100644 Help/release/dev/ctest_memcheck-generate-test.xml.rst delete mode 100644 Help/release/dev/env-init-configs.rst delete mode 100644 Help/release/dev/fetchcontent-CMAKE-vars-passthrough.rst delete mode 100644 Help/release/dev/find-blas-lapack-sizeof-integer.rst delete mode 100644 Help/release/dev/find-matlab-imported-targets.rst delete mode 100644 Help/release/dev/find_package-required-var.rst delete mode 100644 Help/release/dev/msvc-isystem.rst delete mode 100644 Help/release/dev/ninja-edit_cache.rst delete mode 100644 Help/release/dev/nsis-minimal-version.rst delete mode 100644 Help/release/dev/nsis_ignore_install_page.rst delete mode 100644 Help/release/dev/os-release.rst delete mode 100644 Help/release/dev/string-TIMESTAMP-specifier-V.rst delete mode 100644 Help/release/dev/target_compile_features-ignore-disabled-langs.rst delete mode 100644 Help/release/dev/vs10-deprecate.rst delete mode 100644 Help/release/dev/vs_settings.rst diff --git a/Help/release/3.22.rst b/Help/release/3.22.rst new file mode 100644 index 0000000..d8427a6 --- /dev/null +++ b/Help/release/3.22.rst @@ -0,0 +1,124 @@ +CMake 3.22 Release Notes +************************ + +.. only:: html + + .. contents:: + +Changes made since CMake 3.21 include the following. + +* The :module:`CMakeDependentOption` module :command:`cmake_dependent_option` + macro now supports full :ref:`Condition Syntax`. + See policy :policy:`CMP0127`. + +* The :envvar:`CMAKE_INSTALL_MODE` environment variable was added to + allow users to override the default file-copying behavior of + :command:`install` and :command:`file(INSTALL)` into creating + symbolic links. This can aid in lowering storage space requirements + and avoiding redundancy. + +* The :command:`file(INSTALL)` can now be affected / modified by the + :envvar:`CMAKE_INSTALL_MODE` environment variable causing installation + of symbolic links instead of copying of files. + +* The :command:`install` can now be affected / modified by the + :envvar:`CMAKE_INSTALL_MODE` environment variable causing installation + of symbolic links instead of copying of files. + +* The :manual:`Compile Features ` functionality now + correctly disables or enables compiler extensions when no standard level is + specified and avoids unnecessarily adding language standard flags if the + requested settings match the compiler's defaults. See :policy:`CMP0128`. + +* :prop_tgt:`_EXTENSIONS` is initialized to + :variable:`CMAKE__EXTENSIONS_DEFAULT`. See :policy:`CMP0128`. + +* The :cpack_gen:`CPack DEB Generator` gained the + option to set :variable:`CPACK_DEBIAN_COMPRESSION_TYPE` to zstd, + which enables Zstandard compression for deb packages. + +* The :cpack_gen:`CPack RPM Generator` gained the + :variable:`CPACK_RPM_REQUIRES_EXCLUDE_FROM` option avoid scanning + specific paths for dependencies. + +* :manual:`ctest(1)` learned to be able to modify the environment for a test + through the :prop_test:`ENVIRONMENT_MODIFICATION` property. This is allows + for updates to environment variables based on the environment present at + test time. + +* The :command:`ctest_memcheck` command now also generates a + `DynamicAnalysis-Test.xml` file which may be used to submit test results to + CDash. + +* :manual:`ctest(1)` learned to recognize labels attached to a test at run time. + Previously it was only possible to attach labels to tests at configure time + by using the :prop_test:`LABELS` test property. + See :ref:`Additional Test Measurements` for more information. + +* The :envvar:`CMAKE_BUILD_TYPE` environment variable was added to + provide a default value for the :variable:`CMAKE_BUILD_TYPE` variable. + +* The :envvar:`CMAKE_CONFIGURATION_TYPES` environment variable was added to + provide a default value for the :variable:`CMAKE_CONFIGURATION_TYPES` + variable. + +* The :module:`FetchContent` module now passes through the + :variable:`CMAKE_TLS_VERIFY`, :variable:`CMAKE_TLS_CAINFO`, + :variable:`CMAKE_NETRC` and :variable:`CMAKE_NETRC_FILE` variables (when + defined) to the underlying :module:`ExternalProject` sub-build. + Previously, those variables were silently ignored by :module:`FetchContent`. + +* The :module:`FindBLAS` and :module:`FindLAPACK` modules gained + a ``BLA_SIZEOF_INTEGER`` option to find a BLAS/LAPACK whose ABI + uses a specific integer size. + +* The :module:`FindJasper` module now provides an imported target. + +* The :module:`FindMatlab` module now provides imported targets. + +* The :variable:`CMAKE_REQUIRE_FIND_PACKAGE_` variable was added + to turn a non-REQUIRED :command:`find_package` call into a REQUIRED one. + +* The :module:`FindPkgConfig` module gained a :variable:`PKG_CONFIG_ARGN` + variable to specify arguments to ``pkg-config`` calls. + +* The :module:`GoogleTest` module :command:`gtest_discover_tests` + function gained a ``TEST_FILTER`` option to filter tests using + ``--gtest_filter`` during test discovery. + +* Configuration for :prop_tgt:`LINK_WHAT_YOU_USE` feature is now controlled by + ``CMake`` variables and only active for ``ELF`` platforms. + +* The MSVC compilers learned to pass the ``-external:I`` flag for system + includes when using the :generator:`Ninja` and :generator:`NMake Makefiles` + generators. This became available as of Visual Studio 16.10 (toolchain + version 14.29.30037). + +* The :ref:`Ninja Generators` now implement the ``edit_cache`` target + using :manual:`ccmake(1)` if available. + +* The :cpack_gen:`CPack NSIS Generator` gained a new variable + :variable:`CPACK_NSIS_IGNORE_LICENSE_PAGE` to ignore the + license page in the installer. + +* The :cpack_gen:`CPack NSIS Generator` now requires NSIS 3.03 or later. + +* The :command:`cmake_host_system_information` command query operating system + identification `variables `_ + from the :file:`/etc/os-release` file. + +* The :command:`string(TIMESTAMP)` command now supports the ``%V`` + specifier for ISO 8601 week numbers. + +* :command:`target_compile_features` learned to ignored features for languages that + aren't enabled. + +* :module:`UseSWIG` module gained the capability, for + :ref:`Visual Studio Generators` to use `swig` tool to generate implicit + dependencies. + +* The :generator:`Visual Studio 10 2010` generator is now deprecated + and will be removed in a future version of CMake. + +* The :prop_sf:`VS_SETTINGS` source file property is now supported for + all source file types. Previously it worked only for non-built sources. diff --git a/Help/release/dev/FindJasper-imported-target.rst b/Help/release/dev/FindJasper-imported-target.rst deleted file mode 100644 index 33ee885..0000000 --- a/Help/release/dev/FindJasper-imported-target.rst +++ /dev/null @@ -1,4 +0,0 @@ -FindJasper-imported-target --------------------------- - -* The :module:`FindJasper` module now provides an imported target. diff --git a/Help/release/dev/FindPkgConfig-PKG_CONFIG-args.rst b/Help/release/dev/FindPkgConfig-PKG_CONFIG-args.rst deleted file mode 100644 index 44c26b5..0000000 --- a/Help/release/dev/FindPkgConfig-PKG_CONFIG-args.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindPkgConfig-PKG_CONFIG-args ------------------------------ - -* The :module:`FindPkgConfig` module gained a :variable:`PKG_CONFIG_ARGN` - variable to specify arguments to ``pkg-config`` calls. diff --git a/Help/release/dev/GoogleTest-gtest-filter.rst b/Help/release/dev/GoogleTest-gtest-filter.rst deleted file mode 100644 index 48b97a7..0000000 --- a/Help/release/dev/GoogleTest-gtest-filter.rst +++ /dev/null @@ -1,6 +0,0 @@ -GoogleTest-gtest-filter ------------------------ - -* The :module:`GoogleTest` module :command:`gtest_discover_tests` - function gained a ``TEST_FILTER`` option to filter tests using - ``--gtest_filter`` during test discovery. diff --git a/Help/release/dev/LINK_WHAT_USE_USE-configuration.rst b/Help/release/dev/LINK_WHAT_USE_USE-configuration.rst deleted file mode 100644 index 990ed36..0000000 --- a/Help/release/dev/LINK_WHAT_USE_USE-configuration.rst +++ /dev/null @@ -1,5 +0,0 @@ -LINK_WHAT_YOU_USE-configuration -------------------------------- - -* Configuration for :prop_tgt:`LINK_WHAT_YOU_USE` feature is now controlled by - ``CMake`` variables and only active for ``ELF`` platforms. diff --git a/Help/release/dev/UseSWIG-dependencies.rst b/Help/release/dev/UseSWIG-dependencies.rst deleted file mode 100644 index a3ec29e..0000000 --- a/Help/release/dev/UseSWIG-dependencies.rst +++ /dev/null @@ -1,6 +0,0 @@ -UseSWIG-dependencies --------------------- - -* :module:`UseSWIG` module gained the capability, for - :ref:`Visual Studio Generators` to use `swig` tool to generate implicit - dependencies. diff --git a/Help/release/dev/cmake-install-mode-symlink.rst b/Help/release/dev/cmake-install-mode-symlink.rst deleted file mode 100644 index a5f75ca..0000000 --- a/Help/release/dev/cmake-install-mode-symlink.rst +++ /dev/null @@ -1,16 +0,0 @@ -cmake-install-mode-symlink --------------------------- - -* The :envvar:`CMAKE_INSTALL_MODE` environment variable was added to - allow users to override the default file-copying behavior of - :command:`install` and :command:`file(INSTALL)` into creating - symbolic links. This can aid in lowering storage space requirements - and avoiding redundancy. - -* The :command:`file(INSTALL)` can now be affected / modified by the - :envvar:`CMAKE_INSTALL_MODE` environment variable causing installation - of symbolic links instead of copying of files. - -* The :command:`install` can now be affected / modified by the - :envvar:`CMAKE_INSTALL_MODE` environment variable causing installation - of symbolic links instead of copying of files. diff --git a/Help/release/dev/cmake_dependent_option_policy.rst b/Help/release/dev/cmake_dependent_option_policy.rst deleted file mode 100644 index c131170..0000000 --- a/Help/release/dev/cmake_dependent_option_policy.rst +++ /dev/null @@ -1,6 +0,0 @@ -cmake_dependent_option_policy ------------------------------ - -* The :module:`CMakeDependentOption` module :command:`cmake_dependent_option` - macro now supports full :ref:`Condition Syntax`. - See policy :policy:`CMP0127`. diff --git a/Help/release/dev/compile-features-standard-logic-rework.rst b/Help/release/dev/compile-features-standard-logic-rework.rst deleted file mode 100644 index 432a756..0000000 --- a/Help/release/dev/compile-features-standard-logic-rework.rst +++ /dev/null @@ -1,10 +0,0 @@ -compile-features-standard-logic-rework --------------------------------------- - -* The :manual:`Compile Features ` functionality now - correctly disables or enables compiler extensions when no standard level is - specified and avoids unnecessarily adding language standard flags if the - requested settings match the compiler's defaults. See :policy:`CMP0128`. - -* :prop_tgt:`_EXTENSIONS` is initialized to - :variable:`CMAKE__EXTENSIONS_DEFAULT`. See :policy:`CMP0128`. diff --git a/Help/release/dev/cpack-deb-add-zstd-compression.rst b/Help/release/dev/cpack-deb-add-zstd-compression.rst deleted file mode 100644 index a138455..0000000 --- a/Help/release/dev/cpack-deb-add-zstd-compression.rst +++ /dev/null @@ -1,6 +0,0 @@ -cpack-deb-add-zstd-compression ------------------------------- - -* The :cpack_gen:`CPack DEB Generator` gained the - option to set :variable:`CPACK_DEBIAN_COMPRESSION_TYPE` to zstd, - which enables Zstandard compression for deb packages. diff --git a/Help/release/dev/cpack-rpm-requires-exclude-from.rst b/Help/release/dev/cpack-rpm-requires-exclude-from.rst deleted file mode 100644 index 7125901..0000000 --- a/Help/release/dev/cpack-rpm-requires-exclude-from.rst +++ /dev/null @@ -1,6 +0,0 @@ -cpack-rpm-requires-exclude-from -------------------------------- - -* The :cpack_gen:`CPack RPM Generator` gained the - :variable:`CPACK_RPM_REQUIRES_EXCLUDE_FROM` option avoid scanning - specific paths for dependencies. diff --git a/Help/release/dev/ctest-environment-modifications.rst b/Help/release/dev/ctest-environment-modifications.rst deleted file mode 100644 index 64265f0..0000000 --- a/Help/release/dev/ctest-environment-modifications.rst +++ /dev/null @@ -1,7 +0,0 @@ -ctest-environment-modifications -------------------------------- - -* :manual:`ctest(1)` learned to be able to modify the environment for a test - through the :prop_test:`ENVIRONMENT_MODIFICATION` property. This is allows - for updates to environment variables based on the environment present at - test time. diff --git a/Help/release/dev/ctest-runtime-labels.rst b/Help/release/dev/ctest-runtime-labels.rst deleted file mode 100644 index 7ce0b64..0000000 --- a/Help/release/dev/ctest-runtime-labels.rst +++ /dev/null @@ -1,7 +0,0 @@ -ctest-runtime-labels --------------------- - -* :manual:`ctest(1)` learned to recognize labels attached to a test at run time. - Previously it was only possible to attach labels to tests at configure time - by using the :prop_test:`LABELS` test property. - See :ref:`Additional Test Measurements` for more information. diff --git a/Help/release/dev/ctest_memcheck-generate-test.xml.rst b/Help/release/dev/ctest_memcheck-generate-test.xml.rst deleted file mode 100644 index fac02d8..0000000 --- a/Help/release/dev/ctest_memcheck-generate-test.xml.rst +++ /dev/null @@ -1,6 +0,0 @@ -ctest_memcheck-generate-test.xml --------------------------------- - -* The :command:`ctest_memcheck` command now also generates a - `DynamicAnalysis-Test.xml` file which may be used to submit test results to - CDash. diff --git a/Help/release/dev/env-init-configs.rst b/Help/release/dev/env-init-configs.rst deleted file mode 100644 index 5c9892d..0000000 --- a/Help/release/dev/env-init-configs.rst +++ /dev/null @@ -1,9 +0,0 @@ -env-init-configs ----------------- - -* The :envvar:`CMAKE_BUILD_TYPE` environment variable was added to - provide a default value for the :variable:`CMAKE_BUILD_TYPE` variable. - -* The :envvar:`CMAKE_CONFIGURATION_TYPES` environment variable was added to - provide a default value for the :variable:`CMAKE_CONFIGURATION_TYPES` - variable. diff --git a/Help/release/dev/fetchcontent-CMAKE-vars-passthrough.rst b/Help/release/dev/fetchcontent-CMAKE-vars-passthrough.rst deleted file mode 100644 index 842c016..0000000 --- a/Help/release/dev/fetchcontent-CMAKE-vars-passthrough.rst +++ /dev/null @@ -1,8 +0,0 @@ -fetchcontent-CMAKE-vars-passthrough.rst ---------------------------------------- - -* The :module:`FetchContent` module now passes through the - :variable:`CMAKE_TLS_VERIFY`, :variable:`CMAKE_TLS_CAINFO`, - :variable:`CMAKE_NETRC` and :variable:`CMAKE_NETRC_FILE` variables (when - defined) to the underlying :module:`ExternalProject` sub-build. - Previously, those variables were silently ignored by :module:`FetchContent`. diff --git a/Help/release/dev/find-blas-lapack-sizeof-integer.rst b/Help/release/dev/find-blas-lapack-sizeof-integer.rst deleted file mode 100644 index bb20654..0000000 --- a/Help/release/dev/find-blas-lapack-sizeof-integer.rst +++ /dev/null @@ -1,6 +0,0 @@ -find-blas-lapack-sizeof-integer -------------------------------- - -* The :module:`FindBLAS` and :module:`FindLAPACK` modules gained - a ``BLA_SIZEOF_INTEGER`` option to find a BLAS/LAPACK whose ABI - uses a specific integer size. diff --git a/Help/release/dev/find-matlab-imported-targets.rst b/Help/release/dev/find-matlab-imported-targets.rst deleted file mode 100644 index 33a93ff..0000000 --- a/Help/release/dev/find-matlab-imported-targets.rst +++ /dev/null @@ -1,4 +0,0 @@ -find-matlab-imported-targets ----------------------------- - -* The :module:`FindMatlab` module now provides imported targets. diff --git a/Help/release/dev/find_package-required-var.rst b/Help/release/dev/find_package-required-var.rst deleted file mode 100644 index 36935ef..0000000 --- a/Help/release/dev/find_package-required-var.rst +++ /dev/null @@ -1,5 +0,0 @@ -find_package-required-var -------------------------- - -* The :variable:`CMAKE_REQUIRE_FIND_PACKAGE_` variable was added - to turn a non-REQUIRED :command:`find_package` call into a REQUIRED one. diff --git a/Help/release/dev/msvc-isystem.rst b/Help/release/dev/msvc-isystem.rst deleted file mode 100644 index 4a5d79f..0000000 --- a/Help/release/dev/msvc-isystem.rst +++ /dev/null @@ -1,7 +0,0 @@ -msvc-isystem ------------- - -* The MSVC compilers learned to pass the ``-external:I`` flag for system - includes when using the :generator:`Ninja` and :generator:`NMake Makefiles` - generators. This became available as of Visual Studio 16.10 (toolchain - version 14.29.30037). diff --git a/Help/release/dev/ninja-edit_cache.rst b/Help/release/dev/ninja-edit_cache.rst deleted file mode 100644 index 9083f56..0000000 --- a/Help/release/dev/ninja-edit_cache.rst +++ /dev/null @@ -1,5 +0,0 @@ -ninja-edit_cache ----------------- - -* The :ref:`Ninja Generators` now implement the ``edit_cache`` target - using :manual:`ccmake(1)` if available. diff --git a/Help/release/dev/nsis-minimal-version.rst b/Help/release/dev/nsis-minimal-version.rst deleted file mode 100644 index b19597a..0000000 --- a/Help/release/dev/nsis-minimal-version.rst +++ /dev/null @@ -1,4 +0,0 @@ -nsis-minimal-version.rst ------------------------- - -* The :cpack_gen:`CPack NSIS Generator` now requires NSIS 3.03 or later. diff --git a/Help/release/dev/nsis_ignore_install_page.rst b/Help/release/dev/nsis_ignore_install_page.rst deleted file mode 100644 index 2d8a8d0..0000000 --- a/Help/release/dev/nsis_ignore_install_page.rst +++ /dev/null @@ -1,6 +0,0 @@ -nsis_ignore_install_page ------------------------- - -* The :cpack_gen:`CPack NSIS Generator` gained a new variable - :variable:`CPACK_NSIS_IGNORE_LICENSE_PAGE` to ignore the - license page in the installer. diff --git a/Help/release/dev/os-release.rst b/Help/release/dev/os-release.rst deleted file mode 100644 index cce6aee..0000000 --- a/Help/release/dev/os-release.rst +++ /dev/null @@ -1,6 +0,0 @@ -os-release ----------- - -* The :command:`cmake_host_system_information` command query operating system - identification `variables `_ - from the :file:`/etc/os-release` file. diff --git a/Help/release/dev/string-TIMESTAMP-specifier-V.rst b/Help/release/dev/string-TIMESTAMP-specifier-V.rst deleted file mode 100644 index afd3f03..0000000 --- a/Help/release/dev/string-TIMESTAMP-specifier-V.rst +++ /dev/null @@ -1,5 +0,0 @@ -string-TIMESTAMP-specifier-V ----------------------------- - -* The :command:`string(TIMESTAMP)` command now supports the ``%V`` - specifier for ISO 8601 week numbers. diff --git a/Help/release/dev/target_compile_features-ignore-disabled-langs.rst b/Help/release/dev/target_compile_features-ignore-disabled-langs.rst deleted file mode 100644 index 0eba125..0000000 --- a/Help/release/dev/target_compile_features-ignore-disabled-langs.rst +++ /dev/null @@ -1,5 +0,0 @@ -target_compile_features-ignore-disabled-langs ---------------------------------------------- - -* :command:`target_compile_features` learned to ignored features for languages that - aren't enabled. diff --git a/Help/release/dev/vs10-deprecate.rst b/Help/release/dev/vs10-deprecate.rst deleted file mode 100644 index 7bec391..0000000 --- a/Help/release/dev/vs10-deprecate.rst +++ /dev/null @@ -1,5 +0,0 @@ -vs10-deprecate --------------- - -* The :generator:`Visual Studio 10 2010` generator is now deprecated - and will be removed in a future version of CMake. diff --git a/Help/release/dev/vs_settings.rst b/Help/release/dev/vs_settings.rst deleted file mode 100644 index 64f3ced..0000000 --- a/Help/release/dev/vs_settings.rst +++ /dev/null @@ -1,5 +0,0 @@ -vs_settings ------------ - -* The :prop_sf:`VS_SETTINGS` source file property is now supported for - all source file types. Previously it worked only for non-built sources. diff --git a/Help/release/index.rst b/Help/release/index.rst index 5938878..131595a 100644 --- a/Help/release/index.rst +++ b/Help/release/index.rst @@ -15,6 +15,7 @@ Releases .. toctree:: :maxdepth: 1 + 3.22 <3.22> 3.21 <3.21> 3.20 <3.20> 3.19 <3.19> -- cgit v0.12 From c632a7105c1bd3cfaac82b6961efb8ac6c848b6e Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 7 Oct 2021 09:48:56 -0400 Subject: Help: Organize and revise 3.22 release notes Add section headers similar to the 3.21 release notes and move each individual bullet into an appropriate section. Revise a few bullets. --- Help/release/3.22.rst | 158 ++++++++++++++++++++++++++++---------------------- 1 file changed, 89 insertions(+), 69 deletions(-) diff --git a/Help/release/3.22.rst b/Help/release/3.22.rst index d8427a6..fcb655d 100644 --- a/Help/release/3.22.rst +++ b/Help/release/3.22.rst @@ -7,53 +7,22 @@ CMake 3.22 Release Notes Changes made since CMake 3.21 include the following. -* The :module:`CMakeDependentOption` module :command:`cmake_dependent_option` - macro now supports full :ref:`Condition Syntax`. - See policy :policy:`CMP0127`. - -* The :envvar:`CMAKE_INSTALL_MODE` environment variable was added to - allow users to override the default file-copying behavior of - :command:`install` and :command:`file(INSTALL)` into creating - symbolic links. This can aid in lowering storage space requirements - and avoiding redundancy. +New Features +============ -* The :command:`file(INSTALL)` can now be affected / modified by the - :envvar:`CMAKE_INSTALL_MODE` environment variable causing installation - of symbolic links instead of copying of files. +Commands +-------- -* The :command:`install` can now be affected / modified by the - :envvar:`CMAKE_INSTALL_MODE` environment variable causing installation - of symbolic links instead of copying of files. - -* The :manual:`Compile Features ` functionality now - correctly disables or enables compiler extensions when no standard level is - specified and avoids unnecessarily adding language standard flags if the - requested settings match the compiler's defaults. See :policy:`CMP0128`. +* The :command:`cmake_host_system_information` command can now query + `OS identification variables`_ from the :file:`/etc/os-release` file. -* :prop_tgt:`_EXTENSIONS` is initialized to - :variable:`CMAKE__EXTENSIONS_DEFAULT`. See :policy:`CMP0128`. - -* The :cpack_gen:`CPack DEB Generator` gained the - option to set :variable:`CPACK_DEBIAN_COMPRESSION_TYPE` to zstd, - which enables Zstandard compression for deb packages. - -* The :cpack_gen:`CPack RPM Generator` gained the - :variable:`CPACK_RPM_REQUIRES_EXCLUDE_FROM` option avoid scanning - specific paths for dependencies. - -* :manual:`ctest(1)` learned to be able to modify the environment for a test - through the :prop_test:`ENVIRONMENT_MODIFICATION` property. This is allows - for updates to environment variables based on the environment present at - test time. +* The :command:`string(TIMESTAMP)` command now supports the ``%V`` + specifier for ISO 8601 week numbers. -* The :command:`ctest_memcheck` command now also generates a - `DynamicAnalysis-Test.xml` file which may be used to submit test results to - CDash. +.. _`OS identification variables`: https://www.freedesktop.org/software/systemd/man/os-release.html -* :manual:`ctest(1)` learned to recognize labels attached to a test at run time. - Previously it was only possible to attach labels to tests at configure time - by using the :prop_test:`LABELS` test property. - See :ref:`Additional Test Measurements` for more information. +Variables +--------- * The :envvar:`CMAKE_BUILD_TYPE` environment variable was added to provide a default value for the :variable:`CMAKE_BUILD_TYPE` variable. @@ -62,6 +31,36 @@ Changes made since CMake 3.21 include the following. provide a default value for the :variable:`CMAKE_CONFIGURATION_TYPES` variable. +* The :envvar:`CMAKE_INSTALL_MODE` environment variable was added to + tell :command:`install` rules (implemented by :command:`file(INSTALL)`) + to install symbolic links instead of copying of files. + +* The :variable:`CMAKE__LINK_WHAT_YOU_USE_FLAG` and + :variable:`CMAKE_LINK_WHAT_YOU_USE_CHECK` variables were added to + control the linker flag and check used by the + :prop_tgt:`LINK_WHAT_YOU_USE` target property. + +* The :variable:`CMAKE_REQUIRE_FIND_PACKAGE_` variable + was added to turn a non-REQUIRED :command:`find_package` call into + a REQUIRED one. + +Properties +---------- + +* The :prop_tgt:`_EXTENSIONS` target property is now initialized to + :variable:`CMAKE__EXTENSIONS_DEFAULT`, detected from the compiler. + See :policy:`CMP0128`. + +* The :prop_sf:`VS_SETTINGS` source file property is now supported for + all source file types. Previously it worked only for non-built sources. + +Modules +------- + +* The :module:`CMakeDependentOption` module :command:`cmake_dependent_option` + macro now supports full :ref:`Condition Syntax`. + See policy :policy:`CMP0127`. + * The :module:`FetchContent` module now passes through the :variable:`CMAKE_TLS_VERIFY`, :variable:`CMAKE_TLS_CAINFO`, :variable:`CMAKE_NETRC` and :variable:`CMAKE_NETRC_FILE` variables (when @@ -76,9 +75,6 @@ Changes made since CMake 3.21 include the following. * The :module:`FindMatlab` module now provides imported targets. -* The :variable:`CMAKE_REQUIRE_FIND_PACKAGE_` variable was added - to turn a non-REQUIRED :command:`find_package` call into a REQUIRED one. - * The :module:`FindPkgConfig` module gained a :variable:`PKG_CONFIG_ARGN` variable to specify arguments to ``pkg-config`` calls. @@ -86,39 +82,63 @@ Changes made since CMake 3.21 include the following. function gained a ``TEST_FILTER`` option to filter tests using ``--gtest_filter`` during test discovery. -* Configuration for :prop_tgt:`LINK_WHAT_YOU_USE` feature is now controlled by - ``CMake`` variables and only active for ``ELF`` platforms. +* The :module:`UseSWIG` module, for :ref:`Visual Studio Generators`, + can now use the ``swig`` tool to generate implicit dependencies. -* The MSVC compilers learned to pass the ``-external:I`` flag for system - includes when using the :generator:`Ninja` and :generator:`NMake Makefiles` - generators. This became available as of Visual Studio 16.10 (toolchain - version 14.29.30037). +CTest +----- -* The :ref:`Ninja Generators` now implement the ``edit_cache`` target - using :manual:`ccmake(1)` if available. +* :manual:`ctest(1)` learned to recognize labels attached to a test at run time. + Previously it was only possible to attach labels to tests at configure time + by using the :prop_test:`LABELS` test property. + See :ref:`Additional Test Measurements` for more information. -* The :cpack_gen:`CPack NSIS Generator` gained a new variable - :variable:`CPACK_NSIS_IGNORE_LICENSE_PAGE` to ignore the - license page in the installer. +* :manual:`ctest(1)` learned to be able to modify the environment for a test + through the :prop_test:`ENVIRONMENT_MODIFICATION` property. This is allows + for updates to environment variables based on the environment present at + test time. -* The :cpack_gen:`CPack NSIS Generator` now requires NSIS 3.03 or later. +* The :command:`ctest_memcheck` command now also generates a + :file:`DynamicAnalysis-Test.xml` file which may be used to submit test + results to CDash. -* The :command:`cmake_host_system_information` command query operating system - identification `variables `_ - from the :file:`/etc/os-release` file. +CPack +----- -* The :command:`string(TIMESTAMP)` command now supports the ``%V`` - specifier for ISO 8601 week numbers. +* The :cpack_gen:`CPack DEB Generator` gained the + option to set :variable:`CPACK_DEBIAN_COMPRESSION_TYPE` to ``zstd``, + which enables Zstandard compression for deb packages. + +* The :cpack_gen:`CPack NSIS Generator` gained a new + :variable:`CPACK_NSIS_IGNORE_LICENSE_PAGE` variable to suppress + the license page in the installer. -* :command:`target_compile_features` learned to ignored features for languages that - aren't enabled. +* The :cpack_gen:`CPack RPM Generator` gained the + :variable:`CPACK_RPM_REQUIRES_EXCLUDE_FROM` option to avoid scanning + specific paths for dependencies. -* :module:`UseSWIG` module gained the capability, for - :ref:`Visual Studio Generators` to use `swig` tool to generate implicit - dependencies. +Deprecated and Removed Features +=============================== * The :generator:`Visual Studio 10 2010` generator is now deprecated and will be removed in a future version of CMake. -* The :prop_sf:`VS_SETTINGS` source file property is now supported for - all source file types. Previously it worked only for non-built sources. +Other Changes +============= + +* The :manual:`Compile Features ` functionality now + correctly disables or enables compiler extensions when no standard level is + specified and avoids unnecessarily adding language standard flags if the + requested settings match the compiler's defaults. See :policy:`CMP0128`. + +* The :manual:`Compile Features ` functionality + now ignores features for languages that are not enabled. + +* The :ref:`Ninja Generators` now implement the ``edit_cache`` target + using :manual:`ccmake(1)` if available. + +* The :generator:`Ninja` and :generator:`NMake Makefiles` generators + now use the MSVC ``-external:I`` flag for system includes. + This became available as of VS 16.10 (toolchain version 14.29.30037). + +* The :cpack_gen:`CPack NSIS Generator` now requires NSIS 3.03 or later. -- cgit v0.12 From 9f0b52b8e649ddf629fa82eee63a46ea7bcf16c5 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 7 Oct 2021 11:16:32 -0400 Subject: Help: Update Sphinx versionadded directives for 3.22 release Run the script: Utilities/Sphinx/update_versions.py --since v3.21.0 --overwrite Manually select updates that really belong to the 3.22 release, as against adding documentation for previously-existing entities. --- Help/policy/CMP0127.rst | 2 ++ Help/prop_test/ENVIRONMENT_MODIFICATION.rst | 2 ++ Help/prop_tgt/Fortran_BUILDING_INSTRINSIC_MODULES.rst | 2 ++ 3 files changed, 6 insertions(+) diff --git a/Help/policy/CMP0127.rst b/Help/policy/CMP0127.rst index 8560bbf..2106110 100644 --- a/Help/policy/CMP0127.rst +++ b/Help/policy/CMP0127.rst @@ -1,6 +1,8 @@ CMP0127 ------- +.. versionadded:: 3.22 + :command:`cmake_dependent_option` supports full :ref:`Condition Syntax`. The ```` parameter accepts a :ref:`semicolon-separated list