diff options
author | Brad King <brad.king@kitware.com> | 2020-06-05 12:22:11 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-06-05 12:22:18 (GMT) |
commit | 7cf278da5567303bf8e2211909a4636a228beb6a (patch) | |
tree | fdb0424a9cb752466e8646dc56c5b9995a59e033 /Help/release | |
parent | 3414ee155e0423284a9171497d7724828fd324a5 (diff) | |
parent | 389ca18289f49a9c1f8f6c412f8642d79d6a1720 (diff) | |
download | CMake-7cf278da5567303bf8e2211909a4636a228beb6a.zip CMake-7cf278da5567303bf8e2211909a4636a228beb6a.tar.gz CMake-7cf278da5567303bf8e2211909a4636a228beb6a.tar.bz2 |
Merge topic 'doc-3.18-relnotes'
389ca18289 Help: Organize and revise 3.18 release notes
ab6b5c01ea Help: Consolidate 3.18 release notes
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4845
Diffstat (limited to 'Help/release')
62 files changed, 301 insertions, 370 deletions
diff --git a/Help/release/3.18.rst b/Help/release/3.18.rst new file mode 100644 index 0000000..71f9d85 --- /dev/null +++ b/Help/release/3.18.rst @@ -0,0 +1,300 @@ +CMake 3.18 Release Notes +************************ + +.. only:: html + + .. contents:: + +Changes made since CMake 3.17 include the following. + +New Features +============ + +Languages +--------- + +* The ``CUDA`` language can now be compiled using Clang. + +Command-Line +------------ + +* :manual:`cmake(1)` gained support for profiling of CMake scripts through + the parameters ``--profiling-output`` and ``--profiling-format``. + +* :manual:`cmake(1)` gained a ``cat`` command line + option that can be used to concatenate files and print them + on standard output. + +Commands +-------- + +* The :command:`add_library` and :command:`add_executable` commands + learned to create :ref:`Alias Targets` referencing non-``GLOBAL`` + :ref:`Imported Targets`. + +* The :command:`cmake_language()` command was added for meta-operations on + scripted or built-in commands, starting with a mode to ``CALL`` other + commands, and ``EVAL CODE`` to inplace evaluate a CMake script. + +* The :command:`execute_process` command gained the ``ECHO_OUTPUT_VARIABLE`` + and ``ECHO_ERROR_VARIABLE`` options. + +* The :command:`export` command now raise an error if used multiple times with + same ``FILE`` without ``APPEND``. See policy :policy:`CMP0103`. + +* The :command:`file` command gained the ``ARCHIVE_CREATE`` and + ``ARCHIVE_EXTRACT`` subcommands to expose the :manual:`cmake(1)` ``-E tar`` + functionality to CMake scripting code. + +* The :command:`file(CONFIGURE)` subcommand was created in order to replicate + the :command:`configure_file` functionality without resorting to a + pre-existing file on disk as input. The content is instead passed as a + string. + +* The :command:`file(UPLOAD)` command gained ``TLS_VERIFY`` and ``TLS_CAINFO`` + options to control server certificate verification. + +* The :command:`find_program`, :command:`find_library`, :command:`find_path` + and :command:`find_file` commands gained a new ``REQUIRED`` option that will + stop processing with an error message if nothing is found. + +* The :command:`get_property` command with ``SOURCE`` scope gained the + ``DIRECTORY`` and ``TARGET_DIRECTORY`` options to get a property + from the provided directory scope. + +* The :command:`get_source_file_property` command gained the ``DIRECTORY`` + and ``TARGET_DIRECTORY`` options to get a property from the + provided directory scope. + +* The :command:`list` operation ``SORT`` gained the ``NATURAL`` sort + option to sort using natural order (see ``strverscmp(3)`` manual). + +* The :command:`set_property` command with the ``SOURCE`` scope gained the + ``DIRECTORY`` and ``TARGET_DIRECTORY`` options to set properties + in the provided directory scopes. + +* The :command:`set_source_files_properties` command gained the ``DIRECTORY`` + and ``TARGET_DIRECTORY`` options to set properties in the provided + directory scopes. + +* The :command:`string` command learned a new ``HEX`` sub-command, which + converts strings into their hexadecimal representation. + +Variables +--------- + +* A :variable:`CMAKE_CUDA_ARCHITECTURES` variable was added to specify + CUDA output architectures. Users are encouraged to use this instead of + specifying options manually, as this approach is compiler-agnostic. + The variable is initialized automatically when + :variable:`CMAKE_CUDA_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` is ``NVIDIA``. + The variable is used to initialize the new :prop_tgt:`CUDA_ARCHITECTURES` + target property. See policy :policy:`CMP0104`. + +* The :variable:`CMAKE_PCH_WARN_INVALID` variable was added to initialize the + :prop_tgt:`PCH_WARN_INVALID` target property to allow the removal of the + precompiled header invalid warning. + +Properties +---------- + +* The :prop_tgt:`CUDA_ARCHITECTURES` target property was added to specify + CUDA output architectures. Users are encouraged to use this instead of + specifying options manually, as this approach is compiler-agnostic. + The property is initialized by the new :variable:`CMAKE_CUDA_ARCHITECTURES` + variable. See policy :policy:`CMP0104`. + +* The :prop_tgt:`Fortran_PREPROCESS` target property and + :prop_sf:`Fortran_PREPROCESS` source-file property were added to + control preprocessing of Fortran source files. + +* The :prop_tgt:`FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>` target property + and associated :variable:`CMAKE_FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>` + variable were created to allow adding a postfix to the name of a + framework file name when using a multi-config generator. + +* The :prop_sf:`OBJECT_OUTPUTS` source file property now supports + :manual:`generator expressions <cmake-generator-expressions(7)>`. + +* The :prop_tgt:`UNITY_BUILD_MODE` target property was added to tell + generators which algorithm to use for grouping included source + files. + +* The :prop_tgt:`VS_SOURCE_SETTINGS_<tool>` target property was added + to tell :ref:`Visual Studio Generators` for VS 2010 and above to add + metadata to non-built source files using ``<tool>``. + +* The :prop_sf:`VS_SETTINGS` source file property was added to tell + :ref:`Visual Studio Generators` for VS 2010 and above to add + metadata to a non-built source file. + +* The :prop_tgt:`VS_PLATFORM_TOOLSET` target property was added to tell + :ref:`Visual Studio Generators` for VS 2010 and above to override + the platform toolset. + +* The :prop_tgt:`VS_SOLUTION_DEPLOY` target property was added to tell + :ref:`Visual Studio Generators` for VS 2010 and above to mark a + target for deployment even when not building for Windows Phone/Store/CE. + +Modules +------- + +* The :module:`CheckLinkerFlag` module has been added to provide a + facility to check validity of link flags. + +* The :module:`ExternalProject` module :command:`ExternalProject_Add` command + gained a new ``GIT_REMOTE_UPDATE_STRATEGY`` keyword. This can be used to + specify how failed rebase operations during a git update should be handled. + The ``CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY`` variable was also added as a + global default and is honored by both the :module:`ExternalProject` and + :module:`FetchContent` modules. + +* The :module:`FetchContent` module :command:`FetchContent_Declare` command + now supports a ``SOURCE_SUBDIR`` option. It can be used to direct + :command:`FetchContent_MakeAvailable` to look in a different location + for the ``CMakeLists.txt`` file. + +* The :module:`FindBLAS` module now provides an imported target. + +* The :module:`FindLAPACK` module now provides an imported target. + +* The :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython` + modules: + + * gained the possibility to create per-artifact cache variables for + interactive editing in :manual:`cmake-gui(1)` and :manual:`ccmake(1)`. + + * gained sub-components ``Development.Module`` and + ``Development.Embed`` under the ``Development`` component. + + * gained the capability to specify which Python implementations to find, + including ``IronPython`` and ``PyPy``. + +* The :module:`FindRuby` module input and output variables were all renamed + from ``RUBY_`` to ``Ruby_`` for consistency with other find modules. + Input variables of the old case will be honored if provided, and output + variables of the old case are always provided. + +* The :module:`FindSWIG` module now accepts target languages as ``COMPONENTS`` + and ``OPTIONAL_COMPONENTS`` arguments to ``find_package``. + +* The :module:`GoogleTest` module :command:`gtest_discover_tests` command: + + * gained a new ``DISCOVERY_MODE`` option to control when the test + discovery step is run. It offers a new ``PRE_TEST`` setting to + run the discovery at test time instead of build time. + + * gained a new optional parameter ``XML_OUTPUT_DIR``. When set the + JUnit XML test results are stored in that directory. + +* The :module:`FindLibXslt` module now provides imported targets. + +* The :module:`UseSWIG` module now supports Fortran as a target language if + the ``SWIG_EXECUTABLE`` is SWIG-Fortran_. + +.. _`SWIG-Fortran`: https://github.com/swig-fortran/swig + +Generator Expressions +--------------------- + +* The ``$<DEVICE_LINK:...>`` and ``$<HOST_LINK:...>`` + :manual:`generator expressions <cmake-generator-expressions(7)>` were added + to manage device and host link steps. + +* The ``$<LINK_LANGUAGE:...>`` and ``$<LINK_LANG_AND_ID:...>`` + :manual:`generator expressions <cmake-generator-expressions(7)>` were added. + +CTest +----- + +* :manual:`ctest(1)` gained a new :variable:`CTEST_RESOURCE_SPEC_FILE` + variable, which can be used to specify a + :ref:`resource specification file <ctest-resource-specification-file>`. + +* :manual:`ctest(1)` gained a ``--stop-on-failure`` option, + which can be used to stop running the tests once one has failed. + +* The :command:`ctest_test` command gained a ``STOP_ON_FAILURE`` option + which can be used to stop running the tests once one has failed. + +* The :module:`CTestCoverageCollectGCOV` module + :command:`ctest_coverage_collect_gcov` command gained a + ``TARBALL_COMPRESSION`` option to control compression of the + tarball of collected results. + +CPack +----- + +* The :cpack_gen:`CPack Archive Generator`'s ``TXZ`` format learned the + :variable:`CPACK_ARCHIVE_THREADS` variable to enable parallel compression. + Requires support in the ``liblzma`` used by CMake. + +* The :cpack_gen:`CPack NSIS Generator` gained a new variable + :variable:`CPACK_NSIS_MANIFEST_DPI_AWARE` to declare that the + installer is DPI-aware. + +* The :cpack_gen:`CPack RPM Generator` gained + :variable:`CPACK_RPM_PRE_TRANS_SCRIPT_FILE` + :variable:`CPACK_RPM_POST_TRANS_SCRIPT_FILE` + variables to specify pre- and post-trans scripts. + +Other +----- + +* :manual:`cmake-gui(1)` now populates its generator selection + widget default value from the :envvar:`CMAKE_GENERATOR` environment + variable. Additionally, environment variables + :envvar:`CMAKE_GENERATOR_PLATFORM` and :envvar:`CMAKE_GENERATOR_TOOLSET` + are used to populate their respective widget defaults. + +* :manual:`ccmake(1)` learned to read a :envvar:`CCMAKE_COLORS` + environment variable to customize colors. + +Deprecated and Removed Features +=============================== + +* The :module:`Documentation` module has been deprecated via + :policy:`CMP0106`. This module was essentially VTK code that CMake should + not be shipping anymore. + +* An explicit deprecation diagnostic was added for policy ``CMP0070`` + and policy ``CMP0071`` (``CMP0069`` 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 +============= + +* On Windows, the :generator:`Ninja` and :generator:`Ninja Multi-Config` + generators, when a compiler is not explicitly specified, now select + the first compiler (of any name) found in directories listed by the + ``PATH`` environment variable. + +* The :prop_tgt:`LINK_OPTIONS` and :prop_tgt:`INTERFACE_LINK_OPTIONS` target + properties are now used for the device link step. + See policy :policy:`CMP0105`. + +* Creation of an ``ALIAS`` target overwriting an existing target now raises an + error. See policy :policy:`CMP0107`. + +* Linking a target to itself through an alias now raises an error. + See policy :policy:`CMP0108`. + +* The :module:`FindPackageHandleStandardArgs` module option ``REQUIRED_VARS`` + is now optional if ``HANDLE_COMPONENTS`` is specified. + +* The :command:`source_group` command now also recognizes forward slashes + as subgroup delimiters, not just backslashes. + +* :manual:`ctest(1)` now logs environment variables that it sets for each test, + either due to the :prop_test:`ENVIRONMENT` property or the + :ref:`resource allocation <ctest-resource-allocation>` feature, and submits + this log to CDash. It does not log environment variables that were set + outside of CTest. + +* When building CMake itself from source and not using a system-provided + libcurl, HTTP/2 support is now enabled for commands supporting + network communication via ``http(s)``, such as :command:`file(DOWNLOAD)`, + :command:`file(UPLOAD)`, and :command:`ctest_submit`. + The precompiled binaries provided on ``cmake.org`` now support HTTP/2. diff --git a/Help/release/dev/CPackRPM-trans-scripts.rst b/Help/release/dev/CPackRPM-trans-scripts.rst deleted file mode 100644 index 57fc099..0000000 --- a/Help/release/dev/CPackRPM-trans-scripts.rst +++ /dev/null @@ -1,7 +0,0 @@ -CPackRPM-trans-scripts ----------------------- - -* The :cpack_gen:`CPack RPM Generator` gained - :variable:`CPACK_RPM_PRE_TRANS_SCRIPT_FILE` - :variable:`CPACK_RPM_POST_TRANS_SCRIPT_FILE` - variables to specify pre- and post-trans scripts. diff --git a/Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst b/Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst deleted file mode 100644 index eb8532d..0000000 --- a/Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst +++ /dev/null @@ -1,7 +0,0 @@ -CTestCoverageCollectGCOV-compress-opts --------------------------------------- - -* The :module:`CTestCoverageCollectGCOV` module - :command:`ctest_coverage_collect_gcov` function gained a - ``TARBALL_COMPRESSION`` option to control compression of the - tarball of collected results. diff --git a/Help/release/dev/CheckLinkerFlag.rst b/Help/release/dev/CheckLinkerFlag.rst deleted file mode 100644 index fd48d99..0000000 --- a/Help/release/dev/CheckLinkerFlag.rst +++ /dev/null @@ -1,5 +0,0 @@ -CheckLinkerFlag ---------------- - -* New :module:`CheckLinkerFlag` module has been added to provide a facility to - check validity of link flags. diff --git a/Help/release/dev/FPHSA-handle_components.rst b/Help/release/dev/FPHSA-handle_components.rst deleted file mode 100644 index 39907c4..0000000 --- a/Help/release/dev/FPHSA-handle_components.rst +++ /dev/null @@ -1,5 +0,0 @@ -FPHSA-handle_components ------------------------ - -* The :module:`FindPackageHandleStandardArgs` module option ``REQUIRED_VARS`` - is now optional if ``HANDLE_COMPONENTS`` is specified. diff --git a/Help/release/dev/FindBLAS-import-target.rst b/Help/release/dev/FindBLAS-import-target.rst deleted file mode 100644 index 29d6f0c..0000000 --- a/Help/release/dev/FindBLAS-import-target.rst +++ /dev/null @@ -1,4 +0,0 @@ -FindBLAS-import-target ----------------------- - -* The :module:`FindBLAS` module now provides an imported target. diff --git a/Help/release/dev/FindLAPACK-import-target.rst b/Help/release/dev/FindLAPACK-import-target.rst deleted file mode 100644 index 912d642..0000000 --- a/Help/release/dev/FindLAPACK-import-target.rst +++ /dev/null @@ -1,4 +0,0 @@ -FindLAPACK-import-target ------------------------- - -* The :module:`FindLAPACK` module now provides an imported target. diff --git a/Help/release/dev/FindPython-IronPython-support.rst b/Help/release/dev/FindPython-IronPython-support.rst deleted file mode 100644 index 0ed11e9..0000000 --- a/Help/release/dev/FindPython-IronPython-support.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindPython-IronPython-support ------------------------------ - -* The :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython` - modules support now the ``IronPython`` implementation on all platforms. diff --git a/Help/release/dev/FindPython-artifacts-interactive.rst b/Help/release/dev/FindPython-artifacts-interactive.rst deleted file mode 100644 index 1aa4b3e..0000000 --- a/Help/release/dev/FindPython-artifacts-interactive.rst +++ /dev/null @@ -1,6 +0,0 @@ -FindPython-artifacts-interactive --------------------------------- - -* The :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython` - modules gained the possibility to create artifacts cache variables for - interactive edition. diff --git a/Help/release/dev/FindPython-dev-subcomponents.rst b/Help/release/dev/FindPython-dev-subcomponents.rst deleted file mode 100644 index fe76ee8..0000000 --- a/Help/release/dev/FindPython-dev-subcomponents.rst +++ /dev/null @@ -1,6 +0,0 @@ -FindPython-dev-subcomponents ----------------------------- - -* The :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython` - modules gained sub-components ``Development.Module`` and - ``Development.Embed`` for ``Development`` component. diff --git a/Help/release/dev/FindPython-find-implementations.rst b/Help/release/dev/FindPython-find-implementations.rst deleted file mode 100644 index d4f548b..0000000 --- a/Help/release/dev/FindPython-find-implementations.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindPython-find-implementations -------------------------------- - -* The :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython` - modules gained the capability to specify which implementations to search for. diff --git a/Help/release/dev/FindPython-pypy.rst b/Help/release/dev/FindPython-pypy.rst deleted file mode 100644 index 84f0db1..0000000 --- a/Help/release/dev/FindPython-pypy.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindPython-pypy ---------------- - -* The :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython` - modules gained the capability to handle ``PyPy`` product. diff --git a/Help/release/dev/FindRuby-variable-case.rst b/Help/release/dev/FindRuby-variable-case.rst deleted file mode 100644 index bd4a2f1..0000000 --- a/Help/release/dev/FindRuby-variable-case.rst +++ /dev/null @@ -1,7 +0,0 @@ -FindRuby-variable-case ----------------------- - -* The :module:`FindRuby` module input and output variables were all renamed - from ``RUBY_`` to ``Ruby_`` for consistency with other find modules. - Input variables of the old case will be honored if provided, and output - variables of the old case are always provided. diff --git a/Help/release/dev/GoogleTest-DISCOVERY_MODE.rst b/Help/release/dev/GoogleTest-DISCOVERY_MODE.rst deleted file mode 100644 index 7bc2f14..0000000 --- a/Help/release/dev/GoogleTest-DISCOVERY_MODE.rst +++ /dev/null @@ -1,7 +0,0 @@ -GoogleTest-DISCOVERY_MODE -------------------------- - -* The :module:`GoogleTest` module :command:`gtest_discover_tests` command - gained a new ``DISCOVERY_MODE`` option to control when the test - discovery step is run. It offers a new ``PRE_TEST`` setting to - run the discovery at test time instead of build time. diff --git a/Help/release/dev/GoogleTest-XML_OUTPUT_DIR.rst b/Help/release/dev/GoogleTest-XML_OUTPUT_DIR.rst deleted file mode 100644 index e8aba01..0000000 --- a/Help/release/dev/GoogleTest-XML_OUTPUT_DIR.rst +++ /dev/null @@ -1,6 +0,0 @@ -GoogleTest-XML_OUTPUT_DIR -------------------------- - -* The :module:`GoogleTest` module :command:`gtest_discover_tests` command - gained a new optional parameter ``XML_OUTPUT_DIR``. When set the JUnit XML - test results are stored in that directory. diff --git a/Help/release/dev/alias-local-imported-target.rst b/Help/release/dev/alias-local-imported-target.rst deleted file mode 100644 index 026d793..0000000 --- a/Help/release/dev/alias-local-imported-target.rst +++ /dev/null @@ -1,6 +0,0 @@ -alias-local-imported-target ---------------------------- - -* :command:`add_library` and :command:`add_executable` gain the capability - to create an ``ALIAS`` to - non-``GLOBAL`` :ref:`Imported Target <Imported Targets>`. diff --git a/Help/release/dev/alias-overwrite.rst b/Help/release/dev/alias-overwrite.rst deleted file mode 100644 index 907e630..0000000 --- a/Help/release/dev/alias-overwrite.rst +++ /dev/null @@ -1,5 +0,0 @@ -alias-overwrite ---------------- - -* Creation of an ``ALIAS`` target overwriting an existing target now raise an - error. See policy :policy:`CMP0107`. diff --git a/Help/release/dev/ccmake-custom-colors.rst b/Help/release/dev/ccmake-custom-colors.rst deleted file mode 100644 index fcabe56..0000000 --- a/Help/release/dev/ccmake-custom-colors.rst +++ /dev/null @@ -1,5 +0,0 @@ -ccmake-custom-colors --------------------- - -* :manual:`ccmake(1)` learned to read a :envvar:`CCMAKE_COLORS` - environment variable to customize colors. diff --git a/Help/release/dev/cmake-gui-env-platform-defaults.rst b/Help/release/dev/cmake-gui-env-platform-defaults.rst deleted file mode 100644 index 0960ef1..0000000 --- a/Help/release/dev/cmake-gui-env-platform-defaults.rst +++ /dev/null @@ -1,8 +0,0 @@ -cmake-gui-env-platform-defaults -------------------------------- - -* :manual:`cmake-gui(1)` now populates its generator selection - widget default value from the :envvar:`CMAKE_GENERATOR` environment - variable. Additionally, environment variables - :envvar:`CMAKE_GENERATOR_PLATFORM` and :envvar:`CMAKE_GENERATOR_TOOLSET` - are used to populate their respective widget defaults. diff --git a/Help/release/dev/cmake_language-command.rst b/Help/release/dev/cmake_language-command.rst deleted file mode 100644 index 5c00cea..0000000 --- a/Help/release/dev/cmake_language-command.rst +++ /dev/null @@ -1,6 +0,0 @@ -cmake_language-command ----------------------- - -* The :command:`cmake_language()` command was added for meta-operations on - scripted or built-in commands, starting with a mode to ``CALL`` other - commands, and ``EVAL CODE`` to inplace evaluate a CMake script. diff --git a/Help/release/dev/command-line-cat.rst b/Help/release/dev/command-line-cat.rst deleted file mode 100644 index acde835..0000000 --- a/Help/release/dev/command-line-cat.rst +++ /dev/null @@ -1,5 +0,0 @@ -Command-Line ------------- -* :manual:`cmake(1)` gained a ``cat`` command line - option that can be used to concatenate files and print them - on standard output. diff --git a/Help/release/dev/ctest-log-environment.rst b/Help/release/dev/ctest-log-environment.rst deleted file mode 100644 index 0636a25..0000000 --- a/Help/release/dev/ctest-log-environment.rst +++ /dev/null @@ -1,8 +0,0 @@ -ctest-log-environment ---------------------- - -* :manual:`ctest(1)` now logs environment variables that it sets for each test, - either due to the :prop_test:`ENVIRONMENT` property or the - :ref:`resource allocation <ctest-resource-allocation>` feature, and submits - this log to CDash. It does not log environment variables that were set - outside of CTest. diff --git a/Help/release/dev/ctest_resource_spec_file-variable.rst b/Help/release/dev/ctest_resource_spec_file-variable.rst deleted file mode 100644 index 2ddf854..0000000 --- a/Help/release/dev/ctest_resource_spec_file-variable.rst +++ /dev/null @@ -1,6 +0,0 @@ -ctest_resource_spec_file-variable ---------------------------------- - -* :manual:`ctest(1)` gained a new :variable:`CTEST_RESOURCE_SPEC_FILE` - variable, which can be used to specify a - :ref:`resource specification file <ctest-resource-specification-file>`. diff --git a/Help/release/dev/ctest_stop_on_failure.rst b/Help/release/dev/ctest_stop_on_failure.rst deleted file mode 100644 index f10c37c..0000000 --- a/Help/release/dev/ctest_stop_on_failure.rst +++ /dev/null @@ -1,8 +0,0 @@ -ctest_stop_on_failure ---------------------- - -* :manual:`ctest(1)` gained a ``--stop-on-failure`` option, - which can be used to stop running the tests once one has failed. - -* The :command:`ctest_test` command gained a ``STOP_ON_FAILURE`` option - which can be used to stop running the tests once one has failed. diff --git a/Help/release/dev/cuda-architectures-empty.rst b/Help/release/dev/cuda-architectures-empty.rst deleted file mode 100644 index b0fc327..0000000 --- a/Help/release/dev/cuda-architectures-empty.rst +++ /dev/null @@ -1,7 +0,0 @@ -cuda-architectures-empty ------------------------- - -* :variable:`CMAKE_CUDA_ARCHITECTURES` is now initialized when - :variable:`CMAKE_CUDA_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` is ``NVIDIA``. - Empty :prop_tgt:`CUDA_ARCHITECTURES` raises an error. See policy - :policy:`CMP0104`. diff --git a/Help/release/dev/cuda-architectures.rst b/Help/release/dev/cuda-architectures.rst deleted file mode 100644 index dc6c55b..0000000 --- a/Help/release/dev/cuda-architectures.rst +++ /dev/null @@ -1,6 +0,0 @@ -cuda-architectures ------------------- - -* Added :prop_tgt:`CUDA_ARCHITECTURES` target property for specifying CUDA - output architectures. Users are encouraged to use this instead of specifying - options manually, as this approach is compiler-agnostic. diff --git a/Help/release/dev/cuda-clang.rst b/Help/release/dev/cuda-clang.rst deleted file mode 100644 index fa5cd5a..0000000 --- a/Help/release/dev/cuda-clang.rst +++ /dev/null @@ -1,4 +0,0 @@ -cuda-clang ----------- - -* The ``CUDA`` language now supports Clang as a compiler. diff --git a/Help/release/dev/curl-http2.rst b/Help/release/dev/curl-http2.rst deleted file mode 100644 index 8390a42..0000000 --- a/Help/release/dev/curl-http2.rst +++ /dev/null @@ -1,8 +0,0 @@ -curl-http2 ----------- - -* When building CMake itself from source and not using a system-provided - libcurl, HTTP/2 support is now enabled for commands supporting - network communication via ``http(s)``, such as :command:`file(DOWNLOAD)`, - :command:`file(UPLOAD)`, and :command:`ctest_submit`. - The precompiled binaries provided on ``cmake.org`` now support HTTP/2. diff --git a/Help/release/dev/deprecate-documentation-module.rst b/Help/release/dev/deprecate-documentation-module.rst deleted file mode 100644 index 5c3157b..0000000 --- a/Help/release/dev/deprecate-documentation-module.rst +++ /dev/null @@ -1,6 +0,0 @@ -deprecate-documentation-module ------------------------------- - -* The :module:`Documentation` module has been deprecated via - :policy:`CMP0106`. This module was essentially VTK code that CMake should - not be shipping anymore. diff --git a/Help/release/dev/deprecate-policy-old.rst b/Help/release/dev/deprecate-policy-old.rst deleted file mode 100644 index cffd206..0000000 --- a/Help/release/dev/deprecate-policy-old.rst +++ /dev/null @@ -1,8 +0,0 @@ -deprecate-policy-old --------------------- - -* An explicit deprecation diagnostic was added for policy ``CMP0070`` - and policy ``CMP0071`` (``CMP0069`` 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. diff --git a/Help/release/dev/device-link-options.rst b/Help/release/dev/device-link-options.rst deleted file mode 100644 index f58026b..0000000 --- a/Help/release/dev/device-link-options.rst +++ /dev/null @@ -1,5 +0,0 @@ -device-link-options -------------------- - -* the :prop_tgt:`LINK_OPTIONS` and :prop_tgt:`INTERFACE_LINK_OPTIONS` target - properties are now used for the device link step. See policy :policy:`CMP0105`. diff --git a/Help/release/dev/execute_process.rst b/Help/release/dev/execute_process.rst deleted file mode 100644 index 02e813b..0000000 --- a/Help/release/dev/execute_process.rst +++ /dev/null @@ -1,5 +0,0 @@ -execute_process ---------------- - -* The :command:`execute_process` command gained the ``ECHO_OUTPUT_VARIABLE`` - and ``ECHO_ERROR_VARIABLE`` options. diff --git a/Help/release/dev/export-multiple-calls.rst b/Help/release/dev/export-multiple-calls.rst deleted file mode 100644 index 00372ce..0000000 --- a/Help/release/dev/export-multiple-calls.rst +++ /dev/null @@ -1,5 +0,0 @@ -export-multiple-calls ---------------------- - -* The :command:`export` command now raise an error if used multiple times with - same ``FILE`` without ``APPEND``. See policy :policy:`CMP0103`. diff --git a/Help/release/dev/fc-ep-git-update-strategy.rst b/Help/release/dev/fc-ep-git-update-strategy.rst deleted file mode 100644 index b48fdcf..0000000 --- a/Help/release/dev/fc-ep-git-update-strategy.rst +++ /dev/null @@ -1,9 +0,0 @@ -fc-ep-git-update-strategy -------------------------- - -* The :command:`ExternalProject_Add` command gained a new - ``GIT_REMOTE_UPDATE_STRATEGY`` keyword. This can be used to specify how - failed rebase operations during a git update should be handled. - The ``CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY`` variable was also added as a - global default and is honored by both the :module:`ExternalProject` and - :module:`FetchContent` modules. diff --git a/Help/release/dev/fetchcontent-SOURCE_SUBDIR.rst b/Help/release/dev/fetchcontent-SOURCE_SUBDIR.rst deleted file mode 100644 index e9e185c..0000000 --- a/Help/release/dev/fetchcontent-SOURCE_SUBDIR.rst +++ /dev/null @@ -1,6 +0,0 @@ -fetchcontent-SOURCE_SUBDIR --------------------------- - -* The :command:`FetchContent_Declare` command now supports a ``SOURCE_SUBDIR`` - option. It can be used to direct :command:`FetchContent_MakeAvailable` - to look in a different location for the ``CMakeLists.txt`` file. diff --git a/Help/release/dev/file-upload-tls.rst b/Help/release/dev/file-upload-tls.rst deleted file mode 100644 index e19be24..0000000 --- a/Help/release/dev/file-upload-tls.rst +++ /dev/null @@ -1,5 +0,0 @@ -file-upload-tls ---------------- - -* The :command:`file(UPLOAD)` command gained ``TLS_VERIFY`` and ``TLS_CAINFO`` - options to control server certificate verification. diff --git a/Help/release/dev/file_archive.rst b/Help/release/dev/file_archive.rst deleted file mode 100644 index e79529c..0000000 --- a/Help/release/dev/file_archive.rst +++ /dev/null @@ -1,7 +0,0 @@ -file_archive ------------- - -* The :command:`file` command gained the ``ARCHIVE_{CREATE|EXTRACT}`` subcommands. - - These subcommands will replicate the :manual:`cmake(1)` ``-E tar`` functionality in - CMake scripting code. diff --git a/Help/release/dev/file_configure.rst b/Help/release/dev/file_configure.rst deleted file mode 100644 index 35e99c4..0000000 --- a/Help/release/dev/file_configure.rst +++ /dev/null @@ -1,6 +0,0 @@ -file_configure --------------- - -* The :command:`file(CONFIGURE)` subcommand was created in order replicate the - :command:`configure_file` functionality without resorting to a pre-existing - file on disk as input. The content is instead passed as a string. diff --git a/Help/release/dev/findswig-components.rst b/Help/release/dev/findswig-components.rst deleted file mode 100644 index ce569be..0000000 --- a/Help/release/dev/findswig-components.rst +++ /dev/null @@ -1,5 +0,0 @@ -findswig-components -------------------- - -* The :module:`FindSWIG` module now accepts target languages as ``COMPONENTS`` - and ``OPTIONAL_COMPONENTS`` arguments to ``find_package``. diff --git a/Help/release/dev/fortran-preprocess-property.rst b/Help/release/dev/fortran-preprocess-property.rst deleted file mode 100644 index d18e7b8..0000000 --- a/Help/release/dev/fortran-preprocess-property.rst +++ /dev/null @@ -1,6 +0,0 @@ -fortran-preprocess-property ---------------------------- - -* The :prop_tgt:`Fortran_PREPROCESS` target property and - :prop_sf:`Fortran_PREPROCESS` source-file property were added to - control preprocessing of Fortran source files. diff --git a/Help/release/dev/framework-multi-config-postfix.rst b/Help/release/dev/framework-multi-config-postfix.rst deleted file mode 100644 index 50cf9ce..0000000 --- a/Help/release/dev/framework-multi-config-postfix.rst +++ /dev/null @@ -1,7 +0,0 @@ -framework-multi-config-postfix ------------------------------- - -* The :prop_tgt:`FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>` target property - and associated :variable:`CMAKE_FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>` - variable were created to allow adding a postfix to the name of a - framework file name when using a multi-config generator. diff --git a/Help/release/dev/genex-DEVICE_LINK-HOST_LINK.rst b/Help/release/dev/genex-DEVICE_LINK-HOST_LINK.rst deleted file mode 100644 index ef275e7..0000000 --- a/Help/release/dev/genex-DEVICE_LINK-HOST_LINK.rst +++ /dev/null @@ -1,6 +0,0 @@ -genex-DEVICE_LINK-HOST_LINK ---------------------------- - -* To manage device and host link steps, the ``$<DEVICE_LINK:...>`` and - ``$<HOST_LINK:...>`` - :manual:`generator expressions <cmake-generator-expressions(7)>` were added. diff --git a/Help/release/dev/genex-LINK_LANGUAGE.rst b/Help/release/dev/genex-LINK_LANGUAGE.rst deleted file mode 100644 index 05894d6..0000000 --- a/Help/release/dev/genex-LINK_LANGUAGE.rst +++ /dev/null @@ -1,5 +0,0 @@ -genex-LINK_LANGUAGE -=================== - -* The ``$<LINK_LANGUAGE:...>`` and ``$<LINK_LANG_AND_ID:...>`` - :manual:`generator expressions <cmake-generator-expressions(7)>` were added. diff --git a/Help/release/dev/genex-OBJECT_OUTPUTS.rst b/Help/release/dev/genex-OBJECT_OUTPUTS.rst deleted file mode 100644 index 738dcbb..0000000 --- a/Help/release/dev/genex-OBJECT_OUTPUTS.rst +++ /dev/null @@ -1,4 +0,0 @@ -genex-OBJECT_OUTPUTS --------------------- - -* :prop_sf:`OBJECT_OUTPUTS` now support :manual:`generator expressions <cmake-generator-expressions(7)>`. diff --git a/Help/release/dev/grouped-unity-build-mode.rst b/Help/release/dev/grouped-unity-build-mode.rst deleted file mode 100644 index 802de4a..0000000 --- a/Help/release/dev/grouped-unity-build-mode.rst +++ /dev/null @@ -1,6 +0,0 @@ -grouped-unity-build-mode ------------------------- - -* The :prop_tgt:`UNITY_BUILD_MODE` target property was added to tell - generators which algorithm to use for grouping included source - files. diff --git a/Help/release/dev/libxslt.rst b/Help/release/dev/libxslt.rst deleted file mode 100644 index ce3527e..0000000 --- a/Help/release/dev/libxslt.rst +++ /dev/null @@ -1,4 +0,0 @@ -libxslt-target --------------- - -* The :module:`FindLibXslt` module now provides imported targets. diff --git a/Help/release/dev/list_natural_sort.rst b/Help/release/dev/list_natural_sort.rst deleted file mode 100644 index ff74e5a..0000000 --- a/Help/release/dev/list_natural_sort.rst +++ /dev/null @@ -1,5 +0,0 @@ -list_natural_sort ------------------ - -* The :command:`list` operation ``SORT`` gained the ``NATURAL`` sort - option to sort using natural order (see ``strverscmp(3)`` manual). diff --git a/Help/release/dev/ninja-compiler-PATH-windows.rst b/Help/release/dev/ninja-compiler-PATH-windows.rst deleted file mode 100644 index cb33493..0000000 --- a/Help/release/dev/ninja-compiler-PATH-windows.rst +++ /dev/null @@ -1,7 +0,0 @@ -ninja-compiler-PATH-windows ---------------------------- - -* On Windows, the :generator:`Ninja` and :generator:`Ninja Multi-Config` - generators, when a compiler is not explicitly specified, now select - the first compiler (of any name) found in directories listed by the - ``PATH`` environment variable. diff --git a/Help/release/dev/nsis-dpi-aware.rst b/Help/release/dev/nsis-dpi-aware.rst deleted file mode 100644 index 8b5032e..0000000 --- a/Help/release/dev/nsis-dpi-aware.rst +++ /dev/null @@ -1,6 +0,0 @@ -nsis-dpi-aware --------------- - -* The :cpack_gen:`CPack NSIS Generator` gained a new variable - :variable:`CPACK_NSIS_MANIFEST_DPI_AWARE` to declare that the - installer is DPI-aware. diff --git a/Help/release/dev/parallel-lzma-compression.rst b/Help/release/dev/parallel-lzma-compression.rst deleted file mode 100644 index 12b7102..0000000 --- a/Help/release/dev/parallel-lzma-compression.rst +++ /dev/null @@ -1,6 +0,0 @@ -parallel-lzma-compression -------------------------- - -* The :cpack_gen:`CPack Archive Generator`'s ``TXZ`` format learned the - :variable:`CPACK_ARCHIVE_THREADS` variable to enable parallel compression. - Requires support in the ``liblzma`` used by CMake. diff --git a/Help/release/dev/pch-warn-invalid.rst b/Help/release/dev/pch-warn-invalid.rst deleted file mode 100644 index 5fa3de7..0000000 --- a/Help/release/dev/pch-warn-invalid.rst +++ /dev/null @@ -1,6 +0,0 @@ -pch-warn-invalid ----------------- - -* The :variable:`CMAKE_PCH_WARN_INVALID` variable was added to initialize the - :prop_tgt:`PCH_WARN_INVALID` target property to allow the removal of the - precompiled header invalid warning. diff --git a/Help/release/dev/profiling.rst b/Help/release/dev/profiling.rst deleted file mode 100644 index ab180f0..0000000 --- a/Help/release/dev/profiling.rst +++ /dev/null @@ -1,9 +0,0 @@ -cmake-profiling ---------------- - -* Add support for profiling of CMake scripts through the parameters - ``--profiling-output`` and ``--profiling-format``. These options can - be used by users to gain insight into the performance of their scripts. - - The first supported output format is ``google-trace`` which is a format - supported by Google Chrome's ``about:tracing`` tab. diff --git a/Help/release/dev/required_find_commands.rst b/Help/release/dev/required_find_commands.rst deleted file mode 100644 index cc2bf02..0000000 --- a/Help/release/dev/required_find_commands.rst +++ /dev/null @@ -1,6 +0,0 @@ -required_find_commands ----------------------- - -* The :command:`find_program`, :command:`find_library`, :command:`find_path` - and :command:`find_file` commands gained a new ``REQUIRED`` option that will - stop processing with an error message if nothing is found. diff --git a/Help/release/dev/self-link-through-alias.rst b/Help/release/dev/self-link-through-alias.rst deleted file mode 100644 index d91d7ae..0000000 --- a/Help/release/dev/self-link-through-alias.rst +++ /dev/null @@ -1,5 +0,0 @@ -self-link-through-alias ------------------------ - -* Linking a target to itself through an alias now raise an error. - See policy :policy:`CMP0108`. diff --git a/Help/release/dev/sf-property-scopes.rst b/Help/release/dev/sf-property-scopes.rst deleted file mode 100644 index 0b61625..0000000 --- a/Help/release/dev/sf-property-scopes.rst +++ /dev/null @@ -1,15 +0,0 @@ -sf-property-scopes ------------------- - -* The :command:`set_property` with the ``SOURCE`` scope gained the - ``DIRECTORY`` and ``TARGET_DIRECTORY`` options to set properties - in the provided directory scopes. -* The :command:`set_source_files_properties` gained the ``DIRECTORY`` - and ``TARGET_DIRECTORY`` options to set properties in the provided - directory scopes. -* The :command:`get_property` with ``SOURCE`` scope gained the - ``DIRECTORY`` and ``TARGET_DIRECTORY`` options to get a property - from the provided directory scope. -* The :command:`get_source_file_property` gained the ``DIRECTORY`` - and ``TARGET_DIRECTORY`` options to get a property from the - provided directory scope. diff --git a/Help/release/dev/source_group_forward_slashes.rst b/Help/release/dev/source_group_forward_slashes.rst deleted file mode 100644 index fa0dfa9..0000000 --- a/Help/release/dev/source_group_forward_slashes.rst +++ /dev/null @@ -1,5 +0,0 @@ -source_group_forward_slashes ----------------------------- - -* The :command:`source_group` command now also recognizes forward slashes - as subgroup delimiters, not just backslashes. diff --git a/Help/release/dev/string-hex.rst b/Help/release/dev/string-hex.rst deleted file mode 100644 index f220aca..0000000 --- a/Help/release/dev/string-hex.rst +++ /dev/null @@ -1,5 +0,0 @@ -string-hex ----------- - -* The :command:`string` command learned a new ``HEX`` sub-command, which - converts strings into their hexadecimal representation. diff --git a/Help/release/dev/useswig-fortran.rst b/Help/release/dev/useswig-fortran.rst deleted file mode 100644 index 17baf96..0000000 --- a/Help/release/dev/useswig-fortran.rst +++ /dev/null @@ -1,7 +0,0 @@ -useswig-fortran ---------------- - -* The :module:`UseSWIG` module now supports Fortran as a target language if - the ``SWIG_EXECUTABLE`` is SWIG-Fortran_. - -.. _`SWIG-Fortran`: https://github.com/swig-fortran/swig diff --git a/Help/release/dev/vs-non-built-file-item-metadata.rst b/Help/release/dev/vs-non-built-file-item-metadata.rst deleted file mode 100644 index 26cbad0..0000000 --- a/Help/release/dev/vs-non-built-file-item-metadata.rst +++ /dev/null @@ -1,10 +0,0 @@ -vs-non-built-file-item-metadata -------------------------------- - -* The :prop_tgt:`VS_SOURCE_SETTINGS_<tool>` target property was added - to tell :ref:`Visual Studio Generators` for VS 2010 and above to add - metadata to non-built source files using ``<tool>``. - -* The :prop_sf:`VS_SETTINGS` source file property was added to tell - :ref:`Visual Studio Generators` for VS 2010 and above to add - metadata to a non-built source file. diff --git a/Help/release/dev/vs-platform-toolset.rst b/Help/release/dev/vs-platform-toolset.rst deleted file mode 100644 index c5062c7..0000000 --- a/Help/release/dev/vs-platform-toolset.rst +++ /dev/null @@ -1,6 +0,0 @@ -vs-platform-toolset -------------------- - -* The :prop_tgt:`VS_PLATFORM_TOOLSET` target property was added to tell - :ref:`Visual Studio Generators` for VS 2010 and above to override - the platform toolset. diff --git a/Help/release/dev/vs-sln-deploy.rst b/Help/release/dev/vs-sln-deploy.rst deleted file mode 100644 index 2e83e52..0000000 --- a/Help/release/dev/vs-sln-deploy.rst +++ /dev/null @@ -1,6 +0,0 @@ -vs-sln-deploy -------------- - -* The :prop_tgt:`VS_SOLUTION_DEPLOY` target property was added to tell - :ref:`Visual Studio Generators` for VS 2010 and above to mark a - target for deployment even when not building for Windows Phone/Store/CE. diff --git a/Help/release/index.rst b/Help/release/index.rst index 22b1a09..cdc3e8b 100644 --- a/Help/release/index.rst +++ b/Help/release/index.rst @@ -15,6 +15,7 @@ Releases .. toctree:: :maxdepth: 1 + 3.18 <3.18> 3.17 <3.17> 3.16 <3.16> 3.15 <3.15> |