mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-27 03:08:35 -06:00
Help: Consolidate 3.16 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.16.rst`.
This commit is contained in:
219
Help/release/3.16.rst
Normal file
219
Help/release/3.16.rst
Normal file
@@ -0,0 +1,219 @@
|
||||
CMake 3.16 Release Notes
|
||||
************************
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. contents::
|
||||
|
||||
Changes made since CMake 3.15 include the following.
|
||||
|
||||
* The :command:`find_package` command has learned to check the following
|
||||
variables to control searching
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_PACKAGE_REGISTRY` - Controls the searching the
|
||||
cmake user registry.
|
||||
|
||||
* The :variable:`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY` has been deprecated.
|
||||
Instead use :variable:`CMAKE_FIND_USE_PACKAGE_REGISTRY`
|
||||
|
||||
* A new target property, :prop_tgt:`INSTALL_REMOVE_ENVIRONMENT_RPATH`, was
|
||||
added which removes compiler-defined rpaths from a target. This property is
|
||||
initialized by :variable:`CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH`.
|
||||
|
||||
* A new test property, :prop_test:`SKIP_REGULAR_EXPRESSION`, has been added.
|
||||
This property is similar to :prop_test:`FAIL_REGULAR_EXPRESSION` and
|
||||
:prop_test:`PASS_REGULAR_EXPRESSION`, but with the same meaning as
|
||||
:prop_test:`SKIP_RETURN_CODE`. This is useful, for example, in cases where
|
||||
the user has no control over the return code of the test. For example, in
|
||||
Catch2, the return value is the number of assertion failed, therefore it is
|
||||
impossible to use it for :prop_test:`SKIP_RETURN_CODE`.
|
||||
|
||||
* The command :command:`add_test` learned the option ``COMMAND_EXPAND_LISTS``
|
||||
which causes lists in the ``COMMAND`` argument to be expanded, including
|
||||
lists created by generator expressions.
|
||||
|
||||
* On AIX, executables using the :prop_tgt:`ENABLE_EXPORTS` target property
|
||||
now produce a linker import file with a ``.imp`` extension in addition
|
||||
to the executable file. Plugins (created via :command:`add_library` with
|
||||
the ``MODULE`` option) that use :command:`target_link_libraries` to link
|
||||
to the executable for its symbols are now linked using the import file.
|
||||
The :command:`install(TARGETS)` command now installs the import file as
|
||||
an ``ARCHIVE`` artifact.
|
||||
|
||||
* On AIX, runtime linking is no longer enabled by default. CMake provides
|
||||
the linker enough information to resolve all symbols up front.
|
||||
One may manually enable runtime linking for shared libraries and/or
|
||||
loadable modules by adding ``-Wl,-G`` to their link flags
|
||||
(e.g. in the :variable:`CMAKE_SHARED_LINKER_FLAGS` or
|
||||
:variable:`CMAKE_MODULE_LINKER_FLAGS` variable).
|
||||
One may manually enable runtime linking for executables by adding
|
||||
``-Wl,-brtl`` to their link flags (e.g. in the
|
||||
:variable:`CMAKE_EXE_LINKER_FLAGS` variable).
|
||||
|
||||
* When using :prop_tgt:`AUTOMOC`, CMake now generates the ``-p`` path prefix
|
||||
option for ``moc``. This ensures that ``moc`` output files are identical
|
||||
on different build setups (given, that the headers compiled by ``moc`` are
|
||||
in an :command:`include directory <target_include_directories>`).
|
||||
Also it ensures that ``moc`` output files will compile correctly when the
|
||||
source and/or build directory is a symbolic link.
|
||||
|
||||
The ``moc`` path prefix generation behavior can be configured by setting
|
||||
the new :variable:`CMAKE_AUTOMOC_PATH_PREFIX` variable and/or
|
||||
:prop_tgt:`AUTOMOC_PATH_PREFIX` target property.
|
||||
|
||||
* :prop_tgt:`BUILD_RPATH` and :prop_tgt:`INSTALL_RPATH` now support
|
||||
:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
||||
|
||||
* :manual:`cmake(1)` ``-E`` now supports ``true`` and ``false`` commands, which
|
||||
do nothing while returning exit codes of 0 and 1, respectively.
|
||||
|
||||
* The :manual:`cmake(1)` ``-C <initial-cache>`` option now evaluates the
|
||||
initial cache script with :variable:`CMAKE_SOURCE_DIR` and
|
||||
:variable:`CMAKE_BINARY_DIR` set to the top-level source and build trees.
|
||||
|
||||
* The Qt Compressed Help file is now named ``CMake.qch``, which no longer
|
||||
contains the release version in the file name. When CMake is upgraded
|
||||
in-place, the name and location of this file will remain constant.
|
||||
Tools such as IDEs, help viewers, etc. should now be able to refer to this
|
||||
file at a fixed location that remains valid across CMake upgrades.
|
||||
|
||||
* ``RPATH`` entries are properly escaped in the intermediary CMake install script.
|
||||
See policy :policy:`CMP0095`.
|
||||
|
||||
* CPack learned :variable:`CPACK_INSTALL_CMAKE_CONFIGURATIONS` to control
|
||||
what configurations going to be packaged for multi-configuration generators.
|
||||
|
||||
* The ``CPACK_INSTALL_SCRIPT`` variable has been deprecated in favor of the
|
||||
new, more accurately named :variable:`CPACK_INSTALL_SCRIPTS` variable.
|
||||
|
||||
* The :cpack_gen:`CPack Archive Generator` learned to generate `.tar.zst`
|
||||
packages with Zstandard compression.
|
||||
|
||||
* :manual:`ctest(1)` ``--build-makeprogram`` now specifies the make program
|
||||
used when configuring a project with the Ninja and Makefiles generators
|
||||
in addition to building it.
|
||||
|
||||
* :manual:`ctest(1)` now has the ability to serialize tests based on hardware
|
||||
requirements for each test. See :ref:`ctest-hardware-allocation` for
|
||||
details.
|
||||
|
||||
* Variable :variable:`CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS` has been
|
||||
introduced to optionally initialize the
|
||||
:prop_tgt:`CUDA_RESOLVE_DEVICE_SYMBOLS` target property.
|
||||
|
||||
* An explicit deprecation diagnostic was added for policy ``CMP0067``
|
||||
(``CMP0066`` 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` command from the :module:`FindDoxygen`
|
||||
module gained a new ``USE_STAMP_FILE`` option. When this option present,
|
||||
the custom target created by the command will only re-run Doxygen if any
|
||||
of the source files have changed since the last successful run.
|
||||
|
||||
* The :generator:`Eclipse CDT4` extra generator gained a new
|
||||
:variable:`CMAKE_ECLIPSE_RESOURCE_ENCODING` option to specify
|
||||
the resource encoding.
|
||||
|
||||
* The :module:`ExternalProject` module's ``ExternalProject_Add`` command
|
||||
has been updated so that ``GIT_SUBMODULES ""`` initializes no submodules. See
|
||||
policy :policy:`CMP0097`.
|
||||
|
||||
* The :module:`FindGnuTLS` module now provides an imported target.
|
||||
|
||||
* The :module:`FindPkgConfig` module :command:`pkg_search_module` macro
|
||||
now defines a ``<prefix>_MODULE_NAME`` result variable containing the
|
||||
first matching module name.
|
||||
|
||||
* Modules :module:`FindPython3` and :module:`FindPython` gain the capability
|
||||
to control which ``ABIs`` will be searched.
|
||||
|
||||
* Modules :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython`
|
||||
gain the capability to specify directly artifacts.
|
||||
|
||||
* Modules :module:`FindPackageHandleStandardArgs` gains the capability to
|
||||
specify a message giving the reason for the failure.
|
||||
|
||||
* The :command:`file` command learned a new sub-command,
|
||||
``GET_RUNTIME_DEPENDENCIES``, which allows you to recursively get the list of
|
||||
libraries linked by an executable or library. This sub-command is intended as
|
||||
a replacement for :module:`GetPrerequisites`.
|
||||
* The :module:`GetPrerequisites` module has been deprecated, as it has been
|
||||
superceded by :command:`file(GET_RUNTIME_DEPENDENCIES)`.
|
||||
|
||||
* The :command:`find_file`, :command:`find_library`, :command:`find_path`,
|
||||
:command:`find_package`, and :command:`find_program` commands have learned to
|
||||
check the following variables to control searching
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH` - Controls the searching
|
||||
the cmake-specific environment variables.
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_CMAKE_PATH` - Controls the searching the
|
||||
cmake-specific cache variables.
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_CMAKE_SYSTEM_PATH` - Controls the searching
|
||||
cmake platform specific variables.
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_PACKAGE_ROOT_PATH` - Controls the searching of
|
||||
:variable:`<PackageName>_ROOT` variables.
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH` - Controls the searching
|
||||
the standard system environment variables.
|
||||
|
||||
* The :module:`FindGTest` module has been updated to recognize
|
||||
MSVC build trees generated by GTest 1.8.1.
|
||||
|
||||
* The :command:`message` command learned indentation control with the new
|
||||
:variable:`CMAKE_MESSAGE_INDENT` variable.
|
||||
|
||||
* CMake learned to support the Objective C (``OBJC``) and Objective C++
|
||||
(``OBJCXX``) languages. They may be enabled via the :command:`project`
|
||||
and :command:`enable_language` commands. When ``OBJC`` or ``OBJCXX``
|
||||
is enabled, source files with the ``.m`` or ``.mm``, respectively,
|
||||
will be compiled as Objective C or C++. Otherwise they will be treated
|
||||
as plain C++ sources as they were before.
|
||||
|
||||
* New variables :variable:`CMAKE_<LANG>_LINK_LIBRARY_FLAG`,
|
||||
:variable:`CMAKE_<LANG>_LINK_LIBRARY_FILE_FLAG`, and
|
||||
:variable:`CMAKE_<LANG>_LINK_LIBRARY_SUFFIX` allow control of the
|
||||
flag used to specify linking to a library on a per-language basis.
|
||||
This is useful for mixed-language projects where the different
|
||||
drivers may use different flags.
|
||||
|
||||
* The :prop_tgt:`PRECOMPILE_HEADERS` target property was added to tell
|
||||
generators to use a list of precompile headers for faster compilation
|
||||
times.
|
||||
|
||||
* The :command:`project` no longer strips leading zeros in version components.
|
||||
See policy :policy:`CMP0096`.
|
||||
|
||||
* The :manual:`cmake(1)` ``-E remove_directory`` command-line tool,
|
||||
when given the path to a symlink to a directory, now removes just
|
||||
the symlink. It no longer removes content of the linked directory.
|
||||
|
||||
* The ``Clang`` compiler is now supported on ``Solaris``.
|
||||
|
||||
* :manual:`cmake(1)` gained a ``--trace-redirect=<file>`` command line option
|
||||
that can be used to redirect ``--trace`` output to a file instead
|
||||
of ``stderr``.
|
||||
|
||||
* The :prop_tgt:`UNITY_BUILD` target property was added to tell
|
||||
generators to batch include source files for faster compilation
|
||||
times.
|
||||
|
||||
* :prop_tgt:`VS_CONFIGURATION_TYPE` now supports
|
||||
:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
||||
|
||||
* The :prop_tgt:`VS_DPI_AWARE` target property was added to tell
|
||||
:ref:`Visual Studio Generators` to set the ``EnableDpiAwareness``
|
||||
property in ``.vcxproj`` files.
|
||||
|
||||
* On Windows, existing auto generated exports are now only updated if the
|
||||
modified time stamp of the exports is not newer than any modified time stamp
|
||||
of the input files.
|
||||
|
||||
* The Xcode generator learnt to set the value of the
|
||||
``Allow debugging when using document Versions Browser`` schema
|
||||
option with the :prop_tgt:`XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING`
|
||||
target property.
|
||||
@@ -1,5 +0,0 @@
|
||||
CMP0095
|
||||
-------
|
||||
|
||||
* ``RPATH`` entries are properly escaped in the intermediary CMake install script.
|
||||
See policy :policy:`CMP0095`.
|
||||
@@ -1,5 +0,0 @@
|
||||
FPHSA-reason-failure-message
|
||||
----------------------------
|
||||
|
||||
* Modules :module:`FindPackageHandleStandardArgs` gains the capability to
|
||||
specify a message giving the reason for the failure.
|
||||
@@ -1,4 +0,0 @@
|
||||
FindGnuTLS-target
|
||||
-----------------
|
||||
|
||||
* The :module:`FindGnuTLS` module now provides an imported target.
|
||||
@@ -1,6 +0,0 @@
|
||||
FindPkgConfig-module-name
|
||||
-------------------------
|
||||
|
||||
* The :module:`FindPkgConfig` module :command:`pkg_search_module` macro
|
||||
now defines a ``<prefix>_MODULE_NAME`` result variable containing the
|
||||
first matching module name.
|
||||
@@ -1,5 +0,0 @@
|
||||
FindPython-FIND_ABI
|
||||
-------------------
|
||||
|
||||
* Modules :module:`FindPython3` and :module:`FindPython` gain the capability
|
||||
to control which ``ABIs`` will be searched.
|
||||
@@ -1,5 +0,0 @@
|
||||
FindPython-specify_artifacts
|
||||
----------------------------
|
||||
|
||||
* Modules :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython`
|
||||
gain the capability to specify directly artifacts.
|
||||
@@ -1,6 +0,0 @@
|
||||
add-install-remove-environment-rpath
|
||||
------------------------------------
|
||||
|
||||
* A new target property, :prop_tgt:`INSTALL_REMOVE_ENVIRONMENT_RPATH`, was
|
||||
added which removes compiler-defined rpaths from a target. This property is
|
||||
initialized by :variable:`CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH`.
|
||||
@@ -1,11 +0,0 @@
|
||||
add_cmake_find_use_package_registry
|
||||
-----------------------------------
|
||||
|
||||
* The :command:`find_package` command has learned to check the following
|
||||
variables to control searching
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_PACKAGE_REGISTRY` - Controls the searching the
|
||||
cmake user registry.
|
||||
|
||||
* The :variable:`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY` has been deprecated.
|
||||
Instead use :variable:`CMAKE_FIND_USE_PACKAGE_REGISTRY`
|
||||
@@ -1,10 +0,0 @@
|
||||
add_skip_regular_expression_test_property
|
||||
-----------------------------------------
|
||||
|
||||
* A new test property, :prop_test:`SKIP_REGULAR_EXPRESSION`, has been added.
|
||||
This property is similar to :prop_test:`FAIL_REGULAR_EXPRESSION` and
|
||||
:prop_test:`PASS_REGULAR_EXPRESSION`, but with the same meaning as
|
||||
:prop_test:`SKIP_RETURN_CODE`. This is useful, for example, in cases where
|
||||
the user has no control over the return code of the test. For example, in
|
||||
Catch2, the return value is the number of assertion failed, therefore it is
|
||||
impossible to use it for :prop_test:`SKIP_RETURN_CODE`.
|
||||
@@ -1,6 +0,0 @@
|
||||
add_test-expand_lists
|
||||
---------------------
|
||||
|
||||
* The command :command:`add_test` learned the option ``COMMAND_EXPAND_LISTS``
|
||||
which causes lists in the ``COMMAND`` argument to be expanded, including
|
||||
lists created by generator expressions.
|
||||
@@ -1,20 +0,0 @@
|
||||
aix
|
||||
---
|
||||
|
||||
* On AIX, executables using the :prop_tgt:`ENABLE_EXPORTS` target property
|
||||
now produce a linker import file with a ``.imp`` extension in addition
|
||||
to the executable file. Plugins (created via :command:`add_library` with
|
||||
the ``MODULE`` option) that use :command:`target_link_libraries` to link
|
||||
to the executable for its symbols are now linked using the import file.
|
||||
The :command:`install(TARGETS)` command now installs the import file as
|
||||
an ``ARCHIVE`` artifact.
|
||||
|
||||
* On AIX, runtime linking is no longer enabled by default. CMake provides
|
||||
the linker enough information to resolve all symbols up front.
|
||||
One may manually enable runtime linking for shared libraries and/or
|
||||
loadable modules by adding ``-Wl,-G`` to their link flags
|
||||
(e.g. in the :variable:`CMAKE_SHARED_LINKER_FLAGS` or
|
||||
:variable:`CMAKE_MODULE_LINKER_FLAGS` variable).
|
||||
One may manually enable runtime linking for executables by adding
|
||||
``-Wl,-brtl`` to their link flags (e.g. in the
|
||||
:variable:`CMAKE_EXE_LINKER_FLAGS` variable).
|
||||
@@ -1,13 +0,0 @@
|
||||
automoc_path_prefix
|
||||
-------------------
|
||||
|
||||
* When using :prop_tgt:`AUTOMOC`, CMake now generates the ``-p`` path prefix
|
||||
option for ``moc``. This ensures that ``moc`` output files are identical
|
||||
on different build setups (given, that the headers compiled by ``moc`` are
|
||||
in an :command:`include directory <target_include_directories>`).
|
||||
Also it ensures that ``moc`` output files will compile correctly when the
|
||||
source and/or build directory is a symbolic link.
|
||||
|
||||
The ``moc`` path prefix generation behavior can be configured by setting
|
||||
the new :variable:`CMAKE_AUTOMOC_PATH_PREFIX` variable and/or
|
||||
:prop_tgt:`AUTOMOC_PATH_PREFIX` target property.
|
||||
@@ -1,5 +0,0 @@
|
||||
build-install-rpath-genex
|
||||
-------------------------
|
||||
|
||||
* :prop_tgt:`BUILD_RPATH` and :prop_tgt:`INSTALL_RPATH` now support
|
||||
:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
||||
@@ -1,5 +0,0 @@
|
||||
cmake-e-true-false
|
||||
------------------
|
||||
|
||||
* :manual:`cmake(1)` ``-E`` now supports ``true`` and ``false`` commands, which
|
||||
do nothing while returning exit codes of 0 and 1, respectively.
|
||||
@@ -1,6 +0,0 @@
|
||||
cmake-initial-cache-dirs
|
||||
------------------------
|
||||
|
||||
* The :manual:`cmake(1)` ``-C <initial-cache>`` option now evaluates the
|
||||
initial cache script with :variable:`CMAKE_SOURCE_DIR` and
|
||||
:variable:`CMAKE_BINARY_DIR` set to the top-level source and build trees.
|
||||
@@ -1,8 +0,0 @@
|
||||
cmake-qch-no-version-in-filename
|
||||
--------------------------------
|
||||
|
||||
* The Qt Compressed Help file is now named ``CMake.qch``, which no longer
|
||||
contains the release version in the file name. When CMake is upgraded
|
||||
in-place, the name and location of this file will remain constant.
|
||||
Tools such as IDEs, help viewers, etc. should now be able to refer to this
|
||||
file at a fixed location that remains valid across CMake upgrades.
|
||||
@@ -1,5 +0,0 @@
|
||||
cpack-install-multiple-configurations
|
||||
-------------------------------------
|
||||
|
||||
* CPack learned :variable:`CPACK_INSTALL_CMAKE_CONFIGURATIONS` to control
|
||||
what configurations going to be packaged for multi-configuration generators.
|
||||
@@ -1,5 +0,0 @@
|
||||
cpack-install-scripts
|
||||
---------------------
|
||||
|
||||
* The ``CPACK_INSTALL_SCRIPT`` variable has been deprecated in favor of the
|
||||
new, more accurately named :variable:`CPACK_INSTALL_SCRIPTS` variable.
|
||||
@@ -1,5 +0,0 @@
|
||||
cpack-zstd
|
||||
----------
|
||||
|
||||
* The :cpack_gen:`CPack Archive Generator` learned to generate `.tar.zst`
|
||||
packages with Zstandard compression.
|
||||
@@ -1,6 +0,0 @@
|
||||
ctest-build-makeprogram-propagated-configure-pass
|
||||
-------------------------------------------------
|
||||
|
||||
* :manual:`ctest(1)` ``--build-makeprogram`` now specifies the make program
|
||||
used when configuring a project with the Ninja and Makefiles generators
|
||||
in addition to building it.
|
||||
@@ -1,6 +0,0 @@
|
||||
ctest-hardware-allocation
|
||||
-------------------------
|
||||
|
||||
* :manual:`ctest(1)` now has the ability to serialize tests based on hardware
|
||||
requirements for each test. See :ref:`ctest-hardware-allocation` for
|
||||
details.
|
||||
@@ -1,6 +0,0 @@
|
||||
cuda-CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
|
||||
--------------------------------------
|
||||
|
||||
* Variable :variable:`CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS` has been
|
||||
introduced to optionally initialize the
|
||||
:prop_tgt:`CUDA_RESOLVE_DEVICE_SYMBOLS` target property.
|
||||
@@ -1,8 +0,0 @@
|
||||
deprecate-policy-old
|
||||
--------------------
|
||||
|
||||
* An explicit deprecation diagnostic was added for policy ``CMP0067``
|
||||
(``CMP0066`` 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,7 +0,0 @@
|
||||
doxygen-add-docs-USE_STAMP_FILE
|
||||
-------------------------------
|
||||
|
||||
* The :command:`doxygen_add_docs` command from the :module:`FindDoxygen`
|
||||
module gained a new ``USE_STAMP_FILE`` option. When this option present,
|
||||
the custom target created by the command will only re-run Doxygen if any
|
||||
of the source files have changed since the last successful run.
|
||||
@@ -1,6 +0,0 @@
|
||||
eclipse-resource-encoding
|
||||
-------------------------
|
||||
|
||||
* The :generator:`Eclipse CDT4` extra generator gained a new
|
||||
:variable:`CMAKE_ECLIPSE_RESOURCE_ENCODING` option to specify
|
||||
the resource encoding.
|
||||
@@ -1,6 +0,0 @@
|
||||
external-project-support-no-git-submodules
|
||||
------------------------------------------
|
||||
|
||||
* The :module:`ExternalProject` module's ``ExternalProject_Add`` command
|
||||
has been updated so that ``GIT_SUBMODULES ""`` initializes no submodules. See
|
||||
policy :policy:`CMP0097`.
|
||||
@@ -1,9 +0,0 @@
|
||||
get-runtime-dependencies
|
||||
------------------------
|
||||
|
||||
* The :command:`file` command learned a new sub-command,
|
||||
``GET_RUNTIME_DEPENDENCIES``, which allows you to recursively get the list of
|
||||
libraries linked by an executable or library. This sub-command is intended as
|
||||
a replacement for :module:`GetPrerequisites`.
|
||||
* The :module:`GetPrerequisites` module has been deprecated, as it has been
|
||||
superceded by :command:`file(GET_RUNTIME_DEPENDENCIES)`.
|
||||
@@ -1,21 +0,0 @@
|
||||
global-controls-over-find-locations
|
||||
-----------------------------------
|
||||
|
||||
* The :command:`find_file`, :command:`find_library`, :command:`find_path`,
|
||||
:command:`find_package`, and :command:`find_program` commands have learned to
|
||||
check the following variables to control searching
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH` - Controls the searching
|
||||
the cmake-specific environment variables.
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_CMAKE_PATH` - Controls the searching the
|
||||
cmake-specific cache variables.
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_CMAKE_SYSTEM_PATH` - Controls the searching
|
||||
cmake platform specific variables.
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_PACKAGE_ROOT_PATH` - Controls the searching of
|
||||
:variable:`<PackageName>_ROOT` variables.
|
||||
|
||||
* :variable:`CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH` - Controls the searching
|
||||
the standard system environment variables.
|
||||
@@ -1,5 +0,0 @@
|
||||
gtest-1.8.1
|
||||
-----------
|
||||
|
||||
* The :module:`FindGTest` module has been updated to recognize
|
||||
MSVC build trees generated by GTest 1.8.1.
|
||||
@@ -1,5 +0,0 @@
|
||||
message-indent
|
||||
--------------
|
||||
|
||||
* The :command:`message` command learned indentation control with the new
|
||||
:variable:`CMAKE_MESSAGE_INDENT` variable.
|
||||
@@ -1,9 +0,0 @@
|
||||
Objective C/C++
|
||||
---------------
|
||||
|
||||
* CMake learned to support the Objective C (``OBJC``) and Objective C++
|
||||
(``OBJCXX``) languages. They may be enabled via the :command:`project`
|
||||
and :command:`enable_language` commands. When ``OBJC`` or ``OBJCXX``
|
||||
is enabled, source files with the ``.m`` or ``.mm``, respectively,
|
||||
will be compiled as Objective C or C++. Otherwise they will be treated
|
||||
as plain C++ sources as they were before.
|
||||
@@ -1,9 +0,0 @@
|
||||
per-lang-link-library-flag
|
||||
--------------------------
|
||||
|
||||
* New variables :variable:`CMAKE_<LANG>_LINK_LIBRARY_FLAG`,
|
||||
:variable:`CMAKE_<LANG>_LINK_LIBRARY_FILE_FLAG`, and
|
||||
:variable:`CMAKE_<LANG>_LINK_LIBRARY_SUFFIX` allow control of the
|
||||
flag used to specify linking to a library on a per-language basis.
|
||||
This is useful for mixed-language projects where the different
|
||||
drivers may use different flags.
|
||||
@@ -1,6 +0,0 @@
|
||||
Precompile Headers
|
||||
------------------
|
||||
|
||||
* The :prop_tgt:`PRECOMPILE_HEADERS` target property was added to tell
|
||||
generators to use a list of precompile headers for faster compilation
|
||||
times.
|
||||
@@ -1,5 +0,0 @@
|
||||
project-version-0
|
||||
-----------------
|
||||
|
||||
* The :command:`project` no longer strips leading zeros in version components.
|
||||
See policy :policy:`CMP0096`.
|
||||
@@ -1,6 +0,0 @@
|
||||
remove_directory-symlink
|
||||
------------------------
|
||||
|
||||
* The :manual:`cmake(1)` ``-E remove_directory`` command-line tool,
|
||||
when given the path to a symlink to a directory, now removes just
|
||||
the symlink. It no longer removes content of the linked directory.
|
||||
@@ -1,4 +0,0 @@
|
||||
solaris_clang
|
||||
-------------
|
||||
|
||||
* The ``Clang`` compiler is now supported on ``Solaris``.
|
||||
@@ -1,6 +0,0 @@
|
||||
trace-redirect
|
||||
--------------
|
||||
|
||||
* :manual:`cmake(1)` gained a ``--trace-redirect=<file>`` command line option
|
||||
that can be used to redirect ``--trace`` output to a file instead
|
||||
of ``stderr``.
|
||||
@@ -1,6 +0,0 @@
|
||||
Unity build
|
||||
-----------
|
||||
|
||||
* The :prop_tgt:`UNITY_BUILD` target property was added to tell
|
||||
generators to batch include source files for faster compilation
|
||||
times.
|
||||
@@ -1,5 +0,0 @@
|
||||
vs-configuration-type-genex
|
||||
---------------------------
|
||||
|
||||
* :prop_tgt:`VS_CONFIGURATION_TYPE` now supports
|
||||
:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
||||
@@ -1,6 +0,0 @@
|
||||
vs-dpi-aware
|
||||
------------
|
||||
|
||||
* The :prop_tgt:`VS_DPI_AWARE` target property was added to tell
|
||||
:ref:`Visual Studio Generators` to set the ``EnableDpiAwareness``
|
||||
property in ``.vcxproj`` files.
|
||||
@@ -1,6 +0,0 @@
|
||||
windows-auto-export-incremental-build
|
||||
-------------------------------------
|
||||
|
||||
* On Windows, existing auto generated exports are now only updated if the
|
||||
modified time stamp of the exports is not newer than any modified time stamp
|
||||
of the input files.
|
||||
@@ -1,7 +0,0 @@
|
||||
xcode-debug-document-versioning
|
||||
-------------------------------
|
||||
|
||||
* The Xcode generator learnt to set the value of the
|
||||
``Allow debugging when using document Versions Browser`` schema
|
||||
option with the :prop_tgt:`XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING`
|
||||
target property.
|
||||
@@ -15,6 +15,7 @@ Releases
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
3.16 <3.16>
|
||||
3.15 <3.15>
|
||||
3.14 <3.14>
|
||||
3.13 <3.13>
|
||||
|
||||
Reference in New Issue
Block a user