diff options
Diffstat (limited to 'Help/release')
31 files changed, 181 insertions, 40 deletions
diff --git a/Help/release/3.15.rst b/Help/release/3.15.rst index 6b1a800..de3ced0 100644 --- a/Help/release/3.15.rst +++ b/Help/release/3.15.rst @@ -243,46 +243,42 @@ Modules Generator Expressions --------------------- -* The :manual:`generator expressions <cmake-generator-expressions(7)>` - ``C_COMPILER_ID``, ``CXX_COMPILER_ID``, ``CUDA_COMPILER_ID``, - ``Fortran_COMPILER_ID``, ``COMPILE_LANGUAGE``, ``COMPILE_LANG_AND_ID``, and - ``PLATFORM_ID`` learned to support matching one value from a comma-separated - list. +* The generator expressions :genex:`$<C_COMPILER_ID>`, + :genex:`$<CXX_COMPILER_ID>`, :genex:`$<CUDA_COMPILER_ID>`, + :genex:`$<Fortran_COMPILER_ID>`, :genex:`$<COMPILE_LANGUAGE>`, + :genex:`$<COMPILE_LANG_AND_ID>`, and :genex:`$<PLATFORM_ID>` learned to + support matching one value from a comma-separated list. -* The ``$<CUDA_COMPILER_ID:...>`` and ``$<CUDA_COMPILER_VERSION:...>`` - :manual:`generator expressions <cmake-generator-expressions(7)>` were added. +* The :genex:`$<CUDA_COMPILER_ID:...>` and :genex:`$<CUDA_COMPILER_VERSION:...>` + generator expressions were added. -* The ``$<COMPILE_LANG_AND_ID:...>`` generator expression was introduced to +* The :genex:`$<COMPILE_LANG_AND_ID:...>` generator expression was introduced to allow specification of compile options for target files based on the :variable:`CMAKE_<LANG>_COMPILER_ID` and :prop_sf:`LANGUAGE` of each source file. -* A ``$<FILTER:list,INCLUDE|EXCLUDE,regex>`` - :manual:`generator expression <cmake-generator-expressions(7)>` - has been added. +* A :genex:`$<FILTER:list,INCLUDE|EXCLUDE,regex>` generator expression has + been added. -* A ``$<REMOVE_DUPLICATES:list>`` - :manual:`generator expression <cmake-generator-expressions(7)>` - has been added. +* A :genex:`$<REMOVE_DUPLICATES:list>` generator expression has been added. -* The ``$<SHELL_PATH:...>`` :manual:`generator expression - <cmake-generator-expressions(7)>` gained support for a list of paths. +* The :genex:`$<SHELL_PATH:...>` generator expression gained support for a + list of paths. * New ``$<TARGET_FILE*>`` :manual:`generator expressions <cmake-generator-expressions(7)>` were added to retrieve the prefix, base name, and suffix of the file names of various artifacts: - * ``$<TARGET_FILE_PREFIX:...>`` - * ``$<TARGET_FILE_BASE_NAME:...>`` - * ``$<TARGET_FILE_SUFFIX:...>`` - * ``$<TARGET_LINKER_FILE_PREFIX:...>`` - * ``$<TARGET_LINKER_FILE_BASE_NAME:...>`` - * ``$<TARGET_LINKER_FILE_SUFFIX:...>`` - * ``$<TARGET_PDB_FILE_BASE_NAME:...>`` - -* The ``$<TARGET_OBJECTS:...>`` :manual:`generator expression - <cmake-generator-expressions(7)>` is now supported on ``SHARED``, - ``STATIC``, ``MODULE`` libraries and executables. + * :genex:`$<TARGET_FILE_PREFIX:...>` + * :genex:`$<TARGET_FILE_BASE_NAME:...>` + * :genex:`$<TARGET_FILE_SUFFIX:...>` + * :genex:`$<TARGET_LINKER_FILE_PREFIX:...>` + * :genex:`$<TARGET_LINKER_FILE_BASE_NAME:...>` + * :genex:`$<TARGET_LINKER_FILE_SUFFIX:...>` + * :genex:`$<TARGET_PDB_FILE_BASE_NAME:...>` + +* The :genex:`$<TARGET_OBJECTS:...>` generator expression is now supported + on ``SHARED``, ``STATIC``, ``MODULE`` libraries and executables. CTest ----- diff --git a/Help/release/3.17.rst b/Help/release/3.17.rst index 1aa475f..a27d638 100644 --- a/Help/release/3.17.rst +++ b/Help/release/3.17.rst @@ -140,7 +140,7 @@ Properties * The :prop_tgt:`INSTALL_NAME_DIR` target property now supports :manual:`generator expressions <cmake-generator-expressions(7)>`. - In particular, the ``$<INSTALL_PREFIX>`` generator expression can + In particular, the :genex:`$<INSTALL_PREFIX>` generator expression can be used to set the directory relative to the install-time prefix. * Target properties :prop_tgt:`MACHO_COMPATIBILITY_VERSION` and diff --git a/Help/release/3.18.rst b/Help/release/3.18.rst index f97e4df..c120b9f 100644 --- a/Help/release/3.18.rst +++ b/Help/release/3.18.rst @@ -211,12 +211,11 @@ Modules Generator Expressions --------------------- -* The ``$<DEVICE_LINK:...>`` and ``$<HOST_LINK:...>`` - :manual:`generator expressions <cmake-generator-expressions(7)>` were added - to manage device and host link steps. +* The :genex:`$<DEVICE_LINK:...>` and :genex:`$<HOST_LINK:...>` + generator expressions were added to manage device and host link steps. -* The ``$<LINK_LANGUAGE:...>`` and ``$<LINK_LANG_AND_ID:...>`` - :manual:`generator expressions <cmake-generator-expressions(7)>` were added. +* The :genex:`$<LINK_LANGUAGE:...>` and :genex:`$<LINK_LANG_AND_ID:...>` + generator expressions were added. CTest ----- diff --git a/Help/release/3.20.rst b/Help/release/3.20.rst index 40cac41..ebd0f91 100644 --- a/Help/release/3.20.rst +++ b/Help/release/3.20.rst @@ -86,8 +86,8 @@ Commands 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 + support for new generator expressions :genex:`$<COMMAND_CONFIG:...>` and + :genex:`$<OUTPUT_CONFIG:...>` that control cross-config handling when using the :generator:`Ninja Multi-Config` generator. * The :command:`add_custom_command` command gained ``DEPFILE`` support on diff --git a/Help/release/3.23.rst b/Help/release/3.23.rst index 6376d77..5d85777 100644 --- a/Help/release/3.23.rst +++ b/Help/release/3.23.rst @@ -274,8 +274,8 @@ Other Changes * tries to detect invalid architectures and issue an error. * ``CUDA`` with Clang now implements policy :policy:`CMP0105` and - the ``$<DEVICE_LINK:...>`` and ``$<HOST_LINK:...>`` - :manual:`generator expressions <cmake-generator-expressions(7)>`. + the :genex:`$<DEVICE_LINK:...>` and :genex:`$<HOST_LINK:...>` + generator expressions. * The :command:`define_property` command's ``BRIEF_DOCS`` and ``FULL_DOCS`` arguments are now optional. diff --git a/Help/release/3.9.rst b/Help/release/3.9.rst index 89da627..09e4ea6 100644 --- a/Help/release/3.9.rst +++ b/Help/release/3.9.rst @@ -256,11 +256,11 @@ Other :command:`file(GENERATE)` commands. * Two new informational generator expressions to retrieve Apple Bundle - directories have been added. The first one ``$<TARGET_BUNDLE_DIR:tgt>`` + directories have been added. The first one :genex:`$<TARGET_BUNDLE_DIR:tgt>` outputs the full path to the Bundle directory, the other one - ``$<TARGET_BUNDLE_CONTENT_DIR:tgt>`` outputs the full path to the + :genex:`$<TARGET_BUNDLE_CONTENT_DIR:tgt>` outputs the full path to the ``Contents`` directory of macOS Bundles and App Bundles. For all other - bundle types and SDKs it is identical with ``$<TARGET_BUNDLE_DIR:tgt>``. + bundle types and SDKs it is identical with :genex:`$<TARGET_BUNDLE_DIR:tgt>`. The new expressions are helpful to query Bundle locations independent of the different Bundle types and layouts on macOS and iOS. 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/COMPILE_DEFINITIONS-property-cleanup.rst b/Help/release/dev/COMPILE_DEFINITIONS-property-cleanup.rst new file mode 100644 index 0000000..e24bc26 --- /dev/null +++ b/Help/release/dev/COMPILE_DEFINITIONS-property-cleanup.rst @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..233596f --- /dev/null +++ b/Help/release/dev/ExternalProject-INSTALL_BYPRODUCTS.rst @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..55ddb99 --- /dev/null +++ b/Help/release/dev/FindCUDAToolkit-arm64-sbsa.rst @@ -0,0 +1,4 @@ +FindCUDAToolkit-arm64-sbsa +-------------------------- + +* The :module:`FindCUDAToolkit` gained support for the `sbsa-linux` cross compilation target diff --git a/Help/release/dev/FindPython-Stable-ABI.rst b/Help/release/dev/FindPython-Stable-ABI.rst new file mode 100644 index 0000000..c6a06b9 --- /dev/null +++ b/Help/release/dev/FindPython-Stable-ABI.rst @@ -0,0 +1,6 @@ +FindPython-Stable-ABI +--------------------- + +* The :module:`FindPython3` and :module:`FindPython` modules gain the support + of the + `Stable Application Binary Interface <https://docs.python.org/3/c-api/stable.html>`_. diff --git a/Help/release/dev/UseSWIG-perl5.rst b/Help/release/dev/UseSWIG-perl5.rst new file mode 100644 index 0000000..67d4161 --- /dev/null +++ b/Help/release/dev/UseSWIG-perl5.rst @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..7fe702e --- /dev/null +++ b/Help/release/dev/build-local-interface-genex.rst @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..edb7ed5 --- /dev/null +++ b/Help/release/dev/clang-tidy-export-fixes-dir.rst @@ -0,0 +1,8 @@ +clang-tidy-export-fixes-dir +--------------------------- + +* A new :prop_tgt:`<LANG>_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_<LANG>_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 new file mode 100644 index 0000000..6e642c0 --- /dev/null +++ b/Help/release/dev/cmake-E-copy-directory-if-different.rst @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..ca897d3 --- /dev/null +++ b/Help/release/dev/cmake-E-copy-t-arg.rst @@ -0,0 +1,4 @@ +cmake-E-copy-t-arg +------------------ + +* The :option:`cmake -E copy <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 new file mode 100644 index 0000000..110fd4e --- /dev/null +++ b/Help/release/dev/compile-commands-output-field.rst @@ -0,0 +1,7 @@ +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 new file mode 100644 index 0000000..34b8fb3 --- /dev/null +++ b/Help/release/dev/configure-log.rst @@ -0,0 +1,8 @@ +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)`. diff --git a/Help/release/dev/custom-command-comment-genex.rst b/Help/release/dev/custom-command-comment-genex.rst new file mode 100644 index 0000000..f9402f2 --- /dev/null +++ b/Help/release/dev/custom-command-comment-genex.rst @@ -0,0 +1,6 @@ +custom-command-comment-genex +---------------------------- + +* :command:`add_custom_command` and :command:`add_custom_target` now + support :manual:`generator expressions <cmake-generator-expressions(7)>` + in their ``COMMENT`` option. diff --git a/Help/release/dev/cxx-scanning-properties.rst b/Help/release/dev/cxx-scanning-properties.rst new file mode 100644 index 0000000..b393728 --- /dev/null +++ b/Help/release/dev/cxx-scanning-properties.rst @@ -0,0 +1,5 @@ +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/release/dev/file-api-file-sets.rst b/Help/release/dev/file-api-file-sets.rst new file mode 100644 index 0000000..8a8b8d3 --- /dev/null +++ b/Help/release/dev/file-api-file-sets.rst @@ -0,0 +1,9 @@ +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 new file mode 100644 index 0000000..111175c --- /dev/null +++ b/Help/release/dev/frontend-variant-always.rst @@ -0,0 +1,6 @@ +frontend-variant-always +----------------------- + +* The :variable:`CMAKE_<LANG>_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 new file mode 100644 index 0000000..4ef4123 --- /dev/null +++ b/Help/release/dev/lang-std-flag-order.rst @@ -0,0 +1,7 @@ +lang-std-flag-order +------------------- + +* :ref:`Language Standard Flags`, such as ``-std=c++11``, when generated due + to :command:`target_compile_features` or :variable:`CMAKE_<LANG>_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 new file mode 100644 index 0000000..2101e6c --- /dev/null +++ b/Help/release/dev/marmasm-language.rst @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..178fa9a --- /dev/null +++ b/Help/release/dev/timestamp-timezone.rst @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..07f87fb --- /dev/null +++ b/Help/release/dev/top-level-command-order.rst @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..886aaad --- /dev/null +++ b/Help/release/dev/trace-try_compile.rst @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..4e91c2e --- /dev/null +++ b/Help/release/dev/use-folder-on-by-default.rst @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..09daab7 --- /dev/null +++ b/Help/release/dev/vs-version-var.rst @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..b77b4ec --- /dev/null +++ b/Help/release/dev/xcode-ios-extensionkit.rst @@ -0,0 +1,11 @@ +xcode-ios-extensionkit +---------------------- + +* The :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS <XCODE_EMBED_<type>>` 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 <XCODE_EMBED_<type>>`, + :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_CODE_SIGN_ON_COPY <XCODE_EMBED_<type>_CODE_SIGN_ON_COPY>` and + :prop_tgt:`XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_REMOVE_HEADERS_ON_COPY <XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY>` + properties. diff --git a/Help/release/index.rst b/Help/release/index.rst index b6ecf7b..50e06bb 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 ======== |
