Răsfoiți Sursa

Merge topic 'doc-3.19-relnotes'

e1ab55b4ca Help: Update Sphinx versionadded directives for 3.19 release
1b6c0b375e Help: Organize and revise 3.19 release notes
b81cb27f20 Help: Consolidate 3.19 release notes

Acked-by: Kitware Robot <[email protected]>
Merge-request: !5345
Brad King 5 ani în urmă
părinte
comite
85c2bb724f
72 a modificat fișierele cu 334 adăugiri și 407 ștergeri
  1. 2 0
      Help/policy/CMP0110.rst
  2. 2 0
      Help/prop_tgt/OPTIMIZE_DEPENDENCIES.rst
  3. 2 0
      Help/prop_tgt/XCODE_LINK_BUILD_PHASE_MODE.rst
  4. 321 0
      Help/release/3.19.rst
  5. 0 4
      Help/release/dev/CMakePackageConfigHelpers-version_range.rst
  6. 0 4
      Help/release/dev/CPACK_EXTERNAL_BUILT_PACKAGES.rst
  7. 0 5
      Help/release/dev/EXCLUDE_FROM_ALL-genex.rst
  8. 0 5
      Help/release/dev/ExternalProject-steps-refinement.rst
  9. 0 7
      Help/release/dev/FPHSA-version_range.rst
  10. 0 5
      Help/release/dev/FindCUDAToolkit-no-nvcc.rst
  11. 0 5
      Help/release/dev/FindPython-version_range.rst
  12. 0 11
      Help/release/dev/FindSDL-update.rst
  13. 0 4
      Help/release/dev/FindSWIG-version-range.rst
  14. 0 5
      Help/release/dev/FindTIFF-tiffxx.rst
  15. 0 10
      Help/release/dev/FindVulkan-glslc.rst
  16. 0 7
      Help/release/dev/PCH_INSTANTIATE_TEMPLATES.rst
  17. 0 5
      Help/release/dev/UseSWIG-output-source-properties.rst
  18. 0 6
      Help/release/dev/add_test-special-chars-in-name.rst
  19. 0 5
      Help/release/dev/asm-osx-architectures.rst
  20. 0 7
      Help/release/dev/binary-dir-props.rst
  21. 0 6
      Help/release/dev/build-interface-targets.rst
  22. 0 14
      Help/release/dev/check-source-modules.rst
  23. 0 6
      Help/release/dev/clang-cl-vfs.rst
  24. 0 5
      Help/release/dev/clang-windows-system-includes.rst
  25. 0 5
      Help/release/dev/cmake-E-create_hardlink.rst
  26. 0 4
      Help/release/dev/cmake-gui-environment.rst
  27. 0 5
      Help/release/dev/cmake-presets.rst
  28. 0 5
      Help/release/dev/cmake_language-DEFER.rst
  29. 0 5
      Help/release/dev/cmake_path-command.rst
  30. 0 9
      Help/release/dev/compiler_flags.rst
  31. 0 5
      Help/release/dev/configure_file-permission-control.rst
  32. 0 5
      Help/release/dev/cpack-pre-and-post-build-scripts.rst
  33. 0 5
      Help/release/dev/cpack-wix-custom-xmlns.rst
  34. 0 8
      Help/release/dev/ctest-cuda-memcheck.rst
  35. 0 14
      Help/release/dev/cuda-check-support.rst
  36. 0 4
      Help/release/dev/cuda-clang-separable-compilation.rst
  37. 0 6
      Help/release/dev/cuda-fail-fast.rst
  38. 0 4
      Help/release/dev/cuda-nvcc-werror-abi.rst
  39. 0 7
      Help/release/dev/cuda-scattered-cross.rst
  40. 0 5
      Help/release/dev/custom-command-dedup.rst
  41. 0 13
      Help/release/dev/deprecate-policy-old.rst
  42. 0 5
      Help/release/dev/execute-process-command-error-is-fatal.rst
  43. 0 5
      Help/release/dev/file-ARCHIVE-compression-level.rst
  44. 0 5
      Help/release/dev/file-CHMOD.rst
  45. 0 5
      Help/release/dev/file-REAL_PATH.rst
  46. 0 5
      Help/release/dev/file-download-optional-file.rst
  47. 0 5
      Help/release/dev/file-generate-target.rst
  48. 0 7
      Help/release/dev/fileapi-codemodel-2.2.rst
  49. 0 4
      Help/release/dev/find_package-version_range.rst
  50. 0 5
      Help/release/dev/find_program-exe-no-read.rst
  51. 0 4
      Help/release/dev/genexpr-for-mfc-flag.rst
  52. 0 4
      Help/release/dev/ide-integration-guide.rst
  53. 0 5
      Help/release/dev/imported-target-location-required.rst
  54. 0 5
      Help/release/dev/install-default-directory-permissions.rst
  55. 0 8
      Help/release/dev/ispc-check-support.rst
  56. 0 11
      Help/release/dev/ispc-language-support.rst
  57. 0 10
      Help/release/dev/macOS-sdk-latest.rst
  58. 0 7
      Help/release/dev/optimize-link-dependencies.rst
  59. 0 17
      Help/release/dev/relax-target-generator-expression-dependency-addition.rst
  60. 0 5
      Help/release/dev/remove-cmake-gui-qt4.rst
  61. 0 6
      Help/release/dev/remove-warn-unused-vars.rst
  62. 0 5
      Help/release/dev/separate_arguments-PROGRAM.rst
  63. 0 5
      Help/release/dev/string-json-support.rst
  64. 0 7
      Help/release/dev/visual-studio-android.rst
  65. 0 6
      Help/release/dev/vs-win-sdk-custom-max.rst
  66. 0 5
      Help/release/dev/win32-executable-genex.rst
  67. 0 7
      Help/release/dev/xcode-12-new-build-system.rst
  68. 0 9
      Help/release/dev/xcode-link-phase-all.rst
  69. 1 0
      Help/release/index.rst
  70. 2 0
      Help/variable/CMAKE_OPTIMIZE_DEPENDENCIES.rst
  71. 2 0
      Help/variable/CMAKE_XCODE_BUILD_SYSTEM.rst
  72. 2 0
      Help/variable/CMAKE_XCODE_LINK_BUILD_PHASE_MODE.rst

+ 2 - 0
Help/policy/CMP0110.rst

@@ -1,6 +1,8 @@
 CMP0110
 CMP0110
 -------
 -------
 
 
+.. versionadded:: 3.19
+
 :command:`add_test` supports arbitrary characters in test names.
 :command:`add_test` supports arbitrary characters in test names.
 
 
 :command:`add_test` can now (officially) create tests with whitespace and
 :command:`add_test` can now (officially) create tests with whitespace and

+ 2 - 0
Help/prop_tgt/OPTIMIZE_DEPENDENCIES.rst

@@ -1,6 +1,8 @@
 OPTIMIZE_DEPENDENCIES
 OPTIMIZE_DEPENDENCIES
 ---------------------
 ---------------------
 
 
+.. versionadded:: 3.19
+
 Activates dependency optimization of static and object libraries.
 Activates dependency optimization of static and object libraries.
 
 
 When this property is set to true, some dependencies for a static or object
 When this property is set to true, some dependencies for a static or object

+ 2 - 0
Help/prop_tgt/XCODE_LINK_BUILD_PHASE_MODE.rst

@@ -1,6 +1,8 @@
 XCODE_LINK_BUILD_PHASE_MODE
 XCODE_LINK_BUILD_PHASE_MODE
 ---------------------------
 ---------------------------
 
 
+.. versionadded:: 3.19
+
 When using the :generator:`Xcode` generator, libraries to be linked will be
 When using the :generator:`Xcode` generator, libraries to be linked will be
 specified in the Xcode project file using either the "Link Binary With
 specified in the Xcode project file using either the "Link Binary With
 Libraries" build phase or directly as linker flags.  The former allows Xcode
 Libraries" build phase or directly as linker flags.  The former allows Xcode

+ 321 - 0
Help/release/3.19.rst

@@ -0,0 +1,321 @@
+CMake 3.19 Release Notes
+************************
+
+.. only:: html
+
+  .. contents::
+
+Changes made since CMake 3.18 include the following.
+
+New Features
+============
+
+Presets
+-------
+
+* :manual:`cmake(1)` and :manual:`cmake-gui(1)` now recognize
+  ``CMakePresets.json`` and ``CMakeUserPresets.json`` files.
+
+Generators
+----------
+
+* The :generator:`Xcode` generator now uses the Xcode "new build system"
+  when generating for Xcode 12.0 or higher.
+  See the :variable:`CMAKE_XCODE_BUILD_SYSTEM` variable.
+  One may use ``-T buildsystem=1`` to switch to the legacy build system.
+
+* The :generator:`Xcode` generator gained support for linking libraries and
+  frameworks via the *Link Binaries With Libraries* build phase instead of
+  always by embedding linker flags directly.  This behavior is controlled by
+  a new :prop_tgt:`XCODE_LINK_BUILD_PHASE_MODE` target property, which is
+  initialized by a new :variable:`CMAKE_XCODE_LINK_BUILD_PHASE_MODE`
+  variable.
+
+* The :ref:`Visual Studio Generators` for VS 2015 and above gained support
+  for the Visual Studio Tools for Android.  One may now set
+  :variable:`CMAKE_SYSTEM_NAME` to ``Android`` to generate ``.vcxproj`` files
+  for the Android tools.
+
+Languages
+---------
+
+* CMake learned to support ``ISPC`` as a first-class language that can be
+  enabled via the :command:`project` and :command:`enable_language` commands.
+  ``ISPC`` is currently supported by the :ref:`Makefile Generators`
+  and the :generator:`Ninja` generator on Linux, macOS, and Windows
+  using the Intel ISPC compiler.
+
+* ``CUDA`` language support for Clang now includes:
+
+  - separable compilation (:prop_tgt:`CUDA_SEPARABLE_COMPILATION`), and
+  - finding scattered toolkit installations when cross-compiling.
+
+File-Based API
+--------------
+
+* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field has
+  been updated to 2.2.
+
+* The :manual:`cmake-file-api(7)` "codemodel" version 2 "target" object
+  gained a new ``languageStandard`` field in the ``compileGroups`` objects.
+
+Command-Line
+------------
+
+* The :manual:`cmake(1)` command-line tool's ``--install`` mode gained a
+  ``--default-directory-permissions`` option.
+
+* :manual:`cmake(1)` gained a ``-E create_hardlink`` command-line tool
+  that can be used to create hardlinks between files.
+
+GUI
+---
+
+* The :manual:`CMake GUI <cmake-gui(1)>` now has an environment variable
+  editor.
+
+Commands
+--------
+
+* The :command:`add_test` command now (officially) supports whitespace and
+  other special characters in the name for the test it creates.
+  See policy :policy:`CMP0110`.
+
+* The :command:`cmake_language` command gained a ``DEFER`` mode to
+  schedule command calls to occur at the end of processing a directory.
+
+* The :command:`cmake_path` command was added for operations on
+  filesystem paths.
+
+* The :command:`configure_file` command gained a ``NO_SOURCE_PERMISSIONS``
+  option to suppress copying the input file's permissions to the output file.
+
+* The :command:`execute_process` command gained a ``COMMAND_ERROR_IS_FATAL``
+  option to specify a fatal error.
+
+* The :command:`file(ARCHIVE_CREATE)` command gained a ``COMPRESSION_LEVEL``
+  option to specify the compression level.
+
+* The :command:`file(CHMOD)` and :command:`file(CHMOD_RECURSE)` subcommands
+  were added to set permissions of files and directories.
+
+* The :command:`file(DOWNLOAD)` command ``<file>`` argument is now
+  optional.  If it is not specified, the file is not saved.
+
+* The :command:`file(GENERATE)` command gained a new ``TARGET`` keyword to
+  support resolving target-dependent generator expressions.
+
+* The :command:`file` gained sub-command `REAL_PATH` to compute a path with
+  symlinks resolved.
+
+* The :command:`find_package` command learned to handle a version range.
+
+* The :command:`separate_arguments` command gained new ``PROGRAM`` option to
+  search program.
+
+* The :command:`set_property`, :command:`get_property`,
+  and :command:`get_directory_property` commands' ``DIRECTORY``
+  options now accept references to binary directory paths,
+  such as the value of :variable:`CMAKE_CURRENT_BINARY_DIR`.
+
+* The :command:`string` command gained set of new ``JSON`` sub commands
+  to provide JSON parsing capabilities.
+
+Variables
+---------
+
+* The :variable:`CMAKE_CLANG_VFS_OVERLAY` variable was added to tell
+  Clang to use a VFS overlay to support the Windows SDK when
+  cross-compiling from hosts with case-sensitive filesystems.
+
+* The :variable:`CMAKE_MFC_FLAG` variable now supports generator expressions.
+
+* The :variable:`CMAKE_OPTIMIZE_DEPENDENCIES` variable was added to
+  initialize the new :prop_tgt:`OPTIMIZE_DEPENDENCIES` target property and
+  avoid unnecessarily building dependencies for a static library.
+
+* The :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM` variable
+  was added to tell the :ref:`Visual Studio Generators` what maximum
+  version of the Windows SDK to choose.
+
+Properties
+----------
+
+* The :prop_tgt:`EXCLUDE_FROM_ALL` target property now supports
+  :manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+* The :prop_tgt:`OPTIMIZE_DEPENDENCIES` target property was added to
+  avoid unnecessarily building dependencies for a static library.
+
+* The :prop_tgt:`PCH_INSTANTIATE_TEMPLATES` target property was added to enable
+  template instantiation in the precompiled header. This is enabled by default
+  and offers a roughly 20% compile time improvement. Currently only supported
+  by Clang 11.
+
+* The :prop_tgt:`WIN32_EXECUTABLE` target property now supports
+  :manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+Modules
+-------
+
+* The :module:`CheckCompilerFlag` module has been added to
+  generalize :module:`CheckCCompilerFlag` and
+  :module:`CheckCXXCompilerFlag` to more languages.
+  It also supports the ``CUDA`` and ``ISPC`` languages.
+
+* The :module:`CheckLinkerFlag` module now supports the ``CUDA`` language.
+
+* The :module:`CheckSourceCompiles` module has been added to
+  generalize :module:`CheckCSourceCompiles` and
+  :module:`CheckCXXSourceCompiles` to more languages.
+  It also supports the ``CUDA`` and ``ISPC`` languages.
+
+* The :module:`CheckSourceRuns` module has been added to
+  generalize :module:`CheckCSourceRuns` and
+  :module:`CheckCXXSourceRuns` to more languages.
+  It also supports the ``CUDA`` language.
+
+* :module:`CMakePackageConfigHelpers` module learned to manage version range.
+
+* The :module:`FindCUDAToolkit` module gained support for finding CUDA
+  toolkits that do not contain ``nvcc``, as well as for finding scattered
+  toolkit installations when cross-compiling.
+
+* The :module:`FindPackageHandleStandardArgs` module learned to handle
+  version range. It also gained the ``find_package_check_version()`` command to
+  check the validity of a version against version-related arguments of
+  :command:`find_package` command.
+
+* The :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython`
+  modules gained the capability to manage a version range.
+
+* The :module:`FindSDL` module now provides:
+
+  * imported target ``SDL::SDL``,
+
+  * result variables ``SDL_LIBRARIES`` and ``SDL_INCLUDE_DIRS``,
+
+  * version variables ``SDL_VERSION``, ``SDL_VERSION_MAJOR``
+    ``SDL_VERSION_MINOR``, and ``SDL_VERSION_PATCH``.
+
+* :module:`FindSWIG` module gains the capability to manage a version range.
+
+* The :module:`FindTIFF` module gained a ``CXX`` component to
+  find the ``tiffxx`` library containing C++ bindings.
+
+* The :module:`FindVulkan` module now provides a ``Vulkan::glslc`` imported
+  target and associated ``Vulkan_GLSLC_EXECUTABLE`` variable which contain
+  the path to the GLSL SPIR-V compiler.
+
+* :module:`UseSWIG` module gains new source file properties ``OUTPUT_DIR`` and
+  ``OUTFILE_DIR`` to manage output directories on per source basis.
+
+CTest
+-----
+
+* :manual:`ctest(1)` now supports ``compute-sanitizer`` (``cuda-memcheck``) as
+  ``CTEST_MEMORYCHECK_COMMAND``.  The different tools (memcheck, racecheck,
+  synccheck, initcheck) supplied by ``compute-sanitizer`` can be selected by
+  adding appropriate flags to the ``CTEST_MEMORYCHECK_COMMAND_OPTIONS``
+  variable.  The default flags are ``--tool memcheck --leak-check full``.
+
+CPack
+-----
+
+* CPack gained the :variable:`CPACK_PRE_BUILD_SCRIPTS`,
+  :variable:`CPACK_POST_BUILD_SCRIPTS`, and :variable:`CPACK_PACKAGE_FILES`
+  variables.
+
+* The :cpack_gen:`CPack External Generator` gained the
+  :variable:`CPACK_EXTERNAL_BUILT_PACKAGES` variable.
+
+* The :cpack_gen:`CPack WIX Generator` gained a
+  :variable:`CPACK_WIX_CUSTOM_XMLNS` option to specify custom XML namespaces.
+
+Other
+-----
+
+* :ref:`Interface Libraries` may now have source files added via
+  :command:`add_library` or :command:`target_sources`.  Those
+  with sources will be generated as part of the build system.
+
+Deprecated and Removed Features
+===============================
+
+* Compatibility with versions of CMake older than 2.8.12 is now deprecated
+  and will be removed from a future version.  Calls to
+  :command:`cmake_minimum_required` or :command:`cmake_policy` that set
+  the policy version to an older value now issue a deprecation diagnostic.
+
+* An explicit deprecation diagnostic was added for policy ``CMP0071``
+  (``CMP0071`` 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.
+
+* macOS SDKs older than 10.5 are no longer supported.
+
+* :manual:`cmake-gui(1)` now requires Qt5.
+  Support for compiling with Qt4 has been removed.
+
+* The :manual:`cmake(1)` command-line option ``--warn-unused-vars`` has
+  been removed and is now silently ignored.  The option has not worked
+  correctly since CMake 3.3.
+
+Documentation
+=============
+
+The following guides have been added:
+
+* :guide:`IDE Integration Guide`
+* :guide:`Importing and Exporting Guide`
+
+Other Changes
+=============
+
+* Building for macOS will now use the latest SDK available on the system,
+  unless the user has explicitly chosen a SDK using
+  :variable:`CMAKE_OSX_SYSROOT`.  The deployment target or system macOS
+  version will not affect the choice of SDK.
+
+* The :variable:`CMAKE_<LANG>_COMPILER` variable may now be used to
+  store "mandatory" compiler flags like the :envvar:`CC` and other environment
+  variables.
+
+* The :variable:`CMAKE_<LANG>_FLAGS_INIT` variable will now be considered
+  during the compiler identification check if other sources like
+  :variable:`CMAKE_<LANG>_FLAGS` or :envvar:`CFLAGS` are not set.
+
+* The :command:`find_program` command now requires permission to execute
+  but not to read the file found.  See policy :policy:`CMP0109`.
+
+* An imported target with a missing location now fails during generation
+  if the location is used.  See policy :policy:`CMP0111`.
+
+* The following target-based generator expressions that query for directory or
+  file name components no longer add a dependency on the evaluated target.
+  See policy :policy:`CMP0112`.
+
+  - ``TARGET_FILE_DIR``
+  - ``TARGET_LINKER_FILE_BASE_NAME``
+  - ``TARGET_LINKER_FILE_NAME``
+  - ``TARGET_LINKER_FILE_DIR``
+  - ``TARGET_SONAME_FILE_NAME``
+  - ``TARGET_SONAME_FILE_DIR``
+  - ``TARGET_PDB_FILE_NAME``
+  - ``TARGET_PDB_FILE_DIR``
+  - ``TARGET_BUNDLE_DIR``
+  - ``TARGET_BUNDLE_CONTENT_DIR``
+
+* :ref:`Makefile Generators` no longer repeat custom commands from target
+  dependencies.  See policy :policy:`CMP0113`.
+
+* The :module:`ExternalProject` module handling of step target dependencies
+  has been revised.  See policy :policy:`CMP0114`.
+
+* The :prop_tgt:`OSX_ARCHITECTURES` target property is now respected
+  for the ``ASM`` language.
+
+* If ``CUDA`` compiler detection fails with user-specified
+  :variable:`CMAKE_CUDA_ARCHITECTURES` or
+  :variable:`CMAKE_CUDA_HOST_COMPILER`, an error is raised.

+ 0 - 4
Help/release/dev/CMakePackageConfigHelpers-version_range.rst

@@ -1,4 +0,0 @@
-CMakePackageConfigHelpers-version_range
----------------------------------------
-
-* :module:`CMakePackageConfigHelpers` module learned to manage version range.

+ 0 - 4
Help/release/dev/CPACK_EXTERNAL_BUILT_PACKAGES.rst

@@ -1,4 +0,0 @@
-CPACK_EXTERNAL_BUILT_PACKAGES
------------------------------
-
-* :cpack_gen:`CPack External Generator` learned the :variable:`CPACK_EXTERNAL_BUILT_PACKAGES` variable.

+ 0 - 5
Help/release/dev/EXCLUDE_FROM_ALL-genex.rst

@@ -1,5 +0,0 @@
-EXCLUDE_FROM_ALL-genex
-----------------------
-
-* The :prop_tgt:`EXCLUDE_FROM_ALL` target property gained support for
-  :manual:`generator expressions <cmake-generator-expressions(7)>`.

+ 0 - 5
Help/release/dev/ExternalProject-steps-refinement.rst

@@ -1,5 +0,0 @@
-ExternalProject-steps-refinement
---------------------------------
-
-* The :module:`ExternalProject` module handling of step target dependencies
-  has been revised.  See policy :policy:`CMP0114`.

+ 0 - 7
Help/release/dev/FPHSA-version_range.rst

@@ -1,7 +0,0 @@
-FPHSA-version_range
--------------------
-
-* The :module:`FindPackageHandleStandardArgs` module learned to handle
-  version range. It also gained the ``find_package_check_version()`` command to
-  check the validity of a version against version-related arguments of
-  :command:`find_package` command.

+ 0 - 5
Help/release/dev/FindCUDAToolkit-no-nvcc.rst

@@ -1,5 +0,0 @@
-FindCUDAToolkit-no-nvcc
------------------------
-
-* The :module:`FindCUDAToolkit` module gained support for finding CUDA toolkits
-  that do not contain ``nvcc``.

+ 0 - 5
Help/release/dev/FindPython-version_range.rst

@@ -1,5 +0,0 @@
-FindPython-version_range
-------------------------
-
-* The :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython`
-  modules gained the capability to manage a version range.

+ 0 - 11
Help/release/dev/FindSDL-update.rst

@@ -1,11 +0,0 @@
-FindSDL-update
---------------
-
-* The :module:`FindSDL` module now provides:
-
-  * imported target ``SDL::SDL``,
-
-  * result variables ``SDL_LIBRARIES`` and ``SDL_INCLUDE_DIRS``,
-
-  * version variables ``SDL_VERSION``, ``SDL_VERSION_MAJOR``
-    ``SDL_VERSION_MINOR``, and ``SDL_VERSION_PATCH``.

+ 0 - 4
Help/release/dev/FindSWIG-version-range.rst

@@ -1,4 +0,0 @@
-FindSWIG-version-range
-----------------------
-
-* :module:`FindSWIG` module gains the capability to manage a version range.

+ 0 - 5
Help/release/dev/FindTIFF-tiffxx.rst

@@ -1,5 +0,0 @@
-FindTIFF-tiffxx
----------------
-
-* The :module:`FindTIFF` module gained a ``CXX`` component to
-  find the ``tiffxx`` library containing C++ bindings.

+ 0 - 10
Help/release/dev/FindVulkan-glslc.rst

@@ -1,10 +0,0 @@
-FindVulkan-glslc
-----------------
-
-* The :module:`FindVulkan` module gained a new output variable
-  ``Vulkan_GLSLC_EXECUTABLE`` which contains the path to the
-  GLSL SPIR-V compiler.
-
-* The :module:`FindVulkan` module gained a new target
-  ``Vulkan::glslc`` which contains the path to the
-  GLSL SPIR-V compiler.

+ 0 - 7
Help/release/dev/PCH_INSTANTIATE_TEMPLATES.rst

@@ -1,7 +0,0 @@
-PCH_INSTANTIATE_TEMPLATES
--------------------------
-
-* The :prop_tgt:`PCH_INSTANTIATE_TEMPLATES` target property was added to enable
-  template instantiation in the precompiled header. This is enabled by default
-  and offers a roughly 20% compile time improvement. Currently only supported
-  by Clang 11.

+ 0 - 5
Help/release/dev/UseSWIG-output-source-properties.rst

@@ -1,5 +0,0 @@
-UseSwig-output-source-properties
---------------------------------
-
-* :module:`UseSWIG` module gains new source file properties ``OUTPUT_DIR`` and
-  ``OUTFILE_DIR`` to manage output directories on per source basis.

+ 0 - 6
Help/release/dev/add_test-special-chars-in-name.rst

@@ -1,6 +0,0 @@
-add_test-special-chars-in-name
-------------------------------
-
-* The :command:`add_test` command now (officially) supports whitespace and
-  other special characters in the name for the test it creates.
-  See policy :policy:`CMP0110`.

+ 0 - 5
Help/release/dev/asm-osx-architectures.rst

@@ -1,5 +0,0 @@
-asm-osx-architectures
----------------------
-
-* The :prop_tgt:`OSX_ARCHITECTURES` target property is now respected for the
-  ``ASM`` language.

+ 0 - 7
Help/release/dev/binary-dir-props.rst

@@ -1,7 +0,0 @@
-binary-dir-props
-----------------
-
-* The :command:`set_property`, :command:`get_property`,
-  and :command:`get_directory_property` commands' ``DIRECTORY``
-  options now accept references to binary directory paths,
-  such as the value of :variable:`CMAKE_CURRENT_BINARY_DIR`.

+ 0 - 6
Help/release/dev/build-interface-targets.rst

@@ -1,6 +0,0 @@
-build-interface-targets
------------------------
-
-* :ref:`Interface Libraries` may now have source files added via
-  :command:`add_library` or :command:`target_sources`.  Those
-  with sources will be generated as part of the build system.

+ 0 - 14
Help/release/dev/check-source-modules.rst

@@ -1,14 +0,0 @@
-check-source-modules
-^^^^^^^^^^^^^^^^^^^^
-
-* The :module:`CheckSourceCompiles` module has been added to
-  generalize :module:`CheckCSourceCompiles` and
-  :module:`CheckCXXSourceCompiles` to more languages.
-
-* The :module:`CheckSourceRuns` module has been added to
-  generalize :module:`CheckCSourceRuns` and
-  :module:`CheckCXXSourceRuns` to more languages.
-
-* The :module:`CheckCompilerFlag` module has been added to
-  generalize :module:`CheckCCompilerFlag` and
-  :module:`CheckCXXCompilerFlag` to more languages.

+ 0 - 6
Help/release/dev/clang-cl-vfs.rst

@@ -1,6 +0,0 @@
-clang-cl-vfs
-------------
-
-* A :variable:`CMAKE_CLANG_VFS_OVERLAY` variable was added to tell
-  Clang to use a VFS overlay to support the Windows SDK when
-  cross-compiling from hosts with case-sensitive filesystems.

+ 0 - 5
Help/release/dev/clang-windows-system-includes.rst

@@ -1,5 +0,0 @@
-clang-windows-system-includes
------------------------------
-
-* The ``Clang`` compiler gained support for handling system include directories
-  when running on Windows.

+ 0 - 5
Help/release/dev/cmake-E-create_hardlink.rst

@@ -1,5 +0,0 @@
-cmake-E-create_hardlink
------------------------
-
-* The :manual:`cmake(1)` gained a ``-E create_hardlink`` command-line tool
-  that can be used to create hardlinks between files.

+ 0 - 4
Help/release/dev/cmake-gui-environment.rst

@@ -1,4 +0,0 @@
-cmake-gui-environment
----------------------
-
-* The :manual:`CMake GUI <cmake-gui(1)>` now has an environment variable editor.

+ 0 - 5
Help/release/dev/cmake-presets.rst

@@ -1,5 +0,0 @@
-cmake-presets
--------------
-
-* :manual:`cmake(1)` and :manual:`cmake-gui(1)` now recognize
-  ``CMakePresets.json`` and ``CMakeUserPresets.json`` files.

+ 0 - 5
Help/release/dev/cmake_language-DEFER.rst

@@ -1,5 +0,0 @@
-cmake_language-DEFER
---------------------
-
-* The :command:`cmake_language` command gained a ``DEFER`` mode to
-  schedule command calls to occur at the end of processing a directory.

+ 0 - 5
Help/release/dev/cmake_path-command.rst

@@ -1,5 +0,0 @@
-cmake_path-command
-------------------
-
-* The :command:`cmake_path` command was added for operations on
-  filesystem paths.

+ 0 - 9
Help/release/dev/compiler_flags.rst

@@ -1,9 +0,0 @@
-compiler_flags
------------------
-
-* The :variable:`CMAKE_<LANG>_COMPILER` variable may now be used to
-  store "mandatory" compiler flags like the :envvar:`CC` and other environment variables.
-
-* The :variable:`CMAKE_<LANG>_FLAGS_INIT` variable will now be considered during
-  the compiler indentification check if other sources like :variable:`CMAKE_<LANG>_FLAGS`
-  or :envvar:`CFLAGS` are not set.

+ 0 - 5
Help/release/dev/configure_file-permission-control.rst

@@ -1,5 +0,0 @@
-configure_file-permission-control
----------------------------------
-
-* The :command:`configure_file` command gained a ``NO_SOURCE_PERMISSIONS``
-  option to suppress copying the input file's permissions to the output file.

+ 0 - 5
Help/release/dev/cpack-pre-and-post-build-scripts.rst

@@ -1,5 +0,0 @@
-cpack-pre-and-post-build-scripts
---------------------------------
-
-* CPack learned the :variable:`CPACK_PRE_BUILD_SCRIPTS`, :variable:`CPACK_POST_BUILD_SCRIPTS`,
-  and :variable:`CPACK_PACKAGE_FILES` variables.

+ 0 - 5
Help/release/dev/cpack-wix-custom-xmlns.rst

@@ -1,5 +0,0 @@
-cpack-wix-custom-xmlns
-----------------------
-
-* The :cpack_gen:`CPack WIX Generator` gained a
-  :variable:`CPACK_WIX_CUSTOM_XMLNS` option to specify custom XML namespaces.

+ 0 - 8
Help/release/dev/ctest-cuda-memcheck.rst

@@ -1,8 +0,0 @@
-CTest
------
-
-* :manual:`ctest(1)` gained support for cuda-memcheck as ``CTEST_MEMORYCHECK_COMMAND``.
-  The different tools (memcheck, racecheck, synccheck, initcheck) supplied by
-  cuda-memcheck can be selected by setting the appropriate flags using the
-  ``CTEST_MEMORYCHECK_COMMAND_OPTIONS`` variable.
-  The default flags are `--tool memcheck --leak-check full`.

+ 0 - 14
Help/release/dev/cuda-check-support.rst

@@ -1,14 +0,0 @@
-cuda-check-support
-------------------
-
-* The :module:`CheckCompilerFlag` module was extended to
-  support 'CUDA'.
-
-* The :module:`CheckSourceCompiles` module was extended to
-  support 'CUDA'.
-
-* The :module:`CheckSourceRuns` module was extended to
-  support 'CUDA'.
-
-* The :module:`CheckLinkerFlag` module has been extended to
-  support the validity of CUDA link flags.

+ 0 - 4
Help/release/dev/cuda-clang-separable-compilation.rst

@@ -1,4 +0,0 @@
-cuda-clang-separable-compilation
---------------------------------
-
-* :prop_tgt:`CUDA_SEPARABLE_COMPILATION` is now supported when using Clang.

+ 0 - 6
Help/release/dev/cuda-fail-fast.rst

@@ -1,6 +0,0 @@
-cuda-fail-fast
---------------
-
-* If ``CUDA`` compiler detection fails with user-specified
-  :variable:`CMAKE_CUDA_ARCHITECTURES` or :variable:`CMAKE_CUDA_HOST_COMPILER`
-  an error is raised.

+ 0 - 4
Help/release/dev/cuda-nvcc-werror-abi.rst

@@ -1,4 +0,0 @@
-cuda-nvcc-werror-abi
---------------------
-
-* Compiler ABI detection now handles NVCC-style ``-Werror`` flags.

+ 0 - 7
Help/release/dev/cuda-scattered-cross.rst

@@ -1,7 +0,0 @@
-cuda-scattered-cross
---------------------
-
-* Scattered toolkit installations are now recognized when crosscompiling
-  ``CUDA`` using Clang.
-* :module:`FindCUDAToolkit` now finds scattered toolkit installations when
-  crosscompiling.

+ 0 - 5
Help/release/dev/custom-command-dedup.rst

@@ -1,5 +0,0 @@
-custom-command-dedup
---------------------
-
-* :ref:`Makefile Generators` no longer repeat custom commands from target
-  dependencies.  See policy :policy:`CMP0113`.

+ 0 - 13
Help/release/dev/deprecate-policy-old.rst

@@ -1,13 +0,0 @@
-deprecate-policy-old
---------------------
-
-* An explicit deprecation diagnostic was added for policy ``CMP0071``
-  (``CMP0071`` 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.
-
-* Compatibility with versions of CMake older than 2.8.12 is now deprecated
-  and will be removed from a future version.  Calls to
-  :command:`cmake_minimum_required` or :command:`cmake_policy` that set
-  the policy version to an older value now issue a deprecation diagnostic.

+ 0 - 5
Help/release/dev/execute-process-command-error-is-fatal.rst

@@ -1,5 +0,0 @@
-execute-process-command-error-is-fatal
---------------------------------------
-
-* The :command:`execute_process` command gained a ``COMMAND_ERROR_IS_FATAL``
-  option to specify a fatal error.

+ 0 - 5
Help/release/dev/file-ARCHIVE-compression-level.rst

@@ -1,5 +0,0 @@
-file-ARCHIVE-compression-level
-------------------------------
-
-* The :command:`file(ARCHIVE_CREATE)` command gained a ``COMPRESSION_LEVEL``
-  option to specify the compression level.

+ 0 - 5
Help/release/dev/file-CHMOD.rst

@@ -1,5 +0,0 @@
-file-CHMOD
-----------
-
-* Add :command:`file(CHMOD)` and :command:`file(CHMOD_RECURSE)` to
-  set permissions of files and directories.

+ 0 - 5
Help/release/dev/file-REAL_PATH.rst

@@ -1,5 +0,0 @@
-file-REAL_PATH
---------------
-
-* The :command:`file` gained sub-command `REAL_PATH` to compute a path with
-  symlinks resolved.

+ 0 - 5
Help/release/dev/file-download-optional-file.rst

@@ -1,5 +0,0 @@
-file-download-optional-file
----------------------------
-
-* The ``<file>`` argument is now optional for :command:`file(DOWNLOAD)`. If it
-  is not specified, the file is not saved.

+ 0 - 5
Help/release/dev/file-generate-target.rst

@@ -1,5 +0,0 @@
-file-generate-target
---------------------
-
-* The :command:`file(GENERATE)` command gained a new ``TARGET`` keyword to
-  support resolving target-dependent generator expressions.

+ 0 - 7
Help/release/dev/fileapi-codemodel-2.2.rst

@@ -1,7 +0,0 @@
-fileapi-codemodel-2.2
----------------------
-
-* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field has
-  been updated to 2.2.
-* The :manual:`cmake-file-api(7)` "codemodel" version 2 "target" object gained
-  a new ``languageStandard`` field in the ``compileGroups`` objects.

+ 0 - 4
Help/release/dev/find_package-version_range.rst

@@ -1,4 +0,0 @@
-find_package-version_range
---------------------------
-
-* The :command:`find_package` command learned to handle a version range.

+ 0 - 5
Help/release/dev/find_program-exe-no-read.rst

@@ -1,5 +0,0 @@
-find_program-exe-no-read
-------------------------
-
-* The :command:`find_program` command now requires permission to execute
-  but not to read the file found.  See policy :policy:`CMP0109`.

+ 0 - 4
Help/release/dev/genexpr-for-mfc-flag.rst

@@ -1,4 +0,0 @@
-genexpr-for-mfc-flag
---------------------
-
-* The :variable:`CMAKE_MFC_FLAG` variable now supports generator expressions.

+ 0 - 4
Help/release/dev/ide-integration-guide.rst

@@ -1,4 +0,0 @@
-ide-integration-guide
----------------------
-
-* A new guide on :guide:`IDE integration <IDE Integration Guide>` has been added.

+ 0 - 5
Help/release/dev/imported-target-location-required.rst

@@ -1,5 +0,0 @@
-imported-target-location-required
----------------------------------
-
-* An imported target with a missing location now fails during generation if the
-  location is used.  See policy :policy:`CMP0111`.

+ 0 - 5
Help/release/dev/install-default-directory-permissions.rst

@@ -1,5 +0,0 @@
-install-default-directory-permissions
--------------------------------------
-
-* The ``--install`` argument of the :manual:`cmake(1)` command line tool gained a
-  ``--default-directory-permissions`` argument.

+ 0 - 8
Help/release/dev/ispc-check-support.rst

@@ -1,8 +0,0 @@
-ispc-check-support
-------------------
-
-* The :module:`CheckCompilerFlag` module was extended to
-  support 'ISPC'.
-
-* The :module:`CheckSourceCompiles` module was extended to
-  support 'ISPC'.

+ 0 - 11
Help/release/dev/ispc-language-support.rst

@@ -1,11 +0,0 @@
-cmake-ispc-support
-------------------
-
-
-* CMake learned to support ``ISPC`` as a first-class language that can be
-  enabled via the :command:`project` and :command:`enable_language` commands.
-
-* ``ISPC`` is currently supported by the :ref:`Makefile Generators`
-  and the :generator:`Ninja` generator on Linux, macOS, and Windows.
-
-* The Intel ISPC compiler (``ispc``) is supported.

+ 0 - 10
Help/release/dev/macOS-sdk-latest.rst

@@ -1,10 +0,0 @@
-macOS-sdk-latest
-----------------
-
-* Building for macOS will now use the latest SDK available on the system,
-  unless the user has explicitly chosen a SDK using :variable:`CMAKE_OSX_SYSROOT`.
-
-  The deployment target or system macOS version will not affect
-  the choice of SDK.
-
-* macOS SDKs older than 10.5 are no longer supported.

+ 0 - 7
Help/release/dev/optimize-link-dependencies.rst

@@ -1,7 +0,0 @@
-optimize-link-dependencies
---------------------------
-
-* A new target property, :prop_tgt:`OPTIMIZE_DEPENDENCIES`, was added to
-  avoid unnecessarily building dependencies for a static library.
-* A new variable, :variable:`CMAKE_OPTIMIZE_DEPENDENCIES`, was added to
-  initialize the :prop_tgt:`OPTIMIZE_DEPENDENCIES` target property.

+ 0 - 17
Help/release/dev/relax-target-generator-expression-dependency-addition.rst

@@ -1,17 +0,0 @@
-relax-target-generator-expression-dependency-addition
------------------------------------------------------
-
-* The following target-based generator expressions that query for directory or
-  file name components no longer add a dependency on the evaluated target.
-  See policy :policy:`CMP0112`.
-
-    - ``TARGET_FILE_DIR``
-    - ``TARGET_LINKER_FILE_BASE_NAME``
-    - ``TARGET_LINKER_FILE_NAME``
-    - ``TARGET_LINKER_FILE_DIR``
-    - ``TARGET_SONAME_FILE_NAME``
-    - ``TARGET_SONAME_FILE_DIR``
-    - ``TARGET_PDB_FILE_NAME``
-    - ``TARGET_PDB_FILE_DIR``
-    - ``TARGET_BUNDLE_DIR``
-    - ``TARGET_BUNDLE_CONTENT_DIR``

+ 0 - 5
Help/release/dev/remove-cmake-gui-qt4.rst

@@ -1,5 +0,0 @@
-remove-cmake-gui-qt4
---------------------
-
-* :manual:`cmake-gui(1)` now requires Qt5. Support for compiling with Qt4 has
-  been removed.

+ 0 - 6
Help/release/dev/remove-warn-unused-vars.rst

@@ -1,6 +0,0 @@
-remove-warn-unused-vars
------------------------
-
-* The :manual:`cmake(1)` command-line option ``--warn-unused-vars`` has
-  been removed and is now silently ignored.  The option has not worked
-  correctly since CMake 3.3.

+ 0 - 5
Help/release/dev/separate_arguments-PROGRAM.rst

@@ -1,5 +0,0 @@
-separate_arguments-PROGRAM
---------------------------
-
-* The :command:`separate_arguments` command gained new ``PROGRAM`` option to
-  search program.

+ 0 - 5
Help/release/dev/string-json-support.rst

@@ -1,5 +0,0 @@
-string-json-support
--------------------
-
-* The :command:`string` command gained set of new ``JSON`` sub commands to provide JSON
-  parsing capabilities.

+ 0 - 7
Help/release/dev/visual-studio-android.rst

@@ -1,7 +0,0 @@
-visual-studio-android
----------------------
-
-* The :ref:`Visual Studio Generators` for Visual Studio 2015 and above gained
-  support for the Visual Studio Tools for Android. This allows you to set
-  :variable:`CMAKE_SYSTEM_NAME` to `Android` to generate `.vcxproj` files for
-  the Android tools.

+ 0 - 6
Help/release/dev/vs-win-sdk-custom-max.rst

@@ -1,6 +0,0 @@
-vs-win-sdk-custom-max
----------------------
-
-* A :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM` variable
-  was added to tell the :ref:`Visual Studio Generators` what maximumm
-  version of the Windows SDK to choose.

+ 0 - 5
Help/release/dev/win32-executable-genex.rst

@@ -1,5 +0,0 @@
-win32-executable-genex
-----------------------
-
-* The :prop_tgt:`WIN32_EXECUTABLE` target property now supports
-  :manual:`generator expressions <cmake-generator-expressions(7)>`.

+ 0 - 7
Help/release/dev/xcode-12-new-build-system.rst

@@ -1,7 +0,0 @@
-xcode-12-new-build-system
--------------------------
-
-* The :generator:`Xcode` generator now uses the Xcode "new build system"
-  when generating for Xcode 12.0 or higher.
-  See the :variable:`CMAKE_XCODE_BUILD_SYSTEM` variable.
-  One may use ``-T buildsystem=1`` to switch to the legacy build system.

+ 0 - 9
Help/release/dev/xcode-link-phase-all.rst

@@ -1,9 +0,0 @@
-xcode-link-phase-all
---------------------
-
-* The Xcode generator gained support for linking libraries and frameworks
-  via the *Link Binaries With Libraries* build phase instead of always by
-  embedding linker flags directly.  This behavior is controlled by a new
-  :prop_tgt:`XCODE_LINK_BUILD_PHASE_MODE` target property, which is
-  initialized by a new :variable:`CMAKE_XCODE_LINK_BUILD_PHASE_MODE`
-  variable.

+ 1 - 0
Help/release/index.rst

@@ -15,6 +15,7 @@ Releases
 .. toctree::
 .. toctree::
    :maxdepth: 1
    :maxdepth: 1
 
 
+   3.19 <3.19>
    3.18 <3.18>
    3.18 <3.18>
    3.17 <3.17>
    3.17 <3.17>
    3.16 <3.16>
    3.16 <3.16>

+ 2 - 0
Help/variable/CMAKE_OPTIMIZE_DEPENDENCIES.rst

@@ -1,4 +1,6 @@
 CMAKE_OPTIMIZE_DEPENDENCIES
 CMAKE_OPTIMIZE_DEPENDENCIES
 ---------------------------
 ---------------------------
 
 
+.. versionadded:: 3.19
+
 Initializes the :prop_tgt:`OPTIMIZE_DEPENDENCIES` target property.
 Initializes the :prop_tgt:`OPTIMIZE_DEPENDENCIES` target property.

+ 2 - 0
Help/variable/CMAKE_XCODE_BUILD_SYSTEM.rst

@@ -1,6 +1,8 @@
 CMAKE_XCODE_BUILD_SYSTEM
 CMAKE_XCODE_BUILD_SYSTEM
 ------------------------
 ------------------------
 
 
+.. versionadded:: 3.19
+
 Xcode build system selection.
 Xcode build system selection.
 
 
 The :generator:`Xcode` generator defines this variable to indicate which
 The :generator:`Xcode` generator defines this variable to indicate which

+ 2 - 0
Help/variable/CMAKE_XCODE_LINK_BUILD_PHASE_MODE.rst

@@ -1,6 +1,8 @@
 CMAKE_XCODE_LINK_BUILD_PHASE_MODE
 CMAKE_XCODE_LINK_BUILD_PHASE_MODE
 ---------------------------------
 ---------------------------------
 
 
+.. versionadded:: 3.19
+
 This variable is used to initialize the
 This variable is used to initialize the
 :prop_tgt:`XCODE_LINK_BUILD_PHASE_MODE` property on targets.
 :prop_tgt:`XCODE_LINK_BUILD_PHASE_MODE` property on targets.
 It affects the methods that the :generator:`Xcode` generator uses to link
 It affects the methods that the :generator:`Xcode` generator uses to link