Commit 9a68b493 authored by Brad King's avatar Brad King Committed by Kitware Robot
Browse files

Merge topic 'doc-3.20-relnotes'

a30d096c Help: Update Sphinx versionadded directives for 3.20 release
704878e3 Help: Organize and revise 3.20 release notes
49116367

 Help: Consolidate 3.20 release notes
Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
Merge-request: !5790
parents ea07176b a30d096c
Pipeline #213685 canceled with stages
in 8 minutes and 49 seconds
fileapi-toolchains
------------------
* The :manual:`cmake-file-api(7)` gained a new "toolchains" object
kind that describes the compiler used for each enabled language.
install-files-rename-genex
--------------------------
* The :command:`install(FILES)` command ``RENAME`` option learned to
support :manual:`generator expressions <cmake-generator-expressions(7)>`.
intel-llvm-compilers
--------------------
* The Intel oneAPI NextGen LLVM compilers are now supported with
compiler id ``IntelLLVM``:
* The ``icx``/``icpx`` C/C++ compilers on Linux, and the ``icx``
C/C++ compiler on Windows, are fully supported as of oneAPI 2021.1.
* The ``ifx`` Fortran compiler on Linux is partially supported.
As of oneAPI 2021.1, ``ifx`` does not define several identification
macros, so CMake identifies it as the classic ``Intel`` compiler.
This works in many cases because ``ifx`` accepts the same command line
parameters as ``ifort``.
* The ``ifx`` Fortran compiler on Windows is not yet supported.
The Intel oneAPI Classic compilers (``icc``, ``icpc``, and ``ifort``)
continue to be supported with compiler id ``Intel``.
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`.
makefile-depfile
----------------
* The :command:`add_custom_command` command gained ``DEPFILE`` support on
:ref:`Makefile Generators`.
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.
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`.
ninja-depfile-transformation
----------------------------
* Ninja generators now transform ``DEPFILE`` s from
:command:`add_custom_command`. See policy :policy:`CMP0116` for details.
nvhpc-compiler
--------------
* The NVIDIA HPC SDK compilers are now supported with compiler id ``NVHPC``.
object-lib-multiarch
--------------------
* The :command:`add_library` command previously prohibited imported object
libraries when using potentially multi-architecture configurations.
This mostly affected the :generator:`Xcode` generator, e.g. when targeting
iOS or one of the other device platforms. This restriction has now been
removed.
qt-autogen-per-config
---------------------
* The :ref:`Qt AUTOMOC` feature now works with per-config sources.
rel-package-names
-----------------
* The precompiled Linux binaries provided on ``cmake.org`` have changed
their naming pattern to ``cmake-$ver-linux-$arch``, where ``$arch``
is either ``x86_64`` or ``aarch64``.
* The precompiled Windows binaries provided on ``cmake.org`` have changed
their naming pattern to ``cmake-$ver-windows-$arch``, where ``$arch``
is either ``x86_64`` or ``i386``.
remove-WCDH-module
------------------
* The :module:`WriteCompilerDetectionHeader` module has been deprecated
via policy :policy:`CMP0120`. Projects should be ported away from it.
remove-server-mode
------------------
* The :manual:`cmake-server(7)` mode has been removed.
Clients should use the :manual:`cmake-file-api(7)` instead.
target-sources-supports-custom-target
-------------------------------------
* The :command:`target_sources` now supports custom targets.
try_run-allow-to-set-working-directory
--------------------------------------
* The :command:`try_run` command gained a ``WORKING_DIRECTORY`` option to
support setting of working directory.
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.
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.
......@@ -15,6 +15,7 @@ Releases
.. toctree::
:maxdepth: 1
3.20 <3.20>
3.19 <3.19>
3.18 <3.18>
3.17 <3.17>
......
CMAKE_UNITY_BUILD_UNIQUE_ID
---------------------------
.. versionadded:: 3.20
This variable is used to initialize the :prop_tgt:`UNITY_BUILD_UNIQUE_ID`
property of targets when they are created. It specifies the name of the
unique identifier generated per file in a unity build.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment