From 71f9c1943d63805cf3a87fcb832a7c664e8d1a47 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 1 Feb 2023 13:57:59 -0500 Subject: FindImageMagick: Fix documentation syntax in usage example --- Modules/FindImageMagick.cmake | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/Modules/FindImageMagick.cmake b/Modules/FindImageMagick.cmake index 2210e1b..6baf471 100644 --- a/Modules/FindImageMagick.cmake +++ b/Modules/FindImageMagick.cmake @@ -96,19 +96,13 @@ Result Variables Full path to libraries. -Example Usages: -^^^^^^^^^^^^^^^ +Example Usage +^^^^^^^^^^^^^ - find_package(ImageMagick) - find_package(ImageMagick COMPONENTS convert) - find_package(ImageMagick COMPONENTS convert mogrify display) - find_package(ImageMagick COMPONENTS Magick++) - find_package(ImageMagick COMPONENTS Magick++ convert) +.. code-block:: cmake + find_package(ImageMagick COMPONENTS Magick++) target_link_libraries(example PRIVATE ImageMagick::Magick++) - -Note that the standard :command:`find_package` features are supported (i.e., -``QUIET``, ``REQUIRED``, etc.). #]=======================================================================] find_package(PkgConfig QUIET) -- cgit v0.12 From bc1ba6d56b1297cc4677e527bfbe85f3502eb13e Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 1 Feb 2023 13:23:56 -0500 Subject: Help: Document experimental feature gate affecting CXX_SCAN_FOR_MODULES Also drop the release note for `CXX_SCAN_FOR_MODULES`, as the rest of the C++ modules support has not yet been mentioned in release notes (since it is still experimental). --- Help/prop_sf/CXX_SCAN_FOR_MODULES.rst | 5 +++++ Help/prop_tgt/CXX_SCAN_FOR_MODULES.rst | 5 +++++ Help/release/dev/cxx-scanning-properties.rst | 5 ----- Help/variable/CMAKE_CXX_SCAN_FOR_MODULES.rst | 5 +++++ 4 files changed, 15 insertions(+), 5 deletions(-) delete mode 100644 Help/release/dev/cxx-scanning-properties.rst diff --git a/Help/prop_sf/CXX_SCAN_FOR_MODULES.rst b/Help/prop_sf/CXX_SCAN_FOR_MODULES.rst index 9d6c0a5..23c4859 100644 --- a/Help/prop_sf/CXX_SCAN_FOR_MODULES.rst +++ b/Help/prop_sf/CXX_SCAN_FOR_MODULES.rst @@ -17,3 +17,8 @@ Note that scanning is only performed if C++20 or higher is enabled for the target and the source uses the ``CXX`` language. Scanning for modules in sources belonging to file sets of type ``CXX_MODULES`` and ``CXX_MODULES_HEADER_UNITS`` is always performed. + +.. note :: + + This setting is meaningful only when experimental support for C++ modules + has been enabled by the ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API`` gate. diff --git a/Help/prop_tgt/CXX_SCAN_FOR_MODULES.rst b/Help/prop_tgt/CXX_SCAN_FOR_MODULES.rst index 5e89ba2..e2127c2 100644 --- a/Help/prop_tgt/CXX_SCAN_FOR_MODULES.rst +++ b/Help/prop_tgt/CXX_SCAN_FOR_MODULES.rst @@ -20,3 +20,8 @@ scan the target's ``CXX`` sources at build time. Note that scanning is only performed if C++20 or higher is enabled for the target. Scanning for modules in the target's sources belonging to file sets of type ``CXX_MODULES`` and ``CXX_MODULES_HEADER_UNITS`` is always performed. + +.. note :: + + This setting is meaningful only when experimental support for C++ modules + has been enabled by the ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API`` gate. diff --git a/Help/release/dev/cxx-scanning-properties.rst b/Help/release/dev/cxx-scanning-properties.rst deleted file mode 100644 index b393728..0000000 --- a/Help/release/dev/cxx-scanning-properties.rst +++ /dev/null @@ -1,5 +0,0 @@ -cxx-scanning-properties ------------------------ - -* The :prop_tgt:`CXX_SCAN_FOR_MODULES` target and source file properties may - be used to enable or disable scanning for C++ module dependencies. diff --git a/Help/variable/CMAKE_CXX_SCAN_FOR_MODULES.rst b/Help/variable/CMAKE_CXX_SCAN_FOR_MODULES.rst index 0d6c636..a40bf75 100644 --- a/Help/variable/CMAKE_CXX_SCAN_FOR_MODULES.rst +++ b/Help/variable/CMAKE_CXX_SCAN_FOR_MODULES.rst @@ -8,3 +8,8 @@ Whether to scan C++ source files for module dependencies. This variable is used to initialize the :prop_tgt:`CXX_SCAN_FOR_MODULES` property on all the targets. See that target property for additional information. + +.. note :: + + This setting is meaningful only when experimental support for C++ modules + has been enabled by the ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API`` gate. -- cgit v0.12 From 4c63f031c11e2aee50a63c3b89b08d4d6738022e Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 1 Feb 2023 13:05:45 -0500 Subject: Help: Consolidate 3.26 release notes Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.26.rst`. --- Help/release/3.26.rst | 118 +++++++++++++++++++++ .../dev/COMPILE_DEFINITIONS-property-cleanup.rst | 6 -- .../dev/ExternalProject-INSTALL_BYPRODUCTS.rst | 6 -- Help/release/dev/FindCUDAToolkit-arm64-sbsa.rst | 4 - Help/release/dev/FindCUDAToolkit-nvrtc.rst | 5 - Help/release/dev/FindPython-Stable-ABI.rst | 6 -- Help/release/dev/UseSWIG-perl5.rst | 4 - Help/release/dev/build-local-interface-genex.rst | 5 - Help/release/dev/clang-tidy-export-fixes-dir.rst | 8 -- .../dev/cmake-E-copy-directory-if-different.rst | 4 - Help/release/dev/cmake-E-copy-t-arg.rst | 4 - Help/release/dev/compile-commands-output-field.rst | 7 -- Help/release/dev/configure-log.rst | 19 ---- Help/release/dev/ctest-no-tests-action-env-var.rst | 7 -- Help/release/dev/custom-command-comment-genex.rst | 6 -- Help/release/dev/cygwin-no-legacy-win32.rst | 5 - Help/release/dev/file-api-file-sets.rst | 9 -- Help/release/dev/frontend-variant-always.rst | 6 -- Help/release/dev/lang-std-flag-order.rst | 7 -- Help/release/dev/marmasm-language.rst | 4 - Help/release/dev/timestamp-timezone.rst | 5 - Help/release/dev/top-level-command-order.rst | 6 -- Help/release/dev/trace-try_compile.rst | 5 - Help/release/dev/use-folder-on-by-default.rst | 5 - Help/release/dev/vs-version-var.rst | 6 -- Help/release/dev/xcode-ios-extensionkit.rst | 11 -- Help/release/index.rst | 1 + 27 files changed, 119 insertions(+), 160 deletions(-) create mode 100644 Help/release/3.26.rst delete mode 100644 Help/release/dev/COMPILE_DEFINITIONS-property-cleanup.rst delete mode 100644 Help/release/dev/ExternalProject-INSTALL_BYPRODUCTS.rst delete mode 100644 Help/release/dev/FindCUDAToolkit-arm64-sbsa.rst delete mode 100644 Help/release/dev/FindCUDAToolkit-nvrtc.rst delete mode 100644 Help/release/dev/FindPython-Stable-ABI.rst delete mode 100644 Help/release/dev/UseSWIG-perl5.rst delete mode 100644 Help/release/dev/build-local-interface-genex.rst delete mode 100644 Help/release/dev/clang-tidy-export-fixes-dir.rst delete mode 100644 Help/release/dev/cmake-E-copy-directory-if-different.rst delete mode 100644 Help/release/dev/cmake-E-copy-t-arg.rst delete mode 100644 Help/release/dev/compile-commands-output-field.rst delete mode 100644 Help/release/dev/configure-log.rst delete mode 100644 Help/release/dev/ctest-no-tests-action-env-var.rst delete mode 100644 Help/release/dev/custom-command-comment-genex.rst delete mode 100644 Help/release/dev/cygwin-no-legacy-win32.rst delete mode 100644 Help/release/dev/file-api-file-sets.rst delete mode 100644 Help/release/dev/frontend-variant-always.rst delete mode 100644 Help/release/dev/lang-std-flag-order.rst delete mode 100644 Help/release/dev/marmasm-language.rst delete mode 100644 Help/release/dev/timestamp-timezone.rst delete mode 100644 Help/release/dev/top-level-command-order.rst delete mode 100644 Help/release/dev/trace-try_compile.rst delete mode 100644 Help/release/dev/use-folder-on-by-default.rst delete mode 100644 Help/release/dev/vs-version-var.rst delete mode 100644 Help/release/dev/xcode-ios-extensionkit.rst diff --git a/Help/release/3.26.rst b/Help/release/3.26.rst new file mode 100644 index 0000000..38cf5ea --- /dev/null +++ b/Help/release/3.26.rst @@ -0,0 +1,118 @@ +CMake 3.26 Release Notes +************************ + +.. only:: html + + .. contents:: + +Changes made since CMake 3.25 include the following. + +* The :genex:`BUILD_LOCAL_INTERFACE` generator expression was added to + prevent usage requirements from being exported to dependent projects. + +* A new :prop_tgt:`_CLANG_TIDY_EXPORT_FIXES_DIR` target property was + created to allow the ``clang-tidy`` tool to export its suggested fixes to a + set of ``.yaml`` files. A new + :variable:`CMAKE__CLANG_TIDY_EXPORT_FIXES_DIR` variable was created to + initialize this property. + +* The :manual:`cmake(1)` ``-E`` option learned a new ``copy_directory_if_different`` command. + +* The :option:`cmake -E copy ` argument now supports a ``-t`` argument. + +* The :prop_tgt:`EXPORT_COMPILE_COMMANDS` target property will now have the + ``output`` field in the compile commands objects. This allows multi-config + generators (namely :generator:`Ninja Multi-Config` generator) to contain the + compile commands for all configurations. + +* For all ``COMPILE_DEFINITIONS`` properties, any leading ``-D`` on an item + will be removed regardless how to was defined: as is or inside a generator + expression. + +* CMake now writes a YAML log of configure-time checks. + See the :manual:`cmake-configure-log(7)` manual. + +* The :manual:`cmake-file-api(7)` gained a new "configureLog" object kind + that enables stable access to the :manual:`cmake-configure-log(7)`. + +* The :command:`message` command gained a ``CONFIGURE_LOG`` mode to + record an entry in the :manual:`cmake-configure-log(7)`. + +* The :command:`try_compile` and :command:`try_run` commands gained + a ``LOG_DESCRIPTION`` option specifying text to be recorded in the + :manual:`cmake-configure-log(7)`. + +* The :command:`try_compile` and :command:`try_run` commands gained a + ``NO_LOG`` option to skip recording a :manual:`cmake-configure-log(7)` + entry. + +* The :envvar:`CTEST_NO_TESTS_ACTION` environment variable was added to + provide a default value for the + :option:`--no-tests=\ ` command line + argument of :manual:`ctest(1)`. + +* :command:`add_custom_command` and :command:`add_custom_target` now + support :manual:`generator expressions ` + in their ``COMMENT`` option. + +* On CYGWIN, the undocumented ``CMAKE_LEGACY_CYGWIN_WIN32`` mode for + compatibility with CMake versions older than 2.8.4 has been removed. + +* The :module:`ExternalProject` module :command:`ExternalProject_Add` command + gained an ``INSTALL_BYPRODUCTS`` option to specify files generated by the + "install" step. + +* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field has + been updated to 2.5. + +* The :manual:`cmake-file-api(7)` "codemodel" version 2 "target" object + gained a new ``fileSets`` field and associated ``fileSetIndex`` + field to ``sources`` objects. + +* The :module:`FindCUDAToolkit` gained support for the `sbsa-linux` cross compilation target + +* The :module:`FindCUDAToolkit` module now provides a target for + ``libnvrtc_static``, if found. + +* The :module:`FindPython3` and :module:`FindPython` modules gain the support + of the + `Stable Application Binary Interface `_. + +* The :variable:`CMAKE__COMPILER_FRONTEND_VARIANT` variable is now + set for ``GNU``, ``MSVC``, and ``AppleClang`` compilers that have only + one frontend variant. + +* :ref:`Language Standard Flags`, such as ``-std=c++11``, when generated due + to :command:`target_compile_features` or :variable:`CMAKE__STANDARD`, + are now placed before flags added by :command:`target_compile_options`, + rather than after them. + +* The ``ASM_MARMASM`` language was added to support the Microsoft ARM assembler language. + +* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands + now support the ``%z`` and ``%Z`` specifiers for the time zone. + +* The top-level :command:`project` call will now emit an author warning if the + documented command order in relation to :command:`cmake_minimum_required` is + not respected. + +* The :option:`cmake --trace` option now follows :command:`try_compile` and + :command:`try_run` invocations. + +* Global property :prop_gbl:`USE_FOLDERS` is treated as ``ON`` by default. + See policy :policy:`CMP0143`. + +* The :module:`UseSWIG` module gained the support of ``perl5`` language. + +* A :variable:`CMAKE_VS_VERSION_BUILD_NUMBER` variable is now set by + :ref:`Visual Studio Generators` for VS 2017 and above to report the + four-component Visual Studio version number. + +* The :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS >` target property + was added to tell the :generator:`Xcode` generator to ExtensionKit-based extensions + such as extensions using the Background Assets framework. + Aspects of the embedding can be customized with the + :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_PATH >`, + :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_CODE_SIGN_ON_COPY _CODE_SIGN_ON_COPY>` and + :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_REMOVE_HEADERS_ON_COPY _REMOVE_HEADERS_ON_COPY>` + properties. diff --git a/Help/release/dev/COMPILE_DEFINITIONS-property-cleanup.rst b/Help/release/dev/COMPILE_DEFINITIONS-property-cleanup.rst deleted file mode 100644 index e24bc26..0000000 --- a/Help/release/dev/COMPILE_DEFINITIONS-property-cleanup.rst +++ /dev/null @@ -1,6 +0,0 @@ -COMPILE_DEFINITIONS-property-cleanup ------------------------------------- - -* For all ``COMPILE_DEFINITIONS`` properties, any leading ``-D`` on an item - will be removed regardless how to was defined: as is or inside a generator - expression. diff --git a/Help/release/dev/ExternalProject-INSTALL_BYPRODUCTS.rst b/Help/release/dev/ExternalProject-INSTALL_BYPRODUCTS.rst deleted file mode 100644 index 233596f..0000000 --- a/Help/release/dev/ExternalProject-INSTALL_BYPRODUCTS.rst +++ /dev/null @@ -1,6 +0,0 @@ -ExternalProject-INSTALL_BYPRODUCTS ----------------------------------- - -* The :module:`ExternalProject` module :command:`ExternalProject_Add` command - gained an ``INSTALL_BYPRODUCTS`` option to specify files generated by the - "install" step. diff --git a/Help/release/dev/FindCUDAToolkit-arm64-sbsa.rst b/Help/release/dev/FindCUDAToolkit-arm64-sbsa.rst deleted file mode 100644 index 55ddb99..0000000 --- a/Help/release/dev/FindCUDAToolkit-arm64-sbsa.rst +++ /dev/null @@ -1,4 +0,0 @@ -FindCUDAToolkit-arm64-sbsa --------------------------- - -* The :module:`FindCUDAToolkit` gained support for the `sbsa-linux` cross compilation target diff --git a/Help/release/dev/FindCUDAToolkit-nvrtc.rst b/Help/release/dev/FindCUDAToolkit-nvrtc.rst deleted file mode 100644 index 5f8bfdd..0000000 --- a/Help/release/dev/FindCUDAToolkit-nvrtc.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindCUDAToolkit-nvrtc ---------------------- - -* The :module:`FindCUDAToolkit` module now provides a target for - ``libnvrtc_static``, if found. diff --git a/Help/release/dev/FindPython-Stable-ABI.rst b/Help/release/dev/FindPython-Stable-ABI.rst deleted file mode 100644 index c6a06b9..0000000 --- a/Help/release/dev/FindPython-Stable-ABI.rst +++ /dev/null @@ -1,6 +0,0 @@ -FindPython-Stable-ABI ---------------------- - -* The :module:`FindPython3` and :module:`FindPython` modules gain the support - of the - `Stable Application Binary Interface `_. diff --git a/Help/release/dev/UseSWIG-perl5.rst b/Help/release/dev/UseSWIG-perl5.rst deleted file mode 100644 index 67d4161..0000000 --- a/Help/release/dev/UseSWIG-perl5.rst +++ /dev/null @@ -1,4 +0,0 @@ -UseSWIG-perl5 -------------- - -* The :module:`UseSWIG` module gained the support of ``perl5`` language. diff --git a/Help/release/dev/build-local-interface-genex.rst b/Help/release/dev/build-local-interface-genex.rst deleted file mode 100644 index 7fe702e..0000000 --- a/Help/release/dev/build-local-interface-genex.rst +++ /dev/null @@ -1,5 +0,0 @@ -build-local-interface-genex ---------------------------- - -* The :genex:`BUILD_LOCAL_INTERFACE` generator expression was added to - prevent usage requirements from being exported to dependent projects. diff --git a/Help/release/dev/clang-tidy-export-fixes-dir.rst b/Help/release/dev/clang-tidy-export-fixes-dir.rst deleted file mode 100644 index edb7ed5..0000000 --- a/Help/release/dev/clang-tidy-export-fixes-dir.rst +++ /dev/null @@ -1,8 +0,0 @@ -clang-tidy-export-fixes-dir ---------------------------- - -* A new :prop_tgt:`_CLANG_TIDY_EXPORT_FIXES_DIR` target property was - created to allow the ``clang-tidy`` tool to export its suggested fixes to a - set of ``.yaml`` files. A new - :variable:`CMAKE__CLANG_TIDY_EXPORT_FIXES_DIR` variable was created to - initialize this property. diff --git a/Help/release/dev/cmake-E-copy-directory-if-different.rst b/Help/release/dev/cmake-E-copy-directory-if-different.rst deleted file mode 100644 index 6e642c0..0000000 --- a/Help/release/dev/cmake-E-copy-directory-if-different.rst +++ /dev/null @@ -1,4 +0,0 @@ -cmake-E-copy-directory-if-different ------------------------------------ - -* The :manual:`cmake(1)` ``-E`` option learned a new ``copy_directory_if_different`` command. diff --git a/Help/release/dev/cmake-E-copy-t-arg.rst b/Help/release/dev/cmake-E-copy-t-arg.rst deleted file mode 100644 index ca897d3..0000000 --- a/Help/release/dev/cmake-E-copy-t-arg.rst +++ /dev/null @@ -1,4 +0,0 @@ -cmake-E-copy-t-arg ------------------- - -* The :option:`cmake -E copy ` argument now supports a ``-t`` argument. diff --git a/Help/release/dev/compile-commands-output-field.rst b/Help/release/dev/compile-commands-output-field.rst deleted file mode 100644 index 110fd4e..0000000 --- a/Help/release/dev/compile-commands-output-field.rst +++ /dev/null @@ -1,7 +0,0 @@ -compile-commands-output-field ------------------------------ - -* The :prop_tgt:`EXPORT_COMPILE_COMMANDS` target property will now have the - ``output`` field in the compile commands objects. This allows multi-config - generators (namely :generator:`Ninja Multi-Config` generator) to contain the - compile commands for all configurations. diff --git a/Help/release/dev/configure-log.rst b/Help/release/dev/configure-log.rst deleted file mode 100644 index 588a54c..0000000 --- a/Help/release/dev/configure-log.rst +++ /dev/null @@ -1,19 +0,0 @@ -Configure Log -------------- - -* CMake now writes a YAML log of configure-time checks. - See the :manual:`cmake-configure-log(7)` manual. - -* The :manual:`cmake-file-api(7)` gained a new "configureLog" object kind - that enables stable access to the :manual:`cmake-configure-log(7)`. - -* The :command:`message` command gained a ``CONFIGURE_LOG`` mode to - record an entry in the :manual:`cmake-configure-log(7)`. - -* The :command:`try_compile` and :command:`try_run` commands gained - a ``LOG_DESCRIPTION`` option specifying text to be recorded in the - :manual:`cmake-configure-log(7)`. - -* The :command:`try_compile` and :command:`try_run` commands gained a - ``NO_LOG`` option to skip recording a :manual:`cmake-configure-log(7)` - entry. diff --git a/Help/release/dev/ctest-no-tests-action-env-var.rst b/Help/release/dev/ctest-no-tests-action-env-var.rst deleted file mode 100644 index 8679977..0000000 --- a/Help/release/dev/ctest-no-tests-action-env-var.rst +++ /dev/null @@ -1,7 +0,0 @@ -ctest-no-tests-action-env-var ------------------------------ - -* The :envvar:`CTEST_NO_TESTS_ACTION` environment variable was added to - provide a default value for the - :option:`--no-tests=\ ` command line - argument of :manual:`ctest(1)`. diff --git a/Help/release/dev/custom-command-comment-genex.rst b/Help/release/dev/custom-command-comment-genex.rst deleted file mode 100644 index f9402f2..0000000 --- a/Help/release/dev/custom-command-comment-genex.rst +++ /dev/null @@ -1,6 +0,0 @@ -custom-command-comment-genex ----------------------------- - -* :command:`add_custom_command` and :command:`add_custom_target` now - support :manual:`generator expressions ` - in their ``COMMENT`` option. diff --git a/Help/release/dev/cygwin-no-legacy-win32.rst b/Help/release/dev/cygwin-no-legacy-win32.rst deleted file mode 100644 index 7991138..0000000 --- a/Help/release/dev/cygwin-no-legacy-win32.rst +++ /dev/null @@ -1,5 +0,0 @@ -cygwin-no-legacy-win32 ----------------------- - -* On CYGWIN, the undocumented ``CMAKE_LEGACY_CYGWIN_WIN32`` mode for - compatibility with CMake versions older than 2.8.4 has been removed. diff --git a/Help/release/dev/file-api-file-sets.rst b/Help/release/dev/file-api-file-sets.rst deleted file mode 100644 index 8a8b8d3..0000000 --- a/Help/release/dev/file-api-file-sets.rst +++ /dev/null @@ -1,9 +0,0 @@ -file-api-file-sets ------------------- - -* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field has - been updated to 2.5. - -* The :manual:`cmake-file-api(7)` "codemodel" version 2 "target" object - gained a new ``fileSets`` field and associated ``fileSetIndex`` - field to ``sources`` objects. diff --git a/Help/release/dev/frontend-variant-always.rst b/Help/release/dev/frontend-variant-always.rst deleted file mode 100644 index 111175c..0000000 --- a/Help/release/dev/frontend-variant-always.rst +++ /dev/null @@ -1,6 +0,0 @@ -frontend-variant-always ------------------------ - -* The :variable:`CMAKE__COMPILER_FRONTEND_VARIANT` variable is now - set for ``GNU``, ``MSVC``, and ``AppleClang`` compilers that have only - one frontend variant. diff --git a/Help/release/dev/lang-std-flag-order.rst b/Help/release/dev/lang-std-flag-order.rst deleted file mode 100644 index 4ef4123..0000000 --- a/Help/release/dev/lang-std-flag-order.rst +++ /dev/null @@ -1,7 +0,0 @@ -lang-std-flag-order -------------------- - -* :ref:`Language Standard Flags`, such as ``-std=c++11``, when generated due - to :command:`target_compile_features` or :variable:`CMAKE__STANDARD`, - are now placed before flags added by :command:`target_compile_options`, - rather than after them. diff --git a/Help/release/dev/marmasm-language.rst b/Help/release/dev/marmasm-language.rst deleted file mode 100644 index 2101e6c..0000000 --- a/Help/release/dev/marmasm-language.rst +++ /dev/null @@ -1,4 +0,0 @@ -marmasm-language ----------------- - -* The ``ASM_MARMASM`` language was added to support the Microsoft ARM assembler language. diff --git a/Help/release/dev/timestamp-timezone.rst b/Help/release/dev/timestamp-timezone.rst deleted file mode 100644 index 178fa9a..0000000 --- a/Help/release/dev/timestamp-timezone.rst +++ /dev/null @@ -1,5 +0,0 @@ -timestamp-timezone ------------------- - -* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands - now support the ``%z`` and ``%Z`` specifiers for the time zone. diff --git a/Help/release/dev/top-level-command-order.rst b/Help/release/dev/top-level-command-order.rst deleted file mode 100644 index 07f87fb..0000000 --- a/Help/release/dev/top-level-command-order.rst +++ /dev/null @@ -1,6 +0,0 @@ -top-level-command-order ------------------------ - -* The top-level :command:`project` call will now emit an author warning if the - documented command order in relation to :command:`cmake_minimum_required` is - not respected. diff --git a/Help/release/dev/trace-try_compile.rst b/Help/release/dev/trace-try_compile.rst deleted file mode 100644 index 886aaad..0000000 --- a/Help/release/dev/trace-try_compile.rst +++ /dev/null @@ -1,5 +0,0 @@ -trace-try_compile ------------------ - -* The :option:`cmake --trace` option now follows :command:`try_compile` and - :command:`try_run` invocations. diff --git a/Help/release/dev/use-folder-on-by-default.rst b/Help/release/dev/use-folder-on-by-default.rst deleted file mode 100644 index 4e91c2e..0000000 --- a/Help/release/dev/use-folder-on-by-default.rst +++ /dev/null @@ -1,5 +0,0 @@ -use-folder-on-by-default ------------------------- - -* Global property :prop_gbl:`USE_FOLDERS` is treated as ``ON`` by default. - See policy :policy:`CMP0143`. diff --git a/Help/release/dev/vs-version-var.rst b/Help/release/dev/vs-version-var.rst deleted file mode 100644 index 09daab7..0000000 --- a/Help/release/dev/vs-version-var.rst +++ /dev/null @@ -1,6 +0,0 @@ -vs-version-var --------------- - -* A :variable:`CMAKE_VS_VERSION_BUILD_NUMBER` variable is now set by - :ref:`Visual Studio Generators` for VS 2017 and above to report the - four-component Visual Studio version number. diff --git a/Help/release/dev/xcode-ios-extensionkit.rst b/Help/release/dev/xcode-ios-extensionkit.rst deleted file mode 100644 index b77b4ec..0000000 --- a/Help/release/dev/xcode-ios-extensionkit.rst +++ /dev/null @@ -1,11 +0,0 @@ -xcode-ios-extensionkit ----------------------- - -* The :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS >` target property - was added to tell the :generator:`Xcode` generator to ExtensionKit-based extensions - such as extensions using the Background Assets framework. - Aspects of the embedding can be customized with the - :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_PATH >`, - :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_CODE_SIGN_ON_COPY _CODE_SIGN_ON_COPY>` and - :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_REMOVE_HEADERS_ON_COPY _REMOVE_HEADERS_ON_COPY>` - properties. diff --git a/Help/release/index.rst b/Help/release/index.rst index 50e06bb..d434a3a 100644 --- a/Help/release/index.rst +++ b/Help/release/index.rst @@ -15,6 +15,7 @@ Releases .. toctree:: :maxdepth: 1 + 3.26 <3.26> 3.25 <3.25> 3.24 <3.24> 3.23 <3.23> -- cgit v0.12 From 385435cf78e3f92e4bc8862eb7eab749b9220e26 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 1 Feb 2023 13:48:50 -0500 Subject: Help: Organize and revise 3.26 release notes Add section headers similar to the 3.25 release notes and move each individual bullet into an appropriate section. Revise a few bullets. Add a bullet for `FindImageMagick` that was accidentally left out when its changes were made. --- Help/release/3.26.rst | 178 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 116 insertions(+), 62 deletions(-) diff --git a/Help/release/3.26.rst b/Help/release/3.26.rst index 38cf5ea..ff2e208 100644 --- a/Help/release/3.26.rst +++ b/Help/release/3.26.rst @@ -7,37 +7,57 @@ CMake 3.26 Release Notes Changes made since CMake 3.25 include the following. -* The :genex:`BUILD_LOCAL_INTERFACE` generator expression was added to - prevent usage requirements from being exported to dependent projects. +New Features +============ -* A new :prop_tgt:`_CLANG_TIDY_EXPORT_FIXES_DIR` target property was - created to allow the ``clang-tidy`` tool to export its suggested fixes to a - set of ``.yaml`` files. A new - :variable:`CMAKE__CLANG_TIDY_EXPORT_FIXES_DIR` variable was created to - initialize this property. +Languages +--------- -* The :manual:`cmake(1)` ``-E`` option learned a new ``copy_directory_if_different`` command. +* The ``ASM_MARMASM`` language was added to support the + Microsoft ARM assembler language. -* The :option:`cmake -E copy ` argument now supports a ``-t`` argument. +Command-Line +------------ -* The :prop_tgt:`EXPORT_COMPILE_COMMANDS` target property will now have the - ``output`` field in the compile commands objects. This allows multi-config - generators (namely :generator:`Ninja Multi-Config` generator) to contain the - compile commands for all configurations. +* The :option:`cmake -E copy ` command-line tool now + supports a ``-t`` argument. -* For all ``COMPILE_DEFINITIONS`` properties, any leading ``-D`` on an item - will be removed regardless how to was defined: as is or inside a generator - expression. +* The :option:`cmake -E copy_directory_if_different + ` command-line tool was added. -* CMake now writes a YAML log of configure-time checks. +Configure Log +------------- + +* CMake now writes a YAML log of configure-time checks to + ``CMakeFiles/CMakeConfigureLog.yaml`` under the top of the build tree. See the :manual:`cmake-configure-log(7)` manual. +File-Based API +-------------- + +* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field has + been updated to 2.5. + +* The :manual:`cmake-file-api(7)` "codemodel" version 2 "target" object + gained a new ``fileSets`` field and associated ``fileSetIndex`` + field to ``sources`` objects. + * The :manual:`cmake-file-api(7)` gained a new "configureLog" object kind that enables stable access to the :manual:`cmake-configure-log(7)`. +Commands +-------- + +* The :command:`add_custom_command` and :command:`add_custom_target` commands + now support :manual:`generator expressions ` + in their ``COMMENT`` option. + * The :command:`message` command gained a ``CONFIGURE_LOG`` mode to record an entry in the :manual:`cmake-configure-log(7)`. +* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands + now support the ``%z`` and ``%Z`` specifiers for the time zone. + * The :command:`try_compile` and :command:`try_run` commands gained a ``LOG_DESCRIPTION`` option specifying text to be recorded in the :manual:`cmake-configure-log(7)`. @@ -46,51 +66,103 @@ Changes made since CMake 3.25 include the following. ``NO_LOG`` option to skip recording a :manual:`cmake-configure-log(7)` entry. -* The :envvar:`CTEST_NO_TESTS_ACTION` environment variable was added to - provide a default value for the - :option:`--no-tests=\ ` command line - argument of :manual:`ctest(1)`. +Variables +--------- -* :command:`add_custom_command` and :command:`add_custom_target` now - support :manual:`generator expressions ` - in their ``COMMENT`` option. +* The :variable:`CMAKE__COMPILER_FRONTEND_VARIANT` variable is now + set for ``GNU``, ``MSVC``, and ``AppleClang`` compilers that have only + one frontend variant. -* On CYGWIN, the undocumented ``CMAKE_LEGACY_CYGWIN_WIN32`` mode for - compatibility with CMake versions older than 2.8.4 has been removed. +* A :variable:`CMAKE_VS_VERSION_BUILD_NUMBER` variable is now set by + :ref:`Visual Studio Generators` for VS 2017 and above to report the + four-component Visual Studio version number. + +Properties +---------- + +* The :prop_tgt:`_CLANG_TIDY_EXPORT_FIXES_DIR` target property was + added to allow the ``clang-tidy`` tool to export its suggested fixes to a + set of ``.yaml`` files. A new + :variable:`CMAKE__CLANG_TIDY_EXPORT_FIXES_DIR` variable was created to + initialize this property. + +* The :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS >` + target property was added to tell the :generator:`Xcode` generator to + ExtensionKit-based extensions such as extensions using the Background + Assets framework. Aspects of the embedding can be customized with: + + * :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_PATH >` + * :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_CODE_SIGN_ON_COPY _CODE_SIGN_ON_COPY>` + * :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_REMOVE_HEADERS_ON_COPY _REMOVE_HEADERS_ON_COPY>` + +Modules +------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` command gained an ``INSTALL_BYPRODUCTS`` option to specify files generated by the - "install" step. + ``install`` step. -* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field has - been updated to 2.5. +* The :module:`FindCUDAToolkit` module: -* The :manual:`cmake-file-api(7)` "codemodel" version 2 "target" object - gained a new ``fileSets`` field and associated ``fileSetIndex`` - field to ``sources`` objects. + * gained support for the ``sbsa-linux`` cross compilation target, and -* The :module:`FindCUDAToolkit` gained support for the `sbsa-linux` cross compilation target + * now provides an imported target for ``nvrtc_static``, if found. -* The :module:`FindCUDAToolkit` module now provides a target for - ``libnvrtc_static``, if found. +* The :module:`FindImageMagick` module now provides imported targets. -* The :module:`FindPython3` and :module:`FindPython` modules gain the support - of the - `Stable Application Binary Interface `_. +* The :module:`FindPython3` and :module:`FindPython` modules gained + support for the `Stable Application Binary Interface`_. -* The :variable:`CMAKE__COMPILER_FRONTEND_VARIANT` variable is now - set for ``GNU``, ``MSVC``, and ``AppleClang`` compilers that have only - one frontend variant. +* The :module:`UseSWIG` module gained the support for the ``perl5`` language. + +.. _`Stable Application Binary Interface`: https://docs.python.org/3/c-api/stable.html + +Generator Expressions +--------------------- + +* The :genex:`$` generator expression was added to + prevent usage requirements from being exported to dependent projects. + +CTest +----- + +* The :envvar:`CTEST_NO_TESTS_ACTION` environment variable was added to + provide a default value for the + :option:`--no-tests=\ ` command line + argument of :manual:`ctest(1)`. + +Deprecated and Removed Features +=============================== + +* The ``CMakeFiles/CMakeOutput.log`` and ``CMakeFiles/CMakeError.log`` + files are no longer populated by CMake's builtin modules, and + :manual:`cmake(1)` no longer suggests looking at them after a + ``CMake Error`` occurs. Information previously logged to those + files is instead logged to ``CMakeFiles/CMakeConfigureLog.yaml``, + the :manual:`cmake-configure-log(7)`. + +* On CYGWIN, the undocumented ``CMAKE_LEGACY_CYGWIN_WIN32`` mode for + compatibility with CMake versions older than 2.8.4 has been removed. + +Other Changes +============= * :ref:`Language Standard Flags`, such as ``-std=c++11``, when generated due to :command:`target_compile_features` or :variable:`CMAKE__STANDARD`, are now placed before flags added by :command:`target_compile_options`, rather than after them. -* The ``ASM_MARMASM`` language was added to support the Microsoft ARM assembler language. +* For all ``COMPILE_DEFINITIONS`` properties, any leading ``-D`` on an item + is removed whether or not it was specified by a generator expression. -* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands - now support the ``%z`` and ``%Z`` specifiers for the time zone. +* The ``compile_commands.json`` database enabled by + :variable:`CMAKE_EXPORT_COMPILE_COMMANDS` now provides the ``output`` + field in the compile commands objects. This allows multi-config + generators, such as the :generator:`Ninja Multi-Config` generator, + to provide the compile commands for all configurations. + +* The :prop_gbl:`USE_FOLDERS` global property is treated as ``ON`` by default. + See policy :policy:`CMP0143`. * The top-level :command:`project` call will now emit an author warning if the documented command order in relation to :command:`cmake_minimum_required` is @@ -98,21 +170,3 @@ Changes made since CMake 3.25 include the following. * The :option:`cmake --trace` option now follows :command:`try_compile` and :command:`try_run` invocations. - -* Global property :prop_gbl:`USE_FOLDERS` is treated as ``ON`` by default. - See policy :policy:`CMP0143`. - -* The :module:`UseSWIG` module gained the support of ``perl5`` language. - -* A :variable:`CMAKE_VS_VERSION_BUILD_NUMBER` variable is now set by - :ref:`Visual Studio Generators` for VS 2017 and above to report the - four-component Visual Studio version number. - -* The :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS >` target property - was added to tell the :generator:`Xcode` generator to ExtensionKit-based extensions - such as extensions using the Background Assets framework. - Aspects of the embedding can be customized with the - :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_PATH >`, - :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_CODE_SIGN_ON_COPY _CODE_SIGN_ON_COPY>` and - :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_REMOVE_HEADERS_ON_COPY _REMOVE_HEADERS_ON_COPY>` - properties. -- cgit v0.12