mirror of
https://github.com/reactos/CMake.git
synced 2025-02-24 14:00:38 +00:00
Help: Consolidate 3.11 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.11.rst`.
This commit is contained in:
parent
a40768b5af
commit
22ac06edb8
240
Help/release/3.11.rst
Normal file
240
Help/release/3.11.rst
Normal file
@ -0,0 +1,240 @@
|
||||
CMake 3.11 Release Notes
|
||||
************************
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. contents::
|
||||
|
||||
Changes made since CMake 3.10 include the following.
|
||||
|
||||
* When using :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC`, CMake starts multiple
|
||||
parallel ``moc`` or ``uic`` processes to reduce the build time.
|
||||
The new :variable:`CMAKE_AUTOGEN_PARALLEL` variable and
|
||||
:prop_tgt:`AUTOGEN_PARALLEL` target property allow to modify the number of
|
||||
parallel ``moc`` or ``uic`` processes to start.
|
||||
By default CMake starts a single ``moc`` or ``uic`` process for each physical
|
||||
CPU on the host system.
|
||||
|
||||
* The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support
|
||||
`FLAME <https://github.com/flame>`__ ``blis`` and ``libflame``.
|
||||
|
||||
* Variables containing newlines in their values now get truncated before the
|
||||
newline when they are written to the cache file. In addition, a warning
|
||||
comment is written to the cache file, and a warning message is displayed to
|
||||
the user on the console.
|
||||
|
||||
* The :module:`CheckIncludeFile` module ``check_include_file`` macro
|
||||
learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
|
||||
|
||||
* The :module:`CheckIncludeFileCXX` module ``check_include_file_cxx`` macro
|
||||
learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
|
||||
|
||||
* The :module:`CheckIncludeFiles` module ``check_include_files`` macro
|
||||
learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
|
||||
|
||||
* The :module:`CheckIncludeFiles` module :command:`CHECK_INCLUDE_FILES`
|
||||
command gained a ``LANGUAGE`` option to specify whether to check using the
|
||||
``C`` or ``CXX`` compiler.
|
||||
|
||||
* The :variable:`CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable was added
|
||||
to enable setting of default permissions for directories created implicitly
|
||||
during installation of files by :command:`install` and
|
||||
:command:`file(INSTALL)`.
|
||||
|
||||
* The :variable:`CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable was added
|
||||
which serves the same purpose during packaging as the
|
||||
:variable:`CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable serves during
|
||||
installation (e.g. ``make install``).
|
||||
|
||||
* A :variable:`CMAKE_JOB_POOLS` variable was added specify a value to use for
|
||||
the :prop_gbl:`JOB_POOLS` property. This enables control over build
|
||||
parallelism with command line configuration parameters when using the Ninja
|
||||
generator.
|
||||
|
||||
* The :manual:`cmake(1)` ``--open <dir>`` command line option can now
|
||||
be used to open generated IDE projects like Visual Studio solutions
|
||||
or Xcode projects.
|
||||
|
||||
* The :generator:`CodeBlocks` extra generator learned to check a
|
||||
:variable:`CMAKE_CODEBLOCKS_COMPILER_ID` variable for a custom
|
||||
compiler identification value to place in the project file.
|
||||
|
||||
* The :module:`CPackIFW` module gained new
|
||||
:variable:`CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR` variable to control
|
||||
if the target directory should not be deleted when uninstalling.
|
||||
|
||||
* The :module:`CPackRPM` module learned to enable enforcing of execute
|
||||
privileges on programs and shared libraries.
|
||||
See :variable:`CPACK_RPM_INSTALL_WITH_EXEC` variable.
|
||||
|
||||
* :manual:`cpack(1)` gained ``--trace`` and ``--trace-expand`` options.
|
||||
|
||||
* The :command:`ctest_start` command no longer sets
|
||||
:variable:`CTEST_RUN_CURRENT_SCRIPT` due to issues with scoping if it is
|
||||
called from inside a function. Instead, it sets an internal variable in
|
||||
CTest. However, setting :variable:`CTEST_RUN_CURRENT_SCRIPT` to 0 at the
|
||||
global scope still prevents the script from being re-run at the end.
|
||||
|
||||
* A :variable:`CMAKE_CUDA_SEPARABLE_COMPILATION` variable was added to
|
||||
initialize the :prop_tgt:`CUDA_SEPARABLE_COMPILATION` target property
|
||||
on targets when they are created.
|
||||
|
||||
* The :command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands
|
||||
gained ``NETRC`` and ``NETRC_FILE`` options to specify use of a
|
||||
``.netrc`` file.
|
||||
|
||||
* The :module:`ExternalProject` module gained ``NETRC`` and ``NETRC_FILE``
|
||||
options to specify use of a ``.netrc`` file.
|
||||
|
||||
* The :variable:`CMAKE_NETRC` and :variable:`CMAKE_NETRC_FILE` variables
|
||||
were added to specify use of a ``.netrc`` file by the
|
||||
:command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands and
|
||||
the :module:`ExternalProject` module.
|
||||
|
||||
* :command:`add_library` and :command:`add_executable` commands can now be
|
||||
called without any sources and will not complain as long as sources will
|
||||
be added later via :command:`target_sources`.
|
||||
|
||||
* An explicit deprecation diagnostic was added for policies ``CMP0037``
|
||||
through ``CMP0054`` (``CMP0036`` 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.
|
||||
|
||||
* The :command:`doxygen_add_docs` function of the :module:`FindDoxygen` module
|
||||
now supports a new ``DOXYGEN_VERBATIM_VARS`` list variable. Any
|
||||
``DOXYGEN_...`` variable contained in that list will bypass the automatic
|
||||
quoting logic, leaving its contents untouched when transferring them to the
|
||||
output Doxyfile.
|
||||
|
||||
* :ref:`Visual Studio Generators` learned to support the ``COMPILE_LANGUAGE``
|
||||
:manual:`generator expression <cmake-generator-expressions(7)>` in
|
||||
target-wide :prop_tgt:`COMPILE_DEFINITIONS`,
|
||||
:prop_tgt:`INCLUDE_DIRECTORIES`, :prop_tgt:`COMPILE_OPTIONS`, and
|
||||
:command:`file(GENERATE)`.
|
||||
|
||||
* The :generator:`Xcode` generator learned to support the ``COMPILE_LANGUAGE``
|
||||
:manual:`generator expression <cmake-generator-expressions(7)>` in
|
||||
target-wide :prop_tgt:`COMPILE_DEFINITIONS` and
|
||||
:prop_tgt:`INCLUDE_DIRECTORIES`. It previously supported only
|
||||
:prop_tgt:`COMPILE_OPTIONS` and :command:`file(GENERATE)`.
|
||||
|
||||
* The :module:`ExternalProject` module learnt to substitute ``<DOWNLOAD_DIR>``
|
||||
in comments, commands, working directory and byproducts.
|
||||
|
||||
* A new :module:`FetchContent` module was added which supports populating
|
||||
content at configure time using any of the download/update methods
|
||||
supported by :command:`ExternalProject_Add`. This allows the content
|
||||
to be used immediately during the configure stage, such as with
|
||||
:command:`add_subdirectory`, etc. Hierarchical project structures are
|
||||
well supported, allowing parent projects to override the content details
|
||||
of child projects and ensuring content is not populated multiple times
|
||||
throughout the whole project tree.
|
||||
|
||||
* A :module:`FindIconv` module was added to locate iconv support.
|
||||
|
||||
* The :module:`FindOpenGL` module now prefers GLVND libraries if available.
|
||||
See policy :policy:`CMP0072`.
|
||||
|
||||
* The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned
|
||||
to add compiler launcher tools along with the compiler for the ``Fortran``
|
||||
language (``C``, ``CXX``, and ``CUDA`` were supported previously).
|
||||
See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and
|
||||
:prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details.
|
||||
|
||||
* The :command:`target_compile_definitions` command learned to set the
|
||||
:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS` property on
|
||||
:ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_compile_features` command learned to set the
|
||||
:prop_tgt:`INTERFACE_COMPILE_FEATURES` property on :ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_compile_options` command learned to set the
|
||||
:prop_tgt:`INTERFACE_COMPILE_OPTIONS` property on :ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_include_directories` command learned to set the
|
||||
:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` property on
|
||||
:ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_sources` command learned to set the
|
||||
:prop_tgt:`INTERFACE_SOURCES` property on :ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_link_libraries` command learned to set the
|
||||
:prop_tgt:`INTERFACE_LINK_LIBRARIES` property on :ref:`Imported Targets`.
|
||||
|
||||
* :ref:`Alias Targets` may now alias :ref:`Imported Targets` that are
|
||||
created with the ``GLOBAL`` option to :command:`add_library`.
|
||||
|
||||
* The :module:`GenerateExportHeader` module learned an optional
|
||||
``INCLUDE_GUARD_NAME`` parameter to change the name of the include guard
|
||||
symbol written to the generated export header.
|
||||
Additionally, it now adds a comment after the closing ``#endif`` on the
|
||||
generated export header's include guard.
|
||||
|
||||
* A :variable:`CMAKE_GENERATOR_INSTANCE` variable was introduced
|
||||
to hold the selected instance of the generator's corresponding
|
||||
native tools if multiple are available. This is used by the
|
||||
:generator:`Visual Studio 15 2017` generator to hold the
|
||||
selected instance of Visual Studio persistently.
|
||||
|
||||
* Added new target-property :prop_tgt:`IMPORTED_GLOBAL` which
|
||||
indicates if an :ref:`IMPORTED target <Imported Targets>` is
|
||||
globally visible.
|
||||
It will be set automatically if such an imported target is
|
||||
created with the ``GLOBAL`` flag.
|
||||
|
||||
* Additionally, it is now also possible to promote a local imported
|
||||
target to become globally visible by setting its
|
||||
:prop_tgt:`IMPORTED_GLOBAL` property to `TRUE`. (However, this
|
||||
promotion can only succeed if it is done from within the same
|
||||
directory where the imported target was created in the first
|
||||
place.) Setting it to `FALSE` is not supported!
|
||||
|
||||
* The minimum deployment target set in the
|
||||
:variable:`CMAKE_OSX_DEPLOYMENT_TARGET` variable used to be only
|
||||
applied for macOS regardless of the selected SDK. It is now properly
|
||||
set for the target platform selected by :variable:`CMAKE_OSX_SYSROOT`.
|
||||
|
||||
If for example the sysroot variable specifies an iOS SDK then the
|
||||
value in ``CMAKE_OSX_DEPLOYMENT_TARGET`` is interpreted as minimum
|
||||
iOS version.
|
||||
|
||||
* The ``KDevelop3`` generator has been removed.
|
||||
|
||||
* The :prop_sf:`COMPILE_DEFINITIONS` source file property learned to support
|
||||
:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
||||
|
||||
* Source file learns new properties:
|
||||
|
||||
* A :prop_sf:`COMPILE_OPTIONS` source file property was added to manage list
|
||||
of options to pass to the compiler.
|
||||
|
||||
* An :prop_sf:`INCLUDE_DIRECTORIES` source file property was added to specify
|
||||
list of preprocessor include file search directories.
|
||||
|
||||
* TI C/C++ compilers are now supported by the :generator:`Ninja` generator.
|
||||
|
||||
* | The command add_jar from :module:`UseJava` module learns how to generate native
|
||||
headers files using option -h of javac tool.
|
||||
| This capability requires, at least, version 1.8 of Javac tool.
|
||||
| Command create_javah will no longer be supported due to the
|
||||
`suppression of javah tool <http://openjdk.java.net/jeps/313>`_ in the version 1.10
|
||||
of the JDK, so ``add_jar(GENERATE_NATIVE_HEADERS)`` must be used instead.
|
||||
|
||||
* Source file properties :prop_sf:`VS_SHADER_DISABLE_OPTIMIZATIONS` and
|
||||
:prop_sf:`VS_SHADER_ENABLE_DEBUG` have been added to specify more
|
||||
details of ``.hlsl`` sources with :ref:`Visual Studio Generators`.
|
||||
|
||||
* ``INTERFACE`` libraries may now have custom properties set on them if they
|
||||
start with either an underscore (``_``) or a lowercase ASCII character. The
|
||||
original intention was to only allow properties which made sense for
|
||||
``INTERFACE`` libraries, but it also blocked usage of custom properties.
|
||||
|
||||
* The :command:`write_basic_package_version_file` understands a new
|
||||
``SameMinorVersion`` option for the ``COMPATIBILITY`` argument.
|
||||
|
||||
* The :generator:`Xcode` generator behavior of generating one project
|
||||
file per :command:`project()` command could now be controlled with the
|
||||
:variable:`CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY` variable.
|
||||
This could be useful to speed up the CMake generation step for
|
||||
large projects and to work-around a bug in the ``ZERO_CHECK`` logic.
|
@ -1,11 +0,0 @@
|
||||
CheckIncludeFile-required-libs
|
||||
------------------------------
|
||||
|
||||
* The :module:`CheckIncludeFile` module ``check_include_file`` macro
|
||||
learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
|
||||
|
||||
* The :module:`CheckIncludeFileCXX` module ``check_include_file_cxx`` macro
|
||||
learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
|
||||
|
||||
* The :module:`CheckIncludeFiles` module ``check_include_files`` macro
|
||||
learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
|
@ -1,6 +0,0 @@
|
||||
CheckIncludeFiles-language-CXX
|
||||
------------------------------
|
||||
|
||||
* The :module:`CheckIncludeFiles` module :command:`CHECK_INCLUDE_FILES`
|
||||
command gained a ``LANGUAGE`` option to specify whether to check using the
|
||||
``C`` or ``CXX`` compiler.
|
@ -1,6 +0,0 @@
|
||||
CodeBlocks-custom-compiler-id
|
||||
-----------------------------
|
||||
|
||||
* The :generator:`CodeBlocks` extra generator learned to check a
|
||||
:variable:`CMAKE_CODEBLOCKS_COMPILER_ID` variable for a custom
|
||||
compiler identification value to place in the project file.
|
@ -1,5 +0,0 @@
|
||||
ExternalProject
|
||||
---------------
|
||||
|
||||
* The :module:`ExternalProject` module learnt to substitute ``<DOWNLOAD_DIR>``
|
||||
in comments, commands, working directory and byproducts.
|
@ -1,11 +0,0 @@
|
||||
FetchContent
|
||||
------------
|
||||
|
||||
* A new :module:`FetchContent` module was added which supports populating
|
||||
content at configure time using any of the download/update methods
|
||||
supported by :command:`ExternalProject_Add`. This allows the content
|
||||
to be used immediately during the configure stage, such as with
|
||||
:command:`add_subdirectory`, etc. Hierarchical project structures are
|
||||
well supported, allowing parent projects to override the content details
|
||||
of child projects and ensuring content is not populated multiple times
|
||||
throughout the whole project tree.
|
@ -1,4 +0,0 @@
|
||||
FindIconv
|
||||
---------
|
||||
|
||||
* A :module:`FindIconv` module was added to locate iconv support.
|
@ -1,5 +0,0 @@
|
||||
FindOpenGL-glvnd-policy
|
||||
-----------------------
|
||||
|
||||
* The :module:`FindOpenGL` module now prefers GLVND libraries if available.
|
||||
See policy :policy:`CMP0072`.
|
@ -1,8 +0,0 @@
|
||||
GenerateExportHeader-include-guard
|
||||
----------------------------------
|
||||
|
||||
* The :module:`GenerateExportHeader` module learned an optional
|
||||
``INCLUDE_GUARD_NAME`` parameter to change the name of the include guard
|
||||
symbol written to the generated export header.
|
||||
Additionally, it now adds a comment after the closing ``#endif`` on the
|
||||
generated export header's include guard.
|
@ -1,4 +0,0 @@
|
||||
RemoveKDevelop3
|
||||
---------------
|
||||
|
||||
* The ``KDevelop3`` generator has been removed.
|
@ -1,9 +0,0 @@
|
||||
UseJava-add_jar-native-headers
|
||||
------------------------------
|
||||
|
||||
* | The command add_jar from :module:`UseJava` module learns how to generate native
|
||||
headers files using option -h of javac tool.
|
||||
| This capability requires, at least, version 1.8 of Javac tool.
|
||||
| Command create_javah will no longer be supported due to the
|
||||
`suppression of javah tool <http://openjdk.java.net/jeps/313>`_ in the version 1.10
|
||||
of the JDK, so ``add_jar(GENERATE_NATIVE_HEADERS)`` must be used instead.
|
@ -1,5 +0,0 @@
|
||||
WriteBasicConfigFile_SameMinorVersion
|
||||
-------------------------------------
|
||||
|
||||
* The :command:`write_basic_package_version_file` understands a new
|
||||
``SameMinorVersion`` option for the ``COMPATIBILITY`` argument.
|
@ -1,10 +0,0 @@
|
||||
autogen-parallel
|
||||
----------------
|
||||
|
||||
* When using :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC`, CMake starts multiple
|
||||
parallel ``moc`` or ``uic`` processes to reduce the build time.
|
||||
The new :variable:`CMAKE_AUTOGEN_PARALLEL` variable and
|
||||
:prop_tgt:`AUTOGEN_PARALLEL` target property allow to modify the number of
|
||||
parallel ``moc`` or ``uic`` processes to start.
|
||||
By default CMake starts a single ``moc`` or ``uic`` process for each physical
|
||||
CPU on the host system.
|
@ -1,5 +0,0 @@
|
||||
blas-lapack-flame
|
||||
-----------------
|
||||
|
||||
* The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support
|
||||
`FLAME <https://github.com/flame>`__ ``blis`` and ``libflame``.
|
@ -1,7 +0,0 @@
|
||||
cache-newline
|
||||
-------------
|
||||
|
||||
* Variables containing newlines in their values now get truncated before the
|
||||
newline when they are written to the cache file. In addition, a warning
|
||||
comment is written to the cache file, and a warning message is displayed to
|
||||
the user on the console.
|
@ -1,12 +0,0 @@
|
||||
cmake-default-dir-install-permissions
|
||||
-------------------------------------
|
||||
|
||||
* The :variable:`CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable was added
|
||||
to enable setting of default permissions for directories created implicitly
|
||||
during installation of files by :command:`install` and
|
||||
:command:`file(INSTALL)`.
|
||||
|
||||
* The :variable:`CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable was added
|
||||
which serves the same purpose during packaging as the
|
||||
:variable:`CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable serves during
|
||||
installation (e.g. ``make install``).
|
@ -1,7 +0,0 @@
|
||||
cmake-job-pool
|
||||
--------------
|
||||
|
||||
* A :variable:`CMAKE_JOB_POOLS` variable was added specify a value to use for
|
||||
the :prop_gbl:`JOB_POOLS` property. This enables control over build
|
||||
parallelism with command line configuration parameters when using the Ninja
|
||||
generator.
|
@ -1,6 +0,0 @@
|
||||
cmake-open
|
||||
----------
|
||||
|
||||
* The :manual:`cmake(1)` ``--open <dir>`` command line option can now
|
||||
be used to open generated IDE projects like Visual Studio solutions
|
||||
or Xcode projects.
|
@ -1,6 +0,0 @@
|
||||
cpack-rpm-check-executable-flags
|
||||
--------------------------------
|
||||
|
||||
* The :module:`CPackRPM` module learned to enable enforcing of execute
|
||||
privileges on programs and shared libraries.
|
||||
See :variable:`CPACK_RPM_INSTALL_WITH_EXEC` variable.
|
@ -1,4 +0,0 @@
|
||||
cpack_trace
|
||||
-----------
|
||||
|
||||
* :manual:`cpack(1)` gained ``--trace`` and ``--trace-expand`` options.
|
@ -1,6 +0,0 @@
|
||||
cpackifw-package-remove-target-dir
|
||||
----------------------------------
|
||||
|
||||
* The :module:`CPackIFW` module gained new
|
||||
:variable:`CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR` variable to control
|
||||
if the target directory should not be deleted when uninstalling.
|
@ -1,8 +0,0 @@
|
||||
ctest_start_function_scope
|
||||
--------------------------
|
||||
|
||||
* The :command:`ctest_start` command no longer sets
|
||||
:variable:`CTEST_RUN_CURRENT_SCRIPT` due to issues with scoping if it is
|
||||
called from inside a function. Instead, it sets an internal variable in
|
||||
CTest. However, setting :variable:`CTEST_RUN_CURRENT_SCRIPT` to 0 at the
|
||||
global scope still prevents the script from being re-run at the end.
|
@ -1,6 +0,0 @@
|
||||
cuda-sep-comp-var
|
||||
-----------------
|
||||
|
||||
* A :variable:`CMAKE_CUDA_SEPARABLE_COMPILATION` variable was added to
|
||||
initialize the :prop_tgt:`CUDA_SEPARABLE_COMPILATION` target property
|
||||
on targets when they are created.
|
@ -1,14 +0,0 @@
|
||||
curl_netrc_options
|
||||
------------------
|
||||
|
||||
* The :command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands
|
||||
gained ``NETRC`` and ``NETRC_FILE`` options to specify use of a
|
||||
``.netrc`` file.
|
||||
|
||||
* The :module:`ExternalProject` module gained ``NETRC`` and ``NETRC_FILE``
|
||||
options to specify use of a ``.netrc`` file.
|
||||
|
||||
* The :variable:`CMAKE_NETRC` and :variable:`CMAKE_NETRC_FILE` variables
|
||||
were added to specify use of a ``.netrc`` file by the
|
||||
:command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands and
|
||||
the :module:`ExternalProject` module.
|
@ -1,6 +0,0 @@
|
||||
defer-target-source-check
|
||||
-------------------------
|
||||
|
||||
* :command:`add_library` and :command:`add_executable` commands can now be
|
||||
called without any sources and will not complain as long as sources will
|
||||
be added later via :command:`target_sources`.
|
@ -1,8 +0,0 @@
|
||||
deprecate-policy-old
|
||||
--------------------
|
||||
|
||||
* An explicit deprecation diagnostic was added for policies ``CMP0037``
|
||||
through ``CMP0054`` (``CMP0036`` 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.
|
@ -1,8 +0,0 @@
|
||||
FindDoxygen
|
||||
-----------
|
||||
|
||||
* The :command:`doxygen_add_docs` function of the :module:`FindDoxygen` module
|
||||
now supports a new ``DOXYGEN_VERBATIM_VARS`` list variable. Any
|
||||
``DOXYGEN_...`` variable contained in that list will bypass the automatic
|
||||
quoting logic, leaving its contents untouched when transferring them to the
|
||||
output Doxyfile.
|
@ -1,14 +0,0 @@
|
||||
extend-compile-language-genex
|
||||
-----------------------------
|
||||
|
||||
* :ref:`Visual Studio Generators` learned to support the ``COMPILE_LANGUAGE``
|
||||
:manual:`generator expression <cmake-generator-expressions(7)>` in
|
||||
target-wide :prop_tgt:`COMPILE_DEFINITIONS`,
|
||||
:prop_tgt:`INCLUDE_DIRECTORIES`, :prop_tgt:`COMPILE_OPTIONS`, and
|
||||
:command:`file(GENERATE)`.
|
||||
|
||||
* The :generator:`Xcode` generator learned to support the ``COMPILE_LANGUAGE``
|
||||
:manual:`generator expression <cmake-generator-expressions(7)>` in
|
||||
target-wide :prop_tgt:`COMPILE_DEFINITIONS` and
|
||||
:prop_tgt:`INCLUDE_DIRECTORIES`. It previously supported only
|
||||
:prop_tgt:`COMPILE_OPTIONS` and :command:`file(GENERATE)`.
|
@ -1,8 +0,0 @@
|
||||
fortran-compiler-launcher
|
||||
-------------------------
|
||||
|
||||
* The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned
|
||||
to add compiler launcher tools along with the compiler for the ``Fortran``
|
||||
language (``C``, ``CXX``, and ``CUDA`` were supported previously).
|
||||
See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and
|
||||
:prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details.
|
@ -1,25 +0,0 @@
|
||||
generalize-importedtargets-behavior
|
||||
-----------------------------------
|
||||
|
||||
* The :command:`target_compile_definitions` command learned to set the
|
||||
:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS` property on
|
||||
:ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_compile_features` command learned to set the
|
||||
:prop_tgt:`INTERFACE_COMPILE_FEATURES` property on :ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_compile_options` command learned to set the
|
||||
:prop_tgt:`INTERFACE_COMPILE_OPTIONS` property on :ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_include_directories` command learned to set the
|
||||
:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` property on
|
||||
:ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_sources` command learned to set the
|
||||
:prop_tgt:`INTERFACE_SOURCES` property on :ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_link_libraries` command learned to set the
|
||||
:prop_tgt:`INTERFACE_LINK_LIBRARIES` property on :ref:`Imported Targets`.
|
||||
|
||||
* :ref:`Alias Targets` may now alias :ref:`Imported Targets` that are
|
||||
created with the ``GLOBAL`` option to :command:`add_library`.
|
@ -1,8 +0,0 @@
|
||||
generator-instance
|
||||
------------------
|
||||
|
||||
* A :variable:`CMAKE_GENERATOR_INSTANCE` variable was introduced
|
||||
to hold the selected instance of the generator's corresponding
|
||||
native tools if multiple are available. This is used by the
|
||||
:generator:`Visual Studio 15 2017` generator to hold the
|
||||
selected instance of Visual Studio persistently.
|
@ -1,15 +0,0 @@
|
||||
imported-promotion
|
||||
------------------
|
||||
|
||||
* Added new target-property :prop_tgt:`IMPORTED_GLOBAL` which
|
||||
indicates if an :ref:`IMPORTED target <Imported Targets>` is
|
||||
globally visible.
|
||||
It will be set automatically if such an imported target is
|
||||
created with the ``GLOBAL`` flag.
|
||||
|
||||
* Additionally, it is now also possible to promote a local imported
|
||||
target to become globally visible by setting its
|
||||
:prop_tgt:`IMPORTED_GLOBAL` property to `TRUE`. (However, this
|
||||
promotion can only succeed if it is done from within the same
|
||||
directory where the imported target was created in the first
|
||||
place.) Setting it to `FALSE` is not supported!
|
@ -1,11 +0,0 @@
|
||||
iphone-deployment-target
|
||||
------------------------
|
||||
|
||||
* The minimum deployment target set in the
|
||||
:variable:`CMAKE_OSX_DEPLOYMENT_TARGET` variable used to be only
|
||||
applied for macOS regardless of the selected SDK. It is now properly
|
||||
set for the target platform selected by :variable:`CMAKE_OSX_SYSROOT`.
|
||||
|
||||
If for example the sysroot variable specifies an iOS SDK then the
|
||||
value in ``CMAKE_OSX_DEPLOYMENT_TARGET`` is interpreted as minimum
|
||||
iOS version.
|
@ -1,5 +0,0 @@
|
||||
src-COMPILE_DEFINITIONS-genex
|
||||
-----------------------------
|
||||
|
||||
* The :prop_sf:`COMPILE_DEFINITIONS` source file property learned to support
|
||||
:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
@ -1,10 +0,0 @@
|
||||
src-new-properties-COMPILE_OPTIONS-and-INCLUDE_DIRECTORIES
|
||||
----------------------------------------------------------
|
||||
|
||||
* Source file learns new properties:
|
||||
|
||||
* A :prop_sf:`COMPILE_OPTIONS` source file property was added to manage list
|
||||
of options to pass to the compiler.
|
||||
|
||||
* An :prop_sf:`INCLUDE_DIRECTORIES` source file property was added to specify
|
||||
list of preprocessor include file search directories.
|
@ -1,4 +0,0 @@
|
||||
ti-compiler-depfile-support
|
||||
---------------------------
|
||||
|
||||
* TI C/C++ compilers are now supported by the :generator:`Ninja` generator.
|
@ -1,6 +0,0 @@
|
||||
vs-hlsl-opt-dbg
|
||||
---------------
|
||||
|
||||
* Source file properties :prop_sf:`VS_SHADER_DISABLE_OPTIMIZATIONS` and
|
||||
:prop_sf:`VS_SHADER_ENABLE_DEBUG` have been added to specify more
|
||||
details of ``.hlsl`` sources with :ref:`Visual Studio Generators`.
|
@ -1,7 +0,0 @@
|
||||
whitelist-more-interface-properties
|
||||
-----------------------------------
|
||||
|
||||
* ``INTERFACE`` libraries may now have custom properties set on them if they
|
||||
start with either an underscore (``_``) or a lowercase ASCII character. The
|
||||
original intention was to only allow properties which made sense for
|
||||
``INTERFACE`` libraries, but it also blocked usage of custom properties.
|
@ -1,8 +0,0 @@
|
||||
write-single-xcodeproj
|
||||
----------------------
|
||||
|
||||
* The :generator:`Xcode` generator behavior of generating one project
|
||||
file per :command:`project()` command could now be controlled with the
|
||||
:variable:`CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY` variable.
|
||||
This could be useful to speed up the CMake generation step for
|
||||
large projects and to work-around a bug in the ``ZERO_CHECK`` logic.
|
@ -15,6 +15,7 @@ Releases
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
3.11 <3.11>
|
||||
3.10 <3.10>
|
||||
3.9 <3.9>
|
||||
3.8 <3.8>
|
||||
|
Loading…
x
Reference in New Issue
Block a user