Browse Source

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 years ago
parent
commit
85c2bb724f
72 changed files with 334 additions and 407 deletions
  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
 -------
 
+.. versionadded:: 3.19
+
 :command:`add_test` supports arbitrary characters in test names.
 
 :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
 ---------------------
 
+.. versionadded:: 3.19
+
 Activates dependency optimization of static and object libraries.
 
 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
 ---------------------------
 
+.. versionadded:: 3.19
+
 When using the :generator:`Xcode` generator, libraries to be linked will be
 specified in the Xcode project file using either the "Link Binary With
 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::
    :maxdepth: 1
 
+   3.19 <3.19>
    3.18 <3.18>
    3.17 <3.17>
    3.16 <3.16>

+ 2 - 0
Help/variable/CMAKE_OPTIMIZE_DEPENDENCIES.rst

@@ -1,4 +1,6 @@
 CMAKE_OPTIMIZE_DEPENDENCIES
 ---------------------------
 
+.. versionadded:: 3.19
+
 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
 ------------------------
 
+.. versionadded:: 3.19
+
 Xcode build system selection.
 
 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
 ---------------------------------
 
+.. versionadded:: 3.19
+
 This variable is used to initialize the
 :prop_tgt:`XCODE_LINK_BUILD_PHASE_MODE` property on targets.
 It affects the methods that the :generator:`Xcode` generator uses to link