Merge topic 'doc-3.13-relnotes'

00d96c51c9 Help: Organize and revise 3.13 release notes
2fd2c8cb7e Help: Consolidate 3.13 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Marc Chevrier <marc.chevrier@gmail.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !2426
This commit is contained in:
Brad King
2018-10-03 15:47:10 +00:00
committed by Kitware Robot
42 changed files with 233 additions and 266 deletions

232
Help/release/3.13.rst Normal file
View File

@@ -0,0 +1,232 @@
CMake 3.13 Release Notes
************************
.. only:: html
.. contents::
Changes made since CMake 3.12 include the following.
New Features
============
Generators
----------
* The :ref:`Visual Studio Generators` for VS 2010 and above learned to
support the :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` target property
and supporting :module:`CheckIPOSupported` module.
* The :generator:`Xcode` generator learned to configure more Xcode Scheme
fields. See the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable.
* The :generator:`Green Hills MULTI` generator has been udpated:
- Added support for architecture selection through
:variable:`CMAKE_GENERATOR_PLATFORM`:
e.g. ``arm``, ``ppc``, and ``86``.
- Added support for toolset selection through
:variable:`CMAKE_GENERATOR_TOOLSET`,
e.g. ``comp_201205``, ``comp_201510``, ``comp_201722_beta``.
- Added support for platform selection through ``GHS_TARGET_PLATFORM``,
e.g. ``integrity``, ``linux``, ``standalone``, etc.
- No longer checks that ``arm`` based compilers are installed but ensures
that the correct ``gbuild.exe`` exists.
- No longer hard-codes ARM files, BSP, toolset, or OS locations.
Command-Line
------------
* The :manual:`cmake(1)` command gained the ``-S <source_dir>``
command line option to specify the location of the source directory.
This option can be used independently of ``-B``.
* The :manual:`cmake(1)` command gained the ``-B <build_dir>``
command line option to specify the location of the build directory.
This option can be used independently of ``-S``.
* The :manual:`cmake(1)` ``-E create_symlink`` command can now be used
on Windows.
Commands
--------
* The :command:`add_custom_command` and :command:`add_custom_target` commands
learned to support generator expressions in ``WORKING_DIRECTORY`` options.
* The :command:`add_link_options` command was created to add link
options in the current directory.
* The :command:`install(CODE)` and :command:`install(SCRIPT)` commands
learned to support generator expressions.
* The :command:`install(TARGETS)` command learned to install targets
created outside the current directory.
* The :command:`link_directories` command gained options to control
insertion position.
* The :command:`list(SORT)` command gained options to control the
comparison operation used to order the entries.
* The :command:`math` command gained options for hexadecimal.
* The :command:`target_link_directories` command was created to
specify link directories for targets and their dependents.
* The :command:`target_link_options` command was created to
specify link options for targets and their dependents.
* The :command:`target_link_libraries` command may now be called
to modify targets created outside the current directory.
See policy :policy:`CMP0079`.
Variables
---------
* A :variable:`CMAKE_AUTOGEN_VERBOSE` variable was added to optionally
increase the verbosity of :prop_tgt:`AUTOMOC`, :prop_tgt:`AUTOUIC`
and :prop_tgt:`AUTORCC` from within CMake project code.
* A :variable:`CMAKE_VS_GLOBALS` variable was added to initialize
:prop_tgt:`VS_GLOBAL_<variable>` target properties on targets as
they are created.
Properties
----------
* The :prop_tgt:`DEPLOYMENT_ADDITIONAL_FILES` target property was
added to tell the :generator:`Visual Studio 9 2008` generator
to specify additional files for deployment to WinCE devices
for remote debugging.
* The :prop_tgt:`INTERFACE_LINK_DEPENDS` target property was created
to specify transitive link dependencies on files.
* The :prop_tgt:`LINK_DEPENDS` target property learned to support
:manual:`generator expressions <cmake-generator-expressions(7)>`.
* :prop_tgt:`LINK_DIRECTORIES` and :prop_tgt:`INTERFACE_LINK_DIRECTORIES`
target properties were added to collect link directories for a target
and its dependents. Use the :command:`target_link_directories` command
to set them.
* :prop_tgt:`LINK_OPTIONS` and :prop_tgt:`INTERFACE_LINK_OPTIONS` target
properties were added to collect link options for a target and its
dependents. Use the :command:`target_link_options` command to set them.
* A :prop_dir:`LINK_OPTIONS` directory property was added to collect
link options for targets created under the current directory.
Use the :command:`add_link_options` command to set it.
* A :prop_tgt:`STATIC_LIBRARY_OPTIONS` target property was created
to specify archiver options to use when creating static libraries.
* A :prop_tgt:`VS_DEBUGGER_COMMAND_ARGUMENTS` target property was created to
set the debugging command line arguments with
:ref:`Visual Studio Generators` for VS 2010 and above.
* A :prop_tgt:`VS_DEBUGGER_ENVIRONMENT` target property was created to
set the debugging environment with
:ref:`Visual Studio Generators` for VS 2010 and above.
* The :prop_tgt:`VS_DEBUGGER_COMMAND` and
:prop_tgt:`VS_DEBUGGER_WORKING_DIRECTORY` target properties
now support generator expressions.
Modules
-------
* The :module:`FindCURL` module learned to find debug and release variants
separately.
* The :module:`FindMatlab` module gained new components ``ENGINE_LIBRARY`` and
``DATAARRAY_LIBRARY`` to request finding the Matlab C++ Engine and DataArray
libraries respectively.
* The :module:`FindMatlab` module now explicitly exports mexFunction in Visual
Studio.
* The :module:`FindMatlab` module gained a new ``MCC_COMPILER``
component to request finding the Matlab Compiler add-on.
* The :module:`FindPkgConfig` module gained an option to create imported
targets in global scope.
* Modules :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython`
gain capability to control order of resource lookup on macOS (Framework) and
Windows (Registry).
* The :module:`FindSubversion` module ``Subversion_WC_INFO`` command
gained an ``IGNORE_SVN_FAILURE`` option to suppress failures,
e.g. when the source tree is not under Subversion control.
* The :module:`UseSWIG` module learned to manage target property
:prop_tgt:`INCLUDE_DIRECTORIES` for ``SWIG`` compilation.
CTest
-----
* :manual:`ctest(1)` gained a ``--progress`` option to enable a live
test progress summary when output goes to a terminal.
CPack
-----
* The :cpack_gen:`CPack Deb Generator` learned to split debug symbols into
a corresponding .ddeb package when ``CPACK_DEBIAN_DEBUGINFO_PACKAGE`` is
set.
* The :cpack_gen:`CPack Deb Generator` learned to honor the ``SOURCE_DATE_EPOCH``
environment variable when packaging files. This is useful for generating
reproducible packages.
* CPack gained a new :cpack_gen:`CPack External Generator` which is used to
export the CPack metadata in a format that other software can understand. The
intention of this generator is to allow external packaging software to take
advantage of CPack's features when it may not be possible to use CPack for
the entire packaging process.
Deprecated and Removed Features
===============================
* An explicit deprecation diagnostic was added for policies ``CMP0055``
through ``CMP0063`` (``CMP0054`` and below were already deprecated).
The :manual:`cmake-policies(7)` manual explains that the OLD behaviors
of all policies are deprecated and that projects should port to the
NEW behaviors.
Other Changes
=============
* The :command:`option` command now honors existing normal variables instead
of replacing them with a cache entry. See policy :policy:`CMP0077`.
* The :ref:`Makefile Generators` learned to remove custom command and
custom target byproducts during ``make clean``.
* The :command:`target_sources` command now interprets relative source file
paths as relative to the current source directory. This simplifies
incrementally building up a target's sources from subdirectories. The
:policy:`CMP0076` policy was added to provide backward compatibility with
the old behavior where required.
* The :module:`BundleUtilities` module may no longer be included at configure
time. This was always a bug anyway. See policy :policy:`CMP0080`.
* The :module:`UseSWIG` module has changed strategy for target naming.
See policy :policy:`CMP0078`.
* The :prop_tgt:`LINK_DIRECTORIES` target property now expects absolute paths.
See policy :policy:`CMP0081`.
* The CPack generators have been moved into their own separate section
in the documentation, rather than having the documentation in their
internal implementation modules.
These internal implementation modules are also no longer available
to scripts that may have been incorrectly including them, because
they should never have been available in the first place.

View File

@@ -1,6 +0,0 @@
CMAKE_AUTOGEN_VERBOSE
---------------------
* The new variable :variable:`CMAKE_AUTOGEN_VERBOSE` allows
to increase the verbosity of :prop_tgt:`AUTOMOC`, :prop_tgt:`AUTOUIC` and
:prop_tgt:`AUTORCC` from within CMakeLists.txt.

View File

@@ -1,5 +0,0 @@
FindCURL-per-config
-------------------
* The :module:`FindCURL` module learned to find debug and release variants
separately.

View File

@@ -1,12 +0,0 @@
FindMatlab-2018b
----------------
* The :module:`FindMatlab` module gained new components ``ENGINE_LIBRARY`` and
``DATAARRAY_LIBRARY`` to request finding the Matlab C++ Engine and DataArray
libraries respectively.
* The :module:`FindMatlab` module now explicitly exports mexFunction in Visual
Studio.
* The :module:`FindMatlab` module gained the ability to discover Matlab R2018a
and R2018b.

View File

@@ -1,5 +0,0 @@
FindMatlab-mcc
--------------
* The :module:`FindMatlab` module gained a new ``MCC_COMPILER``
component to request finding the Matlab Compiler add-on.

View File

@@ -1,6 +0,0 @@
FindPython-lookup-strategy
--------------------------
* Modules :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython`
gain capability to control order of resource lookup on macOS (Framework) and
Windows (Registry).

View File

@@ -1,6 +0,0 @@
FindSubversion-wc-info-error
----------------------------
* The :module:`FindSubversion` module ``Subversion_WC_INFO`` command
gained an ``IGNORE_SVN_FAILURE`` option to suppress failures,
e.g. when the source tree is not under Subversion control.

View File

@@ -1,4 +0,0 @@
INTERFACE_LINK_DEPENDS-property
-------------------------------
* Binary targets gained new :prop_tgt:`INTERFACE_LINK_DEPENDS` property.

View File

@@ -1,5 +0,0 @@
LINK_DEPENDS-property
---------------------
* The :prop_tgt:`LINK_DEPENDS` target property learned to support
:manual:`generator expressions <cmake-generator-expressions(7)>`.

View File

@@ -1,5 +0,0 @@
LINK_DIRECTORIES-policy
-----------------------
* The :prop_tgt:`LINK_DIRECTORIES` target property expects absolute paths.
See policy :policy:`CMP0081`.

View File

@@ -1,9 +0,0 @@
LINK_DIRECTORIES
----------------
* CMake gained new capabilities to manage link directories:
* :prop_tgt:`LINK_DIRECTORIES` and :prop_tgt:`INTERFACE_LINK_DIRECTORIES`
target properties.
* :command:`target_link_directories` command to add link directories to
targets.

View File

@@ -1,11 +0,0 @@
LINK_OPTIONS
------------
* CMake gained new capabilities to manage link step:
* :prop_dir:`LINK_OPTIONS` directory property.
* :prop_tgt:`LINK_OPTIONS` and :prop_tgt:`INTERFACE_LINK_OPTIONS` target
properties.
* :command:`add_link_options` command to add link options in the current
directory.
* :command:`target_link_options` command to add link options to targets.

View File

@@ -1,4 +0,0 @@
STATIC_LIBRARY_OPTIONS
----------------------
* static library targets gained new :prop_tgt:`STATIC_LIBRARY_OPTIONS` property.

View File

@@ -1,5 +0,0 @@
UseSWIG-USE_TARGET_INCLUDE_DIRECTORIES
--------------------------------------
* Module ``UseSWIG`` gains capability to manage target property
:prop_tgt:`INCLUDE_DIRECTORIES` for ``SWIG`` compilation.

View File

@@ -1,5 +0,0 @@
UseSWIG-target-name-policy
--------------------------
* The :module:`UseSWIG` module has changed strategy for target naming.
See policy :policy:`CMP0078`.

View File

@@ -1,5 +0,0 @@
bundleutilities-policy
----------------------
* The :module:`BundleUtilities` module may no longer be included at configure
time. This was always a bug anyway. See policy :policy:`CMP0080`.

View File

@@ -1,5 +0,0 @@
byproducts_make_clean
---------------------
* The :ref:`Makefile Generators` learned to remove custom command and
custom target byproducts during ``make clean``.

View File

@@ -1,10 +0,0 @@
cmake-explicit-dirs
-------------------
* The :manual:`cmake <cmake(1)>` command gained the ``-S <source_dir>``
command line option to specify the location of the source directory.
This option can be used independently of ``-B``.
* The :manual:`cmake <cmake(1)>` command gained the ``-B <build_dir>``
command line option to specify the location of the build directory.
This option can be used independently of ``-S``.

View File

@@ -1,6 +0,0 @@
cpack-deb-dbgsym-ddeb
---------------------
* The :cpack_gen:`CPack Deb Generator` learned to split debug symbols into
a corresponding .ddeb package when ``CPACK_DEBIAN_DEBUGINFO_PACKAGE`` is
set.

View File

@@ -1,6 +0,0 @@
cpack-deb-source-date-epoch
---------------------------
* The :cpack_gen:`CPack Deb Generator` learned to honor the ``SOURCE_DATE_EPOCH``
environment variable when packaging files. This is useful for generating
reproducible packages.

View File

@@ -1,8 +0,0 @@
cpack-external
--------------
* CPack gained a new :cpack_gen:`CPack External Generator` which is used to
export the CPack metadata in a format that other software can understand. The
intention of this generator is to allow external packaging software to take
advantage of CPack's features when it may not be possible to use CPack for
the entire packaging process.

View File

@@ -1,9 +0,0 @@
cpack-generator-documentation
-----------------------------
* The CPack generators have been moved into their own separate section in the
documentation, rather than having the documentation in their internal
implementation modules.
* These internal implementation modules are also no longer available to scripts
that may have been incorrectly including them, because they should never have
been available in the first place.

View File

@@ -1,5 +0,0 @@
create_symlink-windows
-------------------------
* The :manual:`cmake(1)` ``-E create_symlink`` command can now be used
on Windows.

View File

@@ -1,5 +0,0 @@
ctest-progress-output
---------------------
* :manual:`ctest(1)` gained a ``--progress`` option to enable a live
test progress summary when output goes to a terminal.

View File

@@ -1,5 +0,0 @@
custom_command-working_directory-genex
--------------------------------------
* The :command:`add_custom_command` and :command:`add_custom_target` commands
learned to support generator expressions in ``WORKING_DIRECTORY`` options.

View File

@@ -1,8 +0,0 @@
deprecate-policy-old
--------------------
* An explicit deprecation diagnostic was added for policies ``CMP0055``
through ``CMP0063`` (``CMP0054`` and below were already deprecated).
The :manual:`cmake-policies(7)` manual explains that the OLD behaviors
of all policies are deprecated and that projects should port to the
NEW behaviors.

View File

@@ -1,20 +0,0 @@
ghs
---
* The :generator:`Green Hills MULTI` generator is updated:
- Added support for architecture selection through
:variable:`CMAKE_GENERATOR_PLATFORM`:
e.g. ``arm``, ``ppc``, and ``86``.
- Added support for toolset selection through
:variable:`CMAKE_GENERATOR_TOOLSET`,
e.g. ``comp_201205``, ``comp_201510``, ``comp_201722_beta``.
- Added support for platform selection through ``GHS_TARGET_PLATFORM``,
e.g. ``integrity``, ``linux``, ``standalone``, etc.
- No longer checks that ``arm`` based compilers are installed but ensures
that the correct ``gbuild.exe`` exists.
- No longer hard-codes ARM files, BSP, toolset, or OS locations.

View File

@@ -1,5 +0,0 @@
install-code-script-genex
-------------------------
* The :command:`install(CODE)` and :command:`install(SCRIPT)` commands
learned to support generator expressions.

View File

@@ -1,5 +0,0 @@
link_directories-enhancements
-----------------------------
* :command:`link_directories` command gains capability to control directories
insertion position.

View File

@@ -1,5 +0,0 @@
list_sort
---------
* The :command:`list(SORT)` command gained options to control the
comparison operation used to order the entries.

View File

@@ -1,4 +0,0 @@
math-hex
--------
* The :command:`math` command gained options for hexadecimal.

View File

@@ -1,5 +0,0 @@
option-normal-variable
----------------------
* The :command:`option` command now honors existing normal variables instead
of replacing them with a cache entry. See policy :policy:`CMP0077`.

View File

@@ -1,6 +0,0 @@
out-of-dir-linking
------------------
* The :command:`target_link_libraries` command may now be called
to modify targets created outside the current directory.
See policy :policy:`CMP0079`.

View File

@@ -1,5 +0,0 @@
pkgc-global
-----------
* Module ``FindPkgConfig`` gains capability to create imported targets in
global scope.

View File

@@ -1,5 +0,0 @@
subdirectory-installing
-----------------------
* The :command:`install(TARGETS)` command may now be used
to install targets created outside the current directory.

View File

@@ -1,8 +0,0 @@
subdirectory-sources
--------------------
* The :command:`target_sources` command now interprets relative source file
paths as relative to the current source directory. This simplifies
incrementally building up a target's sources from subdirectories. The
:policy:`CMP0076` policy was added to provide backward compatibility with
the old behavior where required.

View File

@@ -1,14 +0,0 @@
vs-debugger-improvements
------------------------
* A :prop_tgt:`VS_DEBUGGER_COMMAND_ARGUMENTS` target property was created to
set the debugging command line arguments with
:ref:`Visual Studio Generators` for VS 2010 and above.
* A :prop_tgt:`VS_DEBUGGER_ENVIRONMENT` target property was created to
set the debugging environment with
:ref:`Visual Studio Generators` for VS 2010 and above.
* :prop_tgt:`VS_DEBUGGER_COMMAND`
:prop_tgt:`VS_DEBUGGER_COMMAND_ARGUMENTS`
:prop_tgt:`VS_DEBUGGER_ENVIRONMENT`
:prop_tgt:`VS_DEBUGGER_WORKING_DIRECTORY`
target properties can use generator expressions.

View File

@@ -1,7 +0,0 @@
vs-deployment-files
-------------------
* The :prop_tgt:`DEPLOYMENT_ADDITIONAL_FILES` target property was
added to tell the :generator:`Visual Studio 9 2008` generator
to specify additional files for deployment to WinCE devices
for remote debugging.

View File

@@ -1,6 +0,0 @@
vs-global-props-for-all-targets
-------------------------------
* A :variable:`CMAKE_VS_GLOBALS` variable was added to initialize
:prop_tgt:`VS_GLOBAL_<variable>` target properties on targets as
they are created.

View File

@@ -1,6 +0,0 @@
vs-ipo
------
* The :ref:`Visual Studio Generators` for VS 2010 and above learned to
support the :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` target property
and supporting :module:`CheckIPOSupported` module.

View File

@@ -1,5 +0,0 @@
xcode_schemes_config
--------------------
* The :generator:`Xcode` generator learned to configure more Xcode Scheme
fields. See the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable.

View File

@@ -15,6 +15,7 @@ Releases
.. toctree::
:maxdepth: 1
3.13 <3.13>
3.12 <3.12>
3.11 <3.11>
3.10 <3.10>