summaryrefslogtreecommitdiff
path: root/share/cmake-3.17/Help/release/3.10.rst
diff options
context:
space:
mode:
Diffstat (limited to 'share/cmake-3.17/Help/release/3.10.rst')
-rw-r--r--share/cmake-3.17/Help/release/3.10.rst282
1 files changed, 0 insertions, 282 deletions
diff --git a/share/cmake-3.17/Help/release/3.10.rst b/share/cmake-3.17/Help/release/3.10.rst
deleted file mode 100644
index 03eda36..0000000
--- a/share/cmake-3.17/Help/release/3.10.rst
+++ /dev/null
@@ -1,282 +0,0 @@
-CMake 3.10 Release Notes
-************************
-
-.. only:: html
-
- .. contents::
-
-Changes made since CMake 3.9 include the following.
-
-New Features
-============
-
-Platforms
----------
-
-* The `flang`_ Fortran compiler is now supported, with compiler id ``Flang``.
-
-* A new minimal platform file for ``Midipix`` was added.
-
-* Support for the MSVC ARM64 architecture was added.
- Visual Studio 2017 Update 4 and above offer an ARM64 toolchain.
-
-* Support for the IAR ARM Compiler was improved.
-
-.. _`flang`: https://github.com/flang-compiler/flang
-
-Generators
-----------
-
-* The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned
- to add compiler launcher tools like ccache along with the compiler for the
- ``CUDA`` language (``C`` and ``CXX`` were supported previously). See the
- :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and
- :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details.
-
-* The :generator:`CodeBlocks` extra generator learned to optionally exclude
- files from outside the project root directory from the generated project.
- See the :variable:`CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES` variable.
-
-Commands
---------
-
-* The :command:`cmake_host_system_information` command learned more keys
- to get information about the processor capabilities and the host OS
- version.
-
-* The :command:`configure_file` command learned to support indented
- ``# cmakedefine`` and ``# cmakedefine01``. Spaces and/or tabs between
- the ``#`` character and the ``cmakedefine``/``cmakedefine01`` words
- are now understood and preserved in the output.
-
-* The :command:`execute_process` command gained a ``RESULTS_VARIABLE``
- option to collect a list of results from all children in a pipeline
- of processes when multiple ``COMMAND`` arguments are given.
-
-* The :command:`include_guard` command was introduced to allow guarding
- CMake scripts from being included more than once. The command supports
- ``DIRECTORY`` and ``GLOBAL`` options to adjust the corresponding include guard
- scope. If no options given, include guard is similar to basic variable-based
- check.
-
-* The :command:`string` command learned a new ``PREPEND`` subcommand.
-
-* The :command:`string(TIMESTAMP)` command now supports ``%A``
- for full weekday name and ``%B`` for full month name.
-
-Variables
----------
-
-* A :variable:`CMAKE_DIRECTORY_LABELS` variable was added to specify
- labels for all tests in a directory.
-
-Properties
-----------
-
-* A :prop_tgt:`<LANG>_CPPCHECK` target property and supporting
- :variable:`CMAKE_<LANG>_CPPCHECK` variable were introduced to tell
- the :ref:`Makefile Generators` and the :generator:`Ninja` generator to
- run ``cppcheck`` with the compiler for ``C`` and ``CXX`` languages.
-
-* A :prop_dir:`LABELS` directory property was added to specify labels
- for all targets and tests in a directory.
-
-* A :prop_dir:`TEST_INCLUDE_FILES` directory property was added to
- list any number of files to be included when running tests with
- :manual:`ctest(1)`. This generalizes the :prop_dir:`TEST_INCLUDE_FILE`
- property.
-
-* The :prop_tgt:`VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>`
- target property was added to support custom XML tags for reference
- assemblies in C# targets.
-
-* Source file properties :prop_sf:`VS_SHADER_OUTPUT_HEADER_FILE` and
- :prop_sf:`VS_SHADER_VARIABLE_NAME` have been added to specify more
- details of ``.hlsl`` sources with :ref:`Visual Studio Generators`.
-
-Modules
--------
-
-* The :module:`FindCurses` module gained a ``CURSES_NEED_WIDE`` option
- to request the wide-character variant.
-
-* The :module:`FindEXPAT` module now provides imported targets.
-
-* The :module:`FindFreetype` module now provides imported targets.
-
-* :module:`FindMPI` gained a number of new features, including:
-
- * Language-specific components have been added to the module.
- * Many more MPI environments are now supported.
- * The environmental support for Fortran has been improved.
- * A user now has fine-grained control over the MPI selection process,
- including passing custom parameters to the MPI compiler.
- * The version of the implemented MPI standard is now being exposed.
- * MPI-2 C++ bindings can now be detected and also suppressed if so desired.
- * The available Fortran bindings are now being detected and verified.
- * Various MPI-3 information can be requested, including the library version
- and Fortran capabilities of the individual bindings.
- * Statically linked MPI implementations are supported.
-
-* A :module:`FindOpenACC` module was added to detect compiler support
- for OpenACC. Currently only supports PGI, GNU and Cray compilers.
-
-* The :module:`FindOpenGL` module gained support for GLVND on Linux.
-
-* The :module:`FindOpenMP` module gained support for
- language-specific components.
-
-* A :module:`FindPatch` module was added to find the ``patch``
- command-line executable.
-
-* The :module:`FindProtobuf` module :command:`protobuf_generate_cpp` command
- gained a ``DESCRIPTORS`` option to generate descriptor files.
-
-* The :module:`GoogleTest` module gained a new command
- :command:`gtest_discover_tests` implementing dynamic (build-time) test
- discovery. Unlike the source parsing approach, dynamic discovery executes
- the test (in 'list available tests' mode) at build time to discover tests.
- This is robust against unusual ways of labeling tests, provides much better
- support for advanced features such as parameterized tests, and does not
- require re-running CMake to discover added or removed tests within a test
- executable. Note that a breaking change was made in CMake 3.10.3 to address
- an ambiguity of the ``TIMEOUT`` keyword (see :ref:`Release Notes 3.10.3`).
-
-* The :module:`InstallRequiredSystemLibraries` module gained support
- for installing Intel compiler runtimes.
-
-Autogen
--------
-
-* When using :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC` with a
- multi configuration generator (e.g. :generator:`Xcode`),
- included ``*.moc``, ``moc_*.cpp`` and ``ui_*.h`` files are generated in
- ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>`` instead of
- ``<AUTOGEN_BUILD_DIR>/include``.
-
-* When using :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC`,
- source files that are :prop_sf:`GENERATED` will be processed as well.
- They were ignored by :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`
- in earlier releases.
- See policy :policy:`CMP0071`.
-
-* When using :prop_tgt:`AUTOMOC`, CMake searches for the strings ``Q_OBJECT``,
- ``Q_GADGET`` or ``Q_NAMESPACE`` in a source file to determine if it needs
- to be ``moc`` processed. The new :variable:`CMAKE_AUTOMOC_MACRO_NAMES`
- variable and :prop_tgt:`AUTOMOC_MACRO_NAMES` target property may be set
- to register additional strings (macro names) to search for.
-
-* When using :prop_tgt:`AUTOMOC`, the new
- :variable:`CMAKE_AUTOMOC_COMPILER_PREDEFINES` variable and
- :prop_tgt:`AUTOMOC_COMPILER_PREDEFINES` target property specify whether
- to enable or disable the generation of the compiler pre definitions file
- ``moc_predefs.h``.
-
-CTest
------
-
-* A :variable:`CTEST_LABELS_FOR_SUBPROJECTS` CTest module variable and CTest
- script variable were added to specify a list of labels that should be
- treated as subprojects by CDash. To use this value in both the CTest module
- and the ctest command line :ref:`Dashboard Client` mode (e.g. ``ctest -S``)
- set it in the ``CTestConfig.cmake`` config file.
-
-CPack
------
-
-* A :cpack_gen:`CPack FreeBSD Generator` was added for FreeBSD ``pkg(8)``.
-
-* The :cpack_gen:`CPack DEB Generator` was enabled on Windows. While not
- fully featured (due to the lack of external UNIX tools) this will allow
- building basic cross-platform Debian packages.
-
-* The :cpack_gen:`CPack DEB Generator` learned to set package release
- version in ``Version`` info property.
- See the :variable:`CPACK_DEBIAN_PACKAGE_RELEASE` variable.
-
-* The :cpack_gen:`CPack DEB Generator` learned more strict package
- version checking that complies with Debian rules.
-
-* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component` and
- :command:`cpack_ifw_configure_component_group` commands gained a new
- ``REPLACES`` and ``CHECKABLE`` options.
-
-* The :cpack_gen:`CPack IFW Generator` gained new
- :variable:`CPACK_IFW_PACKAGE_FILE_EXTENSION` variable to customize
- target binary format.
-
-* The :cpack_gen:`CPack IFW Generator` gained new
- :variable:`CPACK_IFW_REPOSITORIES_DIRECTORIES` variable to specify
- additional repositories dirs that will be used to resolve and
- repack dependent components. This feature is only available when
- using QtIFW 3.1 or later.
-
-* The :cpack_gen:`CPack RPM Generator` and :cpack_gen:`CPack DEB Generator`
- learned to set the package epoch version.
- See :variable:`CPACK_RPM_PACKAGE_EPOCH` and
- :variable:`CPACK_DEBIAN_PACKAGE_EPOCH` variables.
-
-Other
------
-
-* The :manual:`cmake(1)` ``-E`` mode gained support for ``sha1sum``,
- ``sha224sum``, ``sha256sum``, ``sha384sum``, and ``sha512sum``.
-
-* The graphviz output now distinguishes among the different dependency types
- ``PUBLIC``, ``PRIVATE`` and ``INTERFACE`` and represents them in the output
- graph as solid, dashed and dotted edges.
-
-Deprecated and Removed Features
-===============================
-
-* Support for building CMake itself with C++98 compilers was dropped.
- CMake is now implemented using C++11.
-
-* Support for building CMake on HP-UX has been dropped pending better
- support for C++11 and a port of libuv. See `CMake Issue 17137`_.
- Use CMake 3.9 or lower instead for HP-UX support.
-
-.. _`CMake Issue 17137`: https://gitlab.kitware.com/cmake/cmake/issues/17137
-
-Other Changes
-=============
-
-* On FreeBSD the C++ compiler named ``c++`` is now the preferred default.
-
-* The :command:`file(GENERATE)` command now interprets relative paths
- given to its ``OUTPUT`` and ``INPUT`` arguments with respect to the
- caller's current binary and source directories, respectively.
- See policy :policy:`CMP0070`.
-
-* The :command:`get_filename_component` ``PROGRAM`` mode semantics
- have been revised to not tolerate unquoted spaces in the path
- to the program while also accepting arguments. While technically
- incompatible with the old behavior, it is expected that behavior
- under typical use cases with properly-quoted command-lines has
- not changed.
-
-Updates
-=======
-
-Changes made since CMake 3.10.0 include the following.
-
-3.10.1
-------
-
-* The :manual:`cmake-server(7)` ``codemodel`` response ``crossReferences``
- field added by 3.10.0 has been dropped due to excessive memory usage.
- Another approach will be needed to provide backtrace information.
-
-.. _`Release Notes 3.10.3`:
-
-3.10.3
-------
-
-* CMake 3.10.1 added a ``TIMEOUT`` option to :command:`gtest_discover_tests`
- from the :module:`GoogleTest` module. That keyword clashed with the
- ``TIMEOUT`` test property, which is one of the common properties that
- would be set with the command's ``PROPERTIES`` keyword, usually leading
- to legal but unintended behavior. The keyword was changed to
- ``DISCOVERY_TIMEOUT`` in CMake 3.10.3 to address this problem. The
- ambiguous behavior of the :command:`gtest_discover_tests` command's
- ``TIMEOUT`` keyword in 3.10.1 and 3.10.2 has not been preserved.