diff options
Diffstat (limited to 'Help/release')
40 files changed, 263 insertions, 0 deletions
diff --git a/Help/release/dev/0-sample-topic.rst b/Help/release/dev/0-sample-topic.rst new file mode 100644 index 0000000..e4cc01e --- /dev/null +++ b/Help/release/dev/0-sample-topic.rst @@ -0,0 +1,7 @@ +0-sample-topic +-------------- + +* This is a sample release note for the change in a topic. + Developers should add similar notes for each topic branch + making a noteworthy change. Each document should be named + and titled to match the topic name to avoid merge conflicts. diff --git a/Help/release/dev/ExternalData-suppress-progress.rst b/Help/release/dev/ExternalData-suppress-progress.rst new file mode 100644 index 0000000..bf4183f --- /dev/null +++ b/Help/release/dev/ExternalData-suppress-progress.rst @@ -0,0 +1,6 @@ +ExternalData-suppress-progress +------------------------------ + +* The :module:`ExternalData` module ``ExternalData_add_target`` now supports a + ``SHOW_PROGRESS <bool>`` argument to suppress progress output during the + build. diff --git a/Help/release/dev/FindIntl-imported-target.rst b/Help/release/dev/FindIntl-imported-target.rst new file mode 100644 index 0000000..5770f21 --- /dev/null +++ b/Help/release/dev/FindIntl-imported-target.rst @@ -0,0 +1,4 @@ +FindIntl-imported-target +------------------------ + +* The :module:`FindIntl` module now provides an imported target. diff --git a/Help/release/dev/FindPython-FIND_UNVERSIONED_NAMES.rst b/Help/release/dev/FindPython-FIND_UNVERSIONED_NAMES.rst new file mode 100644 index 0000000..a0b5838 --- /dev/null +++ b/Help/release/dev/FindPython-FIND_UNVERSIONED_NAMES.rst @@ -0,0 +1,6 @@ +FindPython-FIND_UNVERSIONED_NAMES +--------------------------------- + +* Modules :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython` + gain the capability to control how interpreter unversioned names are + searched. diff --git a/Help/release/dev/Java-export-native_headers-target.rst b/Help/release/dev/Java-export-native_headers-target.rst new file mode 100644 index 0000000..13b6dfb --- /dev/null +++ b/Help/release/dev/Java-export-native_headers-target.rst @@ -0,0 +1,6 @@ +Java-export-native_headers-target +--------------------------------- + +* ``add_jar()`` command, from :module:`UseJava` module, gains new capabilities + for ``GENERATE_NATIVE_HEADERS`` option. These capabilities facilitate the + exportation of the generated target. diff --git a/Help/release/dev/TestBigEndian-use-abi-result.rst b/Help/release/dev/TestBigEndian-use-abi-result.rst new file mode 100644 index 0000000..1a5bf7f --- /dev/null +++ b/Help/release/dev/TestBigEndian-use-abi-result.rst @@ -0,0 +1,5 @@ +TestBigEndian-use-abi-result +---------------------------- + +* The :module:`TestBigEndian` module has been deprecated in favor + of the :variable:`CMAKE_<LANG>_BYTE_ORDER` variable. diff --git a/Help/release/dev/abi-byte-order.rst b/Help/release/dev/abi-byte-order.rst new file mode 100644 index 0000000..e8beebc --- /dev/null +++ b/Help/release/dev/abi-byte-order.rst @@ -0,0 +1,5 @@ +abi-byte-order +-------------- + +* The :variable:`CMAKE_<LANG>_BYTE_ORDER` variable was added to provide the + target architecture byte order detected from the toolchain. diff --git a/Help/release/dev/after-option-in-target_include-directories.rst b/Help/release/dev/after-option-in-target_include-directories.rst new file mode 100644 index 0000000..f61026c --- /dev/null +++ b/Help/release/dev/after-option-in-target_include-directories.rst @@ -0,0 +1,5 @@ +after-option-in-target_include-directories.rst +---------------------------------------------- + +* The :command:`target_include_directories` command gained a new option + ``AFTER``. diff --git a/Help/release/dev/android-ndk.rst b/Help/release/dev/android-ndk.rst new file mode 100644 index 0000000..ee4ea5b --- /dev/null +++ b/Help/release/dev/android-ndk.rst @@ -0,0 +1,12 @@ +android-ndk +----------- + +* CMake's support for :ref:`Cross Compiling for Android` + is now merged with the Android NDK's toolchain file. + They now have similar behavior, though some variable names differ. + User-facing changes include: + + - ``find_*`` functions will search NDK ABI / API specific paths by default. + + - The default :variable:`CMAKE_BUILD_TYPE` for Android is + now ``RelWithDebInfo``. diff --git a/Help/release/dev/clang-tidy-objc.rst b/Help/release/dev/clang-tidy-objc.rst new file mode 100644 index 0000000..c899257 --- /dev/null +++ b/Help/release/dev/clang-tidy-objc.rst @@ -0,0 +1,5 @@ +clang-tidy-objc +--------------- + +* The target property :prop_tgt:`<LANG>_CLANG_TIDY` and the associated + variable :variable:`CMAKE_<LANG>_CLANG_TIDY` learned to support OBJC and OBJCXX. diff --git a/Help/release/dev/clang-win32-subsystem.rst b/Help/release/dev/clang-win32-subsystem.rst new file mode 100644 index 0000000..c970f53 --- /dev/null +++ b/Help/release/dev/clang-win32-subsystem.rst @@ -0,0 +1,4 @@ +clang-win32-subsystem +--------------------- + +* :prop_tgt:`WIN32_EXECUTABLE` now works on Windows with Clang. diff --git a/Help/release/dev/cmake_path.rst b/Help/release/dev/cmake_path.rst new file mode 100644 index 0000000..9d252ae --- /dev/null +++ b/Help/release/dev/cmake_path.rst @@ -0,0 +1,5 @@ +cmake_path +---------- + +* The :command:`cmake_path` command was added for operations on + filesystem paths. diff --git a/Help/release/dev/configure_file-user-permissions.rst b/Help/release/dev/configure_file-user-permissions.rst new file mode 100644 index 0000000..b757fb1 --- /dev/null +++ b/Help/release/dev/configure_file-user-permissions.rst @@ -0,0 +1,6 @@ +configure_file-user-permissions +------------------------------- + +* The :command:`configure_file` command gained a ``USE_SOURCE_PERMISSIONS`` + and ``FILE_PERMISSIONS`` option to support copying of permissions of source + file and specifying user defined permissions. diff --git a/Help/release/dev/cpack-nsis-utf-8-bom.rst b/Help/release/dev/cpack-nsis-utf-8-bom.rst new file mode 100644 index 0000000..b2a20ce --- /dev/null +++ b/Help/release/dev/cpack-nsis-utf-8-bom.rst @@ -0,0 +1,6 @@ +cpack-nsis-utf8-bom +------------------- + +* The :cpack_gen:`CPack NSIS Generator` now handles correctly Unicode characters. + If you want to have a ``CPACK_RESOURCE_FILE_LICENSE`` with UTF-8 characters + it needs to be encoded in UTF-8 BOM. diff --git a/Help/release/dev/cpack-nuget.rst b/Help/release/dev/cpack-nuget.rst new file mode 100644 index 0000000..2c28b59 --- /dev/null +++ b/Help/release/dev/cpack-nuget.rst @@ -0,0 +1,31 @@ +cpack-nuget +----------- + +* The :cpack_gen:`CPack NuGet Generator` gained options: + + - :variable:`CPACK_NUGET_PACKAGE_ICON` and + :variable:`CPACK_NUGET_<compName>_PACKAGE_ICON` + allow package icons to be specified by local files. + - :variable:`CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION` and + :variable:`CPACK_NUGET_<compName>_PACKAGE_LICENSE_EXPRESSION` add + support for specifying licenses recognized by the + `Software Package Data Exchange`_ (SPDX). + - :variable:`CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME` and + :variable:`CPACK_NUGET_<compName>_PACKAGE_LICENSE_FILE_NAME` allow + licenses to be specified by local files. + - :variable:`CPACK_NUGET_PACKAGE_LANGUAGE` and + :variable:`CPACK_NUGET_<compName>_PACKAGE_LANGUAGE` allow the locale + for a package to be specified, for example ``en_CA``. + + Some other variables have been deprecated to reflect changes in the + NuGet specification: + + - :variable:`CPACK_NUGET_PACKAGE_ICONURL` and + :variable:`CPACK_NUGET_<compName>_PACKAGE_ICONURL` have been deprecated; + replace with a reference to a local icon file. + - :variable:`CPACK_NUGET_PACKAGE_LICENSEURL` and + :variable:`CPACK_NUGET_<compName>_PACKAGE_LICENSEURL` have been deprecated; + replace with a reference to the project's license file or SPDX + license expression. + +.. _Software Package Data Exchange: https://spdx.org/ diff --git a/Help/release/dev/cpackifw-package-wizard-show-page-list.rst b/Help/release/dev/cpackifw-package-wizard-show-page-list.rst new file mode 100644 index 0000000..ede69f5 --- /dev/null +++ b/Help/release/dev/cpackifw-package-wizard-show-page-list.rst @@ -0,0 +1,7 @@ +cpackifw-package-wizard-show-page-list +-------------------------------------- + +* The :cpack_gen:`CPack IFW Generator` gained new + :variable:`CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST` variable to + control visibility of the widget listing installer pages on the left side + of the wizard. This feature available only since QtIFW 4.0. diff --git a/Help/release/dev/cpp-cuda-23.rst b/Help/release/dev/cpp-cuda-23.rst new file mode 100644 index 0000000..dc7c3b1 --- /dev/null +++ b/Help/release/dev/cpp-cuda-23.rst @@ -0,0 +1,7 @@ +cpp-cuda-23 +----------- + +* :prop_tgt:`CXX_STANDARD`, :prop_tgt:`CUDA_STANDARD`, + :prop_tgt:`OBJCXX_STANDARD` and the + :manual:`Compile Features <cmake-compile-features(7)>` functionality gained + support for C++23. diff --git a/Help/release/dev/ctest-test-dir.rst b/Help/release/dev/ctest-test-dir.rst new file mode 100644 index 0000000..ab8d618 --- /dev/null +++ b/Help/release/dev/ctest-test-dir.rst @@ -0,0 +1,5 @@ +ctest-test-dir.rst +------------------ + +* :manual:`ctest(1)` gained a ``--test-dir`` option to specify the directory + in which to look for tests. diff --git a/Help/release/dev/cuda-archs-env.rst b/Help/release/dev/cuda-archs-env.rst new file mode 100644 index 0000000..a2afcbe --- /dev/null +++ b/Help/release/dev/cuda-archs-env.rst @@ -0,0 +1,6 @@ +cuda-archs-env +-------------- + +* The :envvar:`CUDAARCHS` environment variable was added for initializing + :variable:`CMAKE_CUDA_ARCHITECTURES`. Useful in cases where the compiler + default is unsuitable for the machine's GPU. diff --git a/Help/release/dev/cuda-nvcc-ccache-symlink.rst b/Help/release/dev/cuda-nvcc-ccache-symlink.rst new file mode 100644 index 0000000..4d38047 --- /dev/null +++ b/Help/release/dev/cuda-nvcc-ccache-symlink.rst @@ -0,0 +1,9 @@ +cuda-nvcc-ccache-symlink +------------------------ + +* ``CUDA`` language support now works when ``nvcc`` is a symbolic link, + for example due to a ``ccache`` or ``colornvcc`` wrapper script. + +* The :module:`FindCUDAToolkit` module gained support for finding CUDA + toolkits when ``nvcc`` is a symbolic link, + for example due to a ``ccache`` or ``colornvcc`` wrapper script. diff --git a/Help/release/dev/custom-command-output-genex.rst b/Help/release/dev/custom-command-output-genex.rst new file mode 100644 index 0000000..471713a --- /dev/null +++ b/Help/release/dev/custom-command-output-genex.rst @@ -0,0 +1,11 @@ +custom-command-output-genex +--------------------------- + +* :command:`add_custom_command` and :command:`add_custom_target` now + support :manual:`generator expressions <cmake-generator-expressions(7)>` + in their ``OUTPUT`` and ``BYPRODUCTS`` options. + + Their ``COMMAND``, ``WORKING_DIRECTORY``, and ``DEPENDS`` options gained + support for new generator expressions ``$<COMMAND_CONFIG:...>`` and + ``$<OUTPUT_CONFIG:...>`` that control cross-config handling when using + the :generator:`Ninja Multi-Config` generator. diff --git a/Help/release/dev/explicit-LANGUAGE-flag.rst b/Help/release/dev/explicit-LANGUAGE-flag.rst new file mode 100644 index 0000000..4de4a47 --- /dev/null +++ b/Help/release/dev/explicit-LANGUAGE-flag.rst @@ -0,0 +1,5 @@ +explicit-LANGUAGE-flag +---------------------- + +* The :prop_sf:`LANGUAGE` source file property now forces compilation + as the specified language. See policy :policy:`CMP0119`. diff --git a/Help/release/dev/explicit-source-extensions.rst b/Help/release/dev/explicit-source-extensions.rst new file mode 100644 index 0000000..ccd9339 --- /dev/null +++ b/Help/release/dev/explicit-source-extensions.rst @@ -0,0 +1,5 @@ +explicit-source-extensions +-------------------------- + +* Source file extensions must now be explicit. See policy :policy:`CMP0115` for + details. diff --git a/Help/release/dev/export-compile-commands-per-target.rst b/Help/release/dev/export-compile-commands-per-target.rst new file mode 100644 index 0000000..7063547 --- /dev/null +++ b/Help/release/dev/export-compile-commands-per-target.rst @@ -0,0 +1,6 @@ +export-compile-commands-per-target +---------------------------------- + +* The :prop_tgt:`EXPORT_COMPILE_COMMANDS` target property was added + for the associated :variable:`CMAKE_EXPORT_COMPILE_COMMANDS` variable + to allow for configuration of exporting compile commands per target. diff --git a/Help/release/dev/external-project-configure-handled-by-build.rst b/Help/release/dev/external-project-configure-handled-by-build.rst new file mode 100644 index 0000000..4a1fac8 --- /dev/null +++ b/Help/release/dev/external-project-configure-handled-by-build.rst @@ -0,0 +1,8 @@ +external-project-configure-handled-by-build +------------------------------------------- + +* The :module:`ExternalProject` function ``ExternalProject_Add`` learned a new + ``CONFIGURE_HANDLED_BY_BUILD`` option to have subsequent runs of the configure + step be triggered by the build step when an external project dependency + rebuilds instead of always rerunning the configure step when an external + project dependency rebuilds. diff --git a/Help/release/dev/file-generate-permissions.rst b/Help/release/dev/file-generate-permissions.rst new file mode 100644 index 0000000..d1a4d42 --- /dev/null +++ b/Help/release/dev/file-generate-permissions.rst @@ -0,0 +1,6 @@ +file-generate-permissions +------------------------- + +* The :command:`file(GENERATE)` command gained ``NO_SOURCE_PERMISSIONS``, + ``USE_SOURCE_PERMISSIONS``, and ``FILE_PERMISSIONS`` options to support + permissions of the generated file. diff --git a/Help/release/dev/fileapi-toolchains.rst b/Help/release/dev/fileapi-toolchains.rst new file mode 100644 index 0000000..1a096bf --- /dev/null +++ b/Help/release/dev/fileapi-toolchains.rst @@ -0,0 +1,5 @@ +fileapi-toolchains +------------------ + +* The :manual:`cmake-file-api(7)` gained a new "toolchains" object + kind that describes the compiler used for each enabled language. diff --git a/Help/release/dev/install-files-rename-genex.rst b/Help/release/dev/install-files-rename-genex.rst new file mode 100644 index 0000000..f735e24 --- /dev/null +++ b/Help/release/dev/install-files-rename-genex.rst @@ -0,0 +1,5 @@ +install-files-rename-genex +-------------------------- + +* The :command:`install(FILES)` command ``RENAME`` option learned to + support :manual:`generator expressions <cmake-generator-expressions(7)>`. diff --git a/Help/release/dev/make-GENERATED-visible-from-any-scope.rst b/Help/release/dev/make-GENERATED-visible-from-any-scope.rst new file mode 100644 index 0000000..7757175 --- /dev/null +++ b/Help/release/dev/make-GENERATED-visible-from-any-scope.rst @@ -0,0 +1,7 @@ +make-GENERATED-visible-from-any-scope +------------------------------------- + +* The :prop_sf:`GENERATED` source-file property is now visible + from any directory scope, regardles in which scope or for what + scope it was set. + See policy :policy:`CMP0118`. diff --git a/Help/release/dev/makefile-depfile.rst b/Help/release/dev/makefile-depfile.rst new file mode 100644 index 0000000..4a3e5fb --- /dev/null +++ b/Help/release/dev/makefile-depfile.rst @@ -0,0 +1,5 @@ +makefile-depfile +---------------- + +* The :command:`add_custom_command` command gained ``DEPFILE`` support on + :ref:`Makefile Generators`. diff --git a/Help/release/dev/makefiles-dependencies-use-compiler.rst b/Help/release/dev/makefiles-dependencies-use-compiler.rst new file mode 100644 index 0000000..8170cda --- /dev/null +++ b/Help/release/dev/makefiles-dependencies-use-compiler.rst @@ -0,0 +1,5 @@ +makefiles-dependencies-use-compiler +----------------------------------- + +* The :ref:`Makefile Generators` gained the capability, for a selection of + compilers, to use the compiler itself to generate implicit dependencies. diff --git a/Help/release/dev/msvc-no-GR.rst b/Help/release/dev/msvc-no-GR.rst new file mode 100644 index 0000000..e5ca850 --- /dev/null +++ b/Help/release/dev/msvc-no-GR.rst @@ -0,0 +1,7 @@ +msvc-no-GR +---------- + +* With MSVC-like compilers the value of + :variable:`CMAKE_CXX_FLAGS <CMAKE_<LANG>_FLAGS>` no longer contains + the ``/GR`` flag for runtime type information by default. + See policy :policy:`CMP0117`. diff --git a/Help/release/dev/ninja-depfile-transformation.rst b/Help/release/dev/ninja-depfile-transformation.rst new file mode 100644 index 0000000..edf7f58 --- /dev/null +++ b/Help/release/dev/ninja-depfile-transformation.rst @@ -0,0 +1,5 @@ +ninja-depfile-transformation +---------------------------- + +* Ninja generators now transform ``DEPFILE`` s from + :command:`add_custom_command`. See policy :policy:`CMP0116` for details. diff --git a/Help/release/dev/qt-autogen-per-config.rst b/Help/release/dev/qt-autogen-per-config.rst new file mode 100644 index 0000000..6ba929d --- /dev/null +++ b/Help/release/dev/qt-autogen-per-config.rst @@ -0,0 +1,4 @@ +qt-autogen-per-config +--------------------- + +* The :ref:`Qt AUTOMOC` feature now works with per-config sources. diff --git a/Help/release/dev/remove-WCDH-module.rst b/Help/release/dev/remove-WCDH-module.rst new file mode 100644 index 0000000..4ea951a --- /dev/null +++ b/Help/release/dev/remove-WCDH-module.rst @@ -0,0 +1,5 @@ +remove-WCDH-module +------------------ + +* The :module:`WriteCompilerDetectionHeader` module has been deprecated + via policy :policy:`CMP0120`. Projects should be ported away from it. diff --git a/Help/release/dev/remove-server-mode.rst b/Help/release/dev/remove-server-mode.rst new file mode 100644 index 0000000..7c986b1 --- /dev/null +++ b/Help/release/dev/remove-server-mode.rst @@ -0,0 +1,5 @@ +remove-server-mode +------------------ + +* The :manual:`cmake-server(7)` mode has been removed. + Clients should use the :manual:`cmake-file-api(7)` instead. diff --git a/Help/release/dev/target-sources-supports-custom-target.rst b/Help/release/dev/target-sources-supports-custom-target.rst new file mode 100644 index 0000000..131fb3a --- /dev/null +++ b/Help/release/dev/target-sources-supports-custom-target.rst @@ -0,0 +1,4 @@ +target-sources-supports-custom-target +------------------------------------- + +* The :command:`target_sources` now supports custom targets. diff --git a/Help/release/dev/unity-build-anonymous-macros.rst b/Help/release/dev/unity-build-anonymous-macros.rst new file mode 100644 index 0000000..ed8fb1a --- /dev/null +++ b/Help/release/dev/unity-build-anonymous-macros.rst @@ -0,0 +1,7 @@ +unity-build-anonymous-macros +---------------------------- + +* The :prop_tgt:`UNITY_BUILD_UNIQUE_ID` target property + was added to support generation of an identifier that is + unique per source file in unity builds. It can help to + resolve duplicate symbol problems with anonymous namespaces. diff --git a/Help/release/dev/xcode-embed-frameworks.rst b/Help/release/dev/xcode-embed-frameworks.rst new file mode 100644 index 0000000..5573fcb --- /dev/null +++ b/Help/release/dev/xcode-embed-frameworks.rst @@ -0,0 +1,9 @@ +xcode-embed-frameworks +---------------------- + +* When using the Xcode generator, it is now possible to embed frameworks + using the new :prop_tgt:`XCODE_EMBED_FRAMEWORKS <XCODE_EMBED_<type>>` + target property. Aspects of the embedding can be customized with the + :prop_tgt:`XCODE_EMBED_FRAMEWORKS_PATH <XCODE_EMBED_<type>>`, + :prop_tgt:`XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY` and + :prop_tgt:`XCODE_EMBED_FRAMEWORKS_REMOVE_HEADERS_ON_COPY` target properties. diff --git a/Help/release/index.rst b/Help/release/index.rst index 6fb0f1a..a8329a6 100644 --- a/Help/release/index.rst +++ b/Help/release/index.rst @@ -7,6 +7,8 @@ CMake Release Notes This file should include the adjacent "dev.txt" file in development versions but not in release versions. +.. include:: dev.txt + Releases ======== |