summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-06-04 11:42:30 -0400
committerBrad King <brad.king@kitware.com>2018-06-04 11:42:30 -0400
commit27bba7e8aa41cf1e6a3c6702a9712be634ecef38 (patch)
tree221361ee509f374e69882a0b58aec05540358daf
parent07bddeae14001328209f5d1fb988107a6db508cb (diff)
downloadcmake-27bba7e8aa41cf1e6a3c6702a9712be634ecef38.tar.gz
Help: Consolidate 3.12 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.12.rst`.
-rw-r--r--Help/release/3.12.rst255
-rw-r--r--Help/release/dev/CheckIncludeFile-required-libs.rst14
-rw-r--r--Help/release/dev/FindJPEG-imported-targets.rst4
-rw-r--r--Help/release/dev/FindODBC-module.rst5
-rw-r--r--Help/release/dev/FindPkgConfig-LINK_LIBRARIES.rst6
-rw-r--r--Help/release/dev/FindPython-new-implementation.rst5
-rw-r--r--Help/release/dev/PDBDirectoryGenExpression.rst5
-rw-r--r--Help/release/dev/UseSWIG-Multiple-Behaviors.rst6
-rw-r--r--Help/release/dev/UseSWIG-fix-library-prefix.rst6
-rw-r--r--Help/release/dev/UseSWIG-modernize-module.rst6
-rw-r--r--Help/release/dev/alsa-target.rst4
-rw-r--r--Help/release/dev/avoid-LIB_DEPENDS.rst5
-rw-r--r--Help/release/dev/cmake-install-doc.rst7
-rw-r--r--Help/release/dev/command-add_compile_definitions.rst5
-rw-r--r--Help/release/dev/compile-options-shell.rst6
-rw-r--r--Help/release/dev/copy_directory.rst6
-rw-r--r--Help/release/dev/cpack-nuget.rst7
-rw-r--r--Help/release/dev/cpack-use-project-version.rst10
-rw-r--r--Help/release/dev/ctest-affinity.rst6
-rw-r--r--Help/release/dev/ctest-start-args-rework.rst7
-rw-r--r--Help/release/dev/curl-target.rst4
-rw-r--r--Help/release/dev/directory-property-TESTS.rst5
-rw-r--r--Help/release/dev/dotnet-target-framework-ver-init.rst11
-rw-r--r--Help/release/dev/export-properties.rst6
-rw-r--r--Help/release/dev/features-c++20.rst6
-rw-r--r--Help/release/dev/features-msvc-c.rst5
-rw-r--r--Help/release/dev/file_cmd_touch.rst6
-rw-r--r--Help/release/dev/find-package_root-restore.rst8
-rw-r--r--Help/release/dev/fortran-submodule-depends.rst7
-rw-r--r--Help/release/dev/genex-GENEX_EVAL.rst7
-rw-r--r--Help/release/dev/genex-IN_LIST-logical-operator.rst5
-rw-r--r--Help/release/dev/genex-TARGET_EXISTS.rst6
-rw-r--r--Help/release/dev/genex-TARGET_NAME_IF_EXISTS.rst6
-rw-r--r--Help/release/dev/glob_configure_depends.rst6
-rw-r--r--Help/release/dev/libxml2-target.rst4
-rw-r--r--Help/release/dev/list-join.rst5
-rw-r--r--Help/release/dev/list-sublist.rst5
-rw-r--r--Help/release/dev/list-transform.rst5
-rw-r--r--Help/release/dev/managed-target-property.rst8
-rw-r--r--Help/release/dev/msvc-toolset-version-variable.rst6
-rw-r--r--Help/release/dev/namelink-component.rst7
-rw-r--r--Help/release/dev/object-library-linking.rst6
-rw-r--r--Help/release/dev/parallel_build_option.rst6
-rw-r--r--Help/release/dev/policy-version-range.rst8
-rw-r--r--Help/release/dev/project-homepage.rst7
-rw-r--r--Help/release/dev/remove-vs8-generator.rst4
-rw-r--r--Help/release/dev/reorder-sys-includes.rst7
-rw-r--r--Help/release/dev/string-join.rst5
-rw-r--r--Help/release/dev/subdirectory-linking.rst5
-rw-r--r--Help/release/dev/ti-c-standard.rst6
-rw-r--r--Help/release/dev/variable-CMAKE_FOLDER.rst5
-rw-r--r--Help/release/dev/variable-CMAKE_SUPPRESS_REGENERATION.rst6
-rw-r--r--Help/release/dev/vs-debugger-config.rst6
-rw-r--r--Help/release/dev/vs-hlsl-object-name.rst6
-rw-r--r--Help/release/dev/vs-sdk-dirs.rst15
-rw-r--r--Help/release/dev/vs-shader-generator-expressions.rst8
-rw-r--r--Help/release/dev/vs-toolset-version.rst7
-rw-r--r--Help/release/dev/wcdh-raw-features.rst6
-rw-r--r--Help/release/index.rst1
59 files changed, 256 insertions, 361 deletions
diff --git a/Help/release/3.12.rst b/Help/release/3.12.rst
new file mode 100644
index 0000000000..053fb2138f
--- /dev/null
+++ b/Help/release/3.12.rst
@@ -0,0 +1,255 @@
+CMake 3.12 Release Notes
+************************
+
+.. only:: html
+
+ .. contents::
+
+Changes made since CMake 3.11 include the following.
+
+* The :module:`FindALSA` module now provides imported targets.
+
+* CMake no longer produces ``<tgt>_LIB_DEPENDS`` cache entries
+ for library targets. See policy :policy:`CMP0073`.
+
+* The :module:`CheckIncludeFile` module ``check_include_file`` macro
+ learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
+ See policy :policy:`CMP0075`.
+
+* The :module:`CheckIncludeFileCXX` module ``check_include_file_cxx`` macro
+ learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
+ See policy :policy:`CMP0075`.
+
+* The :module:`CheckIncludeFiles` module ``check_include_files`` macro
+ learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
+ See policy :policy:`CMP0075`.
+
+* The existence and functionality of the file
+ ``${CMAKE_BINARY_DIR}/cmake_install.cmake`` has now been documented in the
+ :command:`install` documentation so that external packaging software can take
+ advantage of CPack-style component installs.
+
+* The :command:`add_compile_definitions` command was added to set preprocessor
+ definitions at directory level. This supersedes :command:`add_definitions`.
+
+* :command:`target_compile_options` and :command:`add_compile_options`
+ commands gained a ``SHELL:`` prefix to specify a group of related
+ options using shell-like quoting.
+
+* The :manual:`cmake(1)` ``-E copy_directory`` tool now fails when the
+ source directory does not exist. Previously it succeeded by creating
+ an empty destination directory.
+
+* :manual:`cpack(1)` gained basic support for `NuGet`_.
+ See the :module:`CPackNuGet` module.
+
+.. _NuGet: https://docs.microsoft.com/en-us/nuget/what-is-nuget
+
+* Introduce :variable:`CMAKE_PROJECT_VERSION` and the corresponding components:
+ :variable:`CMAKE_PROJECT_VERSION_MAJOR`, :variable:`CMAKE_PROJECT_VERSION_MINOR`,
+ :variable:`CMAKE_PROJECT_VERSION_PATCH` and :variable:`CMAKE_PROJECT_VERSION_TWEAK`.
+
+* :module:`CPack` module use :variable:`CMAKE_PROJECT_VERSION_MAJOR`,
+ :variable:`CMAKE_PROJECT_VERSION_MINOR` and :variable:`CMAKE_PROJECT_VERSION_PATCH`
+ to initialize corresponding CPack variables.
+
+* A :prop_test:`PROCESSOR_AFFINITY` test property was added to request
+ that CTest run a test with CPU affinity for a set of processors
+ disjoint from other concurrently running tests with the property set.
+
+* The :command:`ctest_start` command has been reworked so that you can simply
+ call ``ctest_start(APPEND)`` and it will read all the needed information from
+ the TAG file. The argument parsing has also been relaxed so that the order of
+ the arguments is less significant.
+
+* The :module:`FindCURL` module now provides imported targets.
+
+* The :prop_dir:`TESTS` directory property was added to hold the list of tests defined by
+ command :command:`add_test`.
+
+* The :prop_tgt:`DOTNET_TARGET_FRAMEWORK_VERSION` target property
+ was introduced as replacement for
+ :prop_tgt:`VS_DOTNET_TARGET_FRAMEWORK_VERSION`, which is considered
+ deprecated now.
+
+* The :variable:`CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION` variable
+ was defined to initialize all
+ :prop_tgt:`DOTNET_TARGET_FRAMEWORK_VERSION` target properties.
+
+* An :prop_tgt:`EXPORT_PROPERTIES` target property was added to specify a
+ custom list of target properties to include in targets exported by the
+ :command:`install(EXPORT)` and :command:`export` commands.
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+ is now aware of C++ 20. No specific features are yet enumerated besides
+ the ``cxx_std_20`` meta-feature.
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+ is now aware of the availability of C features in MSVC since VS 2010.
+
+* The :command:`file(TOUCH)` and :command:`file(TOUCH_NOCREATE)` commands
+ were added to expose TOUCH functionality without having to use CMake's
+ command-line tool mode with :command:`execute_process`.
+
+* The :module:`FindJPEG` module now provides imported targets.
+
+* A :module:`FindODBC` module was added to find an Open Database Connectivity
+ (ODBC) library.
+
+* The :command:`find_package` command now searches a prefix specified by
+ a ``PackageName_ROOT`` CMake or environment variable. Package roots are
+ maintained as a stack so nested calls to all ``find_*`` commands inside
+ find modules also search the roots as prefixes.
+ See policy :policy:`CMP0074`.
+
+* The :module:`FindPkgConfig` module has learned to export the found libraries
+ with full path for direct consumption with the :command:`target_link_libraries`
+ command.
+
+* The new :module:`FindPython3` and :module:`FindPython2` modules, as well as
+ :module:`FindPython`, provide a new way to locate python environments.
+
+* Fortran dependency scanning now supports dependencies implied by
+ `Fortran Submodules`_.
+
+.. _`Fortran Submodules`: http://fortranwiki.org/fortran/show/Submodules
+
+* New ``$<GENEX_EVAL:...>`` and ``$<TARGET_GENEX_EVAL:target,...>``
+ :manual:`generator expression <cmake-generator-expressions(7)>`
+ had been added to enable consumption of generator expressions whose
+ evaluation results itself in generator expressions.
+
+* A new ``$<IN_LIST:...>`` :manual:`generator expression <cmake-generator-expressions(7)>`
+ has been added.
+
+* A new ``$<TARGET_EXISTS:...>``
+ :manual:`generator expression <cmake-generator-expressions(7)>`
+ has been added.
+
+* A new ``$<TARGET_NAME_IF_EXISTS:...>``
+ :manual:`generator expression <cmake-generator-expressions(7)>`
+ has been added.
+
+* The :command:`file(GLOB)` and :command:`file(GLOB_RECURSE)` commands
+ learned a new flag ``CONFIGURE_DEPENDS`` which enables expression of
+ build system dependency on globbed directory's contents.
+
+* The :module:`FindLibXml2` module now provides imported targets.
+
+* The :command:`list` command learned a ``JOIN`` sub-command
+ to concatenate list's elements separated by a glue string.
+
+* The :command:`list` command learned a ``SUBLIST`` sub-command
+ to get a sublist of the list.
+
+* The :command:`list` command learned a ``TRANSFORM`` sub-command
+ to apply various string transformation to list's elements.
+
+* The :prop_tgt:`COMMON_LANGUAGE_RUNTIME` target property was introduced
+ to configure the use of managed C++ for :ref:`Visual Studio Generators`
+ for VS 2010 and above.
+* To support ``C++/CLI`` for imported targets, the
+ :prop_tgt:`IMPORTED_COMMON_LANGUAGE_RUNTIME` was added.
+
+* A :variable:`MSVC_TOOLSET_VERSION` variable was added to provide the
+ MSVC toolset version associated with the current MSVC compiler version
+ in :variable:`MSVC_VERSION`.
+
+* The :command:`install` command learned an optional ``NAMELINK_COMPONENT``
+ parameter, which allows you to change the component for a shared library's
+ namelink. If none is specified, the value of ``COMPONENT`` is used by
+ default.
+
+* The :command:`target_link_libraries` command now supports
+ :ref:`Object Libraries`. Linking to an object library uses its object
+ files in direct dependents and also propagates usage requirements.
+
+* The :manual:`cmake(1)` :ref:`Build Tool Mode` (``cmake --build``) gained
+ ``--parallel [<jobs>]`` and ``-j [<jobs>]`` options to specify a parallel
+ build level. They map to corresponding options of the native build tool.
+
+* The :prop_tgt:`PDB_OUTPUT_DIRECTORY` property learned to support
+ :manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+* The :command:`cmake_minimum_required` and :command:`cmake_policy(VERSION)`
+ commands now accept a version range using the form ``<min>[...<max>]``.
+ The ``<min>`` version is required but policies are set based on the
+ ``<max>`` version. This allows projects to specify a range of versions
+ for which they have been updated and avoid explicit policy settings.
+
+* The :command:`project` command learned an optional ``HOMEPAGE_URL``
+ parameter which has the effect of setting variables like
+ :variable:`PROJECT_HOMEPAGE_URL`, :variable:`<PROJECT-NAME>_HOMEPAGE_URL`
+ and :variable:`CMAKE_PROJECT_HOMEPAGE_URL`.
+
+* The :generator:`Visual Studio 8 2005` generator has been removed.
+
+* Include directories marked as ``SYSTEM`` are now moved after non-system
+ directories. The ``-isystem`` flag does this automatically, so moving
+ them explicitly to the end makes the behavior consistent on compilers
+ that do not have any ``-isystem`` flag.
+
+* The :command:`string` command learned a ``JOIN`` sub-command
+ to concatenate input strings separated by a glue string.
+
+* The :command:`target_link_libraries` command may now be called
+ to modify targets created outside the current directory.
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+ is now aware of C language standards supported by Texas Instruments C
+ compilers.
+
+* The :module:`UseSWIG` module :command:`swig_add_library` command
+ (and legacy ``swig_add_module`` command) now set the prefix of
+ Java modules to ``""`` for MINGW, MSYS, and CYGWIN environments.
+
+* The :module:`UseSWIG` gained a whole refresh and is now more consistent with
+ standard CMake commands to generate libraries and is fully configurable through
+ properties.
+
+* The :module:`UseSWIG` module learned to manage multiple behaviors through
+ ``UseSWIG_MODULE_VERSION`` variable to ensure legacy support as well as more
+ robust handling of ``SWIG`` advanced features (like ``%template``).
+
+* The :variable:`CMAKE_FOLDER` variable was added to initialize the
+ :prop_tgt:`FOLDER` property on all targets.
+
+* The :variable:`CMAKE_SUPPRESS_REGENERATION` variable was extended to support the
+ :generator:`Ninja` and :ref:`Makefile Generators`.
+* The :variable:`CMAKE_SUPPRESS_REGENERATION` variable is now documented.
+
+* For the :ref:`Visual Studio Generators` for VS 2010 and above
+ the debugging command line can be set using a new
+ :prop_tgt:`VS_DEBUGGER_COMMAND` target property.
+
+* HLSL source file property :prop_sf:`VS_SHADER_OBJECT_FILE_NAME` has been
+ added to the :ref:`Visual Studio Generators` for VS 2010 and above.
+ The property specifies the file name of the compiled shader object.
+
+* ``CMAKE_VS_SDK_*_DIRECTORIES`` variables were defined to tell
+ :ref:`Visual Studio Generators` for VS 2010 and above how to populate
+ fields in ``.vcxproj`` files that specify SDK directories. The
+ variables are:
+
+ - :variable:`CMAKE_VS_SDK_EXCLUDE_DIRECTORIES`
+ - :variable:`CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES`
+ - :variable:`CMAKE_VS_SDK_INCLUDE_DIRECTORIES`
+ - :variable:`CMAKE_VS_SDK_LIBRARY_DIRECTORIES`
+ - :variable:`CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES`
+ - :variable:`CMAKE_VS_SDK_REFERENCE_DIRECTORIES`
+ - :variable:`CMAKE_VS_SDK_SOURCE_DIRECTORIES`
+
+* Added support for generator expressions for the following source file
+ properties:
+
+ - :prop_sf:`VS_SHADER_DISABLE_OPTIMIZATIONS`
+ - :prop_sf:`VS_SHADER_ENABLE_DEBUG`
+
+* The :ref:`Visual Studio Generators` for VS 2017 learned to support a
+ ``version=14.##`` option in the :variable:`CMAKE_GENERATOR_TOOLSET`
+ value (e.g. via the :manual:`cmake(1)` ``-T`` option) to specify a
+ toolset version number.
+
+* The :module:`WriteCompilerDetectionHeader` module now supports the
+ ``BARE_FEATURES`` argument which allows to add a compatibility define for
+ the exact keyword of a new language feature.
diff --git a/Help/release/dev/CheckIncludeFile-required-libs.rst b/Help/release/dev/CheckIncludeFile-required-libs.rst
deleted file mode 100644
index 6fb5c40441..0000000000
--- a/Help/release/dev/CheckIncludeFile-required-libs.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-CheckIncludeFile-required-libs
-------------------------------
-
-* The :module:`CheckIncludeFile` module ``check_include_file`` macro
- learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
- See policy :policy:`CMP0075`.
-
-* The :module:`CheckIncludeFileCXX` module ``check_include_file_cxx`` macro
- learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
- See policy :policy:`CMP0075`.
-
-* The :module:`CheckIncludeFiles` module ``check_include_files`` macro
- learned to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable.
- See policy :policy:`CMP0075`.
diff --git a/Help/release/dev/FindJPEG-imported-targets.rst b/Help/release/dev/FindJPEG-imported-targets.rst
deleted file mode 100644
index 32cf2f6f4f..0000000000
--- a/Help/release/dev/FindJPEG-imported-targets.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-FindJPEG-imported-targets
--------------------------
-
-* The :module:`FindJPEG` module now provides imported targets.
diff --git a/Help/release/dev/FindODBC-module.rst b/Help/release/dev/FindODBC-module.rst
deleted file mode 100644
index f270e8e595..0000000000
--- a/Help/release/dev/FindODBC-module.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-FindODBC-module
----------------
-
-* A :module:`FindODBC` module was added to find an Open Database Connectivity
- (ODBC) library.
diff --git a/Help/release/dev/FindPkgConfig-LINK_LIBRARIES.rst b/Help/release/dev/FindPkgConfig-LINK_LIBRARIES.rst
deleted file mode 100644
index b915556df7..0000000000
--- a/Help/release/dev/FindPkgConfig-LINK_LIBRARIES.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-FindPkgConfig-LINK_LIBRARIES
-----------------------------
-
-* The :module:`FindPkgConfig` module has learned to export the found libraries
- with full path for direct consumption with the :command:`target_link_libraries`
- command.
diff --git a/Help/release/dev/FindPython-new-implementation.rst b/Help/release/dev/FindPython-new-implementation.rst
deleted file mode 100644
index 22051d0bd4..0000000000
--- a/Help/release/dev/FindPython-new-implementation.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-FindPython(2|3)
----------------
-
-* The new :module:`FindPython3` and :module:`FindPython2` modules, as well as
- :module:`FindPython`, provide a new way to locate python environments.
diff --git a/Help/release/dev/PDBDirectoryGenExpression.rst b/Help/release/dev/PDBDirectoryGenExpression.rst
deleted file mode 100644
index 0b93a772ac..0000000000
--- a/Help/release/dev/PDBDirectoryGenExpression.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-PDBDirectoryGenExpression
--------------------------
-
-* The :prop_tgt:`PDB_OUTPUT_DIRECTORY` property learned to support
- :manual:`generator expressions <cmake-generator-expressions(7)>`.
diff --git a/Help/release/dev/UseSWIG-Multiple-Behaviors.rst b/Help/release/dev/UseSWIG-Multiple-Behaviors.rst
deleted file mode 100644
index 043ba50d34..0000000000
--- a/Help/release/dev/UseSWIG-Multiple-Behaviors.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-UseSWIG-multiple-behaviors
---------------------------
-
-* The :module:`UseSWIG` module learned to manage multiple behaviors through
- ``UseSWIG_MODULE_VERSION`` variable to ensure legacy support as well as more
- robust handling of ``SWIG`` advanced features (like ``%template``).
diff --git a/Help/release/dev/UseSWIG-fix-library-prefix.rst b/Help/release/dev/UseSWIG-fix-library-prefix.rst
deleted file mode 100644
index 7ff0f497aa..0000000000
--- a/Help/release/dev/UseSWIG-fix-library-prefix.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-UseSWIG-fix-library-prefix
---------------------------
-
-* The :module:`UseSWIG` module :command:`swig_add_library` command
- (and legacy ``swig_add_module`` command) now set the prefix of
- Java modules to ``""`` for MINGW, MSYS, and CYGWIN environments.
diff --git a/Help/release/dev/UseSWIG-modernize-module.rst b/Help/release/dev/UseSWIG-modernize-module.rst
deleted file mode 100644
index 925c1197f1..0000000000
--- a/Help/release/dev/UseSWIG-modernize-module.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-UseSWIG-modernize-module
-------------------------
-
-* The :module:`UseSWIG` gained a whole refresh and is now more consistent with
- standard CMake commands to generate libraries and is fully configurable through
- properties.
diff --git a/Help/release/dev/alsa-target.rst b/Help/release/dev/alsa-target.rst
deleted file mode 100644
index e97058023c..0000000000
--- a/Help/release/dev/alsa-target.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-alsa-target
------------
-
-* The :module:`FindALSA` module now provides imported targets.
diff --git a/Help/release/dev/avoid-LIB_DEPENDS.rst b/Help/release/dev/avoid-LIB_DEPENDS.rst
deleted file mode 100644
index b89d8f91ca..0000000000
--- a/Help/release/dev/avoid-LIB_DEPENDS.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-avoid-LIB_DEPENDS
------------------
-
-* CMake no longer produces ``<tgt>_LIB_DEPENDS`` cache entries
- for library targets. See policy :policy:`CMP0073`.
diff --git a/Help/release/dev/cmake-install-doc.rst b/Help/release/dev/cmake-install-doc.rst
deleted file mode 100644
index 028aa43424..0000000000
--- a/Help/release/dev/cmake-install-doc.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-cmake-install-doc
------------------
-
-* The existence and functionality of the file
- ``${CMAKE_BINARY_DIR}/cmake_install.cmake`` has now been documented in the
- :command:`install` documentation so that external packaging software can take
- advantage of CPack-style component installs.
diff --git a/Help/release/dev/command-add_compile_definitions.rst b/Help/release/dev/command-add_compile_definitions.rst
deleted file mode 100644
index 504481ff59..0000000000
--- a/Help/release/dev/command-add_compile_definitions.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-command-add_compile_definitions
--------------------------------
-
-* The :command:`add_compile_definitions` command was added to set preprocessor
- definitions at directory level. This supersedes :command:`add_definitions`.
diff --git a/Help/release/dev/compile-options-shell.rst b/Help/release/dev/compile-options-shell.rst
deleted file mode 100644
index 3f83e0c683..0000000000
--- a/Help/release/dev/compile-options-shell.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-compile-options-shell
----------------------
-
-* :command:`target_compile_options` and :command:`add_compile_options`
- commands gained a ``SHELL:`` prefix to specify a group of related
- options using shell-like quoting.
diff --git a/Help/release/dev/copy_directory.rst b/Help/release/dev/copy_directory.rst
deleted file mode 100644
index 71b9fdf14a..0000000000
--- a/Help/release/dev/copy_directory.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-copy_directory
---------------
-
-* The :manual:`cmake(1)` ``-E copy_directory`` tool now fails when the
- source directory does not exist. Previously it succeeded by creating
- an empty destination directory.
diff --git a/Help/release/dev/cpack-nuget.rst b/Help/release/dev/cpack-nuget.rst
deleted file mode 100644
index 03cb101663..0000000000
--- a/Help/release/dev/cpack-nuget.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-cpack-nuget
------------
-
-* :manual:`cpack(1)` gained basic support for `NuGet`_.
- See the :module:`CPackNuGet` module.
-
-.. _NuGet: https://docs.microsoft.com/en-us/nuget/what-is-nuget
diff --git a/Help/release/dev/cpack-use-project-version.rst b/Help/release/dev/cpack-use-project-version.rst
deleted file mode 100644
index b17754aa6b..0000000000
--- a/Help/release/dev/cpack-use-project-version.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-cpack-use-project-version
--------------------------
-
-* Introduce :variable:`CMAKE_PROJECT_VERSION` and the corresponding components:
- :variable:`CMAKE_PROJECT_VERSION_MAJOR`, :variable:`CMAKE_PROJECT_VERSION_MINOR`,
- :variable:`CMAKE_PROJECT_VERSION_PATCH` and :variable:`CMAKE_PROJECT_VERSION_TWEAK`.
-
-* :module:`CPack` module use :variable:`CMAKE_PROJECT_VERSION_MAJOR`,
- :variable:`CMAKE_PROJECT_VERSION_MINOR` and :variable:`CMAKE_PROJECT_VERSION_PATCH`
- to initialize corresponding CPack variables.
diff --git a/Help/release/dev/ctest-affinity.rst b/Help/release/dev/ctest-affinity.rst
deleted file mode 100644
index f4f72a5d59..0000000000
--- a/Help/release/dev/ctest-affinity.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-ctest-affinity
---------------
-
-* A :prop_test:`PROCESSOR_AFFINITY` test property was added to request
- that CTest run a test with CPU affinity for a set of processors
- disjoint from other concurrently running tests with the property set.
diff --git a/Help/release/dev/ctest-start-args-rework.rst b/Help/release/dev/ctest-start-args-rework.rst
deleted file mode 100644
index cbe6652509..0000000000
--- a/Help/release/dev/ctest-start-args-rework.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-ctest-start-args-rework
------------------------
-
-* The :command:`ctest_start` command has been reworked so that you can simply
- call ``ctest_start(APPEND)`` and it will read all the needed information from
- the TAG file. The argument parsing has also been relaxed so that the order of
- the arguments is less significant.
diff --git a/Help/release/dev/curl-target.rst b/Help/release/dev/curl-target.rst
deleted file mode 100644
index dc65f64a7a..0000000000
--- a/Help/release/dev/curl-target.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-curl-target
------------
-
-* The :module:`FindCURL` module now provides imported targets.
diff --git a/Help/release/dev/directory-property-TESTS.rst b/Help/release/dev/directory-property-TESTS.rst
deleted file mode 100644
index 9de2531951..0000000000
--- a/Help/release/dev/directory-property-TESTS.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-directory-property-TESTS
-------------------------
-
-* The :prop_dir:`TESTS` directory property was added to hold the list of tests defined by
- command :command:`add_test`.
diff --git a/Help/release/dev/dotnet-target-framework-ver-init.rst b/Help/release/dev/dotnet-target-framework-ver-init.rst
deleted file mode 100644
index fd1490cba0..0000000000
--- a/Help/release/dev/dotnet-target-framework-ver-init.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-dotnet-target-fw-initialization
--------------------------------
-
-* The :prop_tgt:`DOTNET_TARGET_FRAMEWORK_VERSION` target property
- was introduced as replacement for
- :prop_tgt:`VS_DOTNET_TARGET_FRAMEWORK_VERSION`, which is considered
- deprecated now.
-
-* The :variable:`CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION` variable
- was defined to initialize all
- :prop_tgt:`DOTNET_TARGET_FRAMEWORK_VERSION` target properties.
diff --git a/Help/release/dev/export-properties.rst b/Help/release/dev/export-properties.rst
deleted file mode 100644
index 9b2079920b..0000000000
--- a/Help/release/dev/export-properties.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-EXPORT_PROPERTIES
------------------
-
-* An :prop_tgt:`EXPORT_PROPERTIES` target property was added to specify a
- custom list of target properties to include in targets exported by the
- :command:`install(EXPORT)` and :command:`export` commands.
diff --git a/Help/release/dev/features-c++20.rst b/Help/release/dev/features-c++20.rst
deleted file mode 100644
index f7d050b6f1..0000000000
--- a/Help/release/dev/features-c++20.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-features-c++20
---------------
-
-* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
- is now aware of C++ 20. No specific features are yet enumerated besides
- the ``cxx_std_20`` meta-feature.
diff --git a/Help/release/dev/features-msvc-c.rst b/Help/release/dev/features-msvc-c.rst
deleted file mode 100644
index 0c55544d93..0000000000
--- a/Help/release/dev/features-msvc-c.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-features-msvc-c
----------------
-
-* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
- is now aware of the availability of C features in MSVC since VS 2010.
diff --git a/Help/release/dev/file_cmd_touch.rst b/Help/release/dev/file_cmd_touch.rst
deleted file mode 100644
index b1b1e3c414..0000000000
--- a/Help/release/dev/file_cmd_touch.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-file_cmd_touch
-------------------
-
-* The :command:`file(TOUCH)` and :command:`file(TOUCH_NOCREATE)` commands
- were added to expose TOUCH functionality without having to use CMake's
- command-line tool mode with :command:`execute_process`.
diff --git a/Help/release/dev/find-package_root-restore.rst b/Help/release/dev/find-package_root-restore.rst
deleted file mode 100644
index 3e6b69e622..0000000000
--- a/Help/release/dev/find-package_root-restore.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-find-package_root-restore
--------------------------
-
-* The :command:`find_package` command now searches a prefix specified by
- a ``PackageName_ROOT`` CMake or environment variable. Package roots are
- maintained as a stack so nested calls to all ``find_*`` commands inside
- find modules also search the roots as prefixes.
- See policy :policy:`CMP0074`.
diff --git a/Help/release/dev/fortran-submodule-depends.rst b/Help/release/dev/fortran-submodule-depends.rst
deleted file mode 100644
index b795a84640..0000000000
--- a/Help/release/dev/fortran-submodule-depends.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-fortran-submodule-depends
--------------------------
-
-* Fortran dependency scanning now supports dependencies implied by
- `Fortran Submodules`_.
-
-.. _`Fortran Submodules`: http://fortranwiki.org/fortran/show/Submodules
diff --git a/Help/release/dev/genex-GENEX_EVAL.rst b/Help/release/dev/genex-GENEX_EVAL.rst
deleted file mode 100644
index 0869c93ab2..0000000000
--- a/Help/release/dev/genex-GENEX_EVAL.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-genex-GENEX_EVAL
-----------------
-
-* New ``$<GENEX_EVAL:...>`` and ``$<TARGET_GENEX_EVAL:target,...>``
- :manual:`generator expression <cmake-generator-expressions(7)>`
- had been added to enable consumption of generator expressions whose
- evaluation results itself in generator expressions.
diff --git a/Help/release/dev/genex-IN_LIST-logical-operator.rst b/Help/release/dev/genex-IN_LIST-logical-operator.rst
deleted file mode 100644
index 28fa7ceaf9..0000000000
--- a/Help/release/dev/genex-IN_LIST-logical-operator.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-genex-IN_LIST-logical-operator
-------------------------------
-
-* A new ``$<IN_LIST:...>`` :manual:`generator expression <cmake-generator-expressions(7)>`
- has been added.
diff --git a/Help/release/dev/genex-TARGET_EXISTS.rst b/Help/release/dev/genex-TARGET_EXISTS.rst
deleted file mode 100644
index f305522e74..0000000000
--- a/Help/release/dev/genex-TARGET_EXISTS.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-genex-TARGET_EXISTS
--------------------
-
-* A new ``$<TARGET_EXISTS:...>``
- :manual:`generator expression <cmake-generator-expressions(7)>`
- has been added.
diff --git a/Help/release/dev/genex-TARGET_NAME_IF_EXISTS.rst b/Help/release/dev/genex-TARGET_NAME_IF_EXISTS.rst
deleted file mode 100644
index 416e812087..0000000000
--- a/Help/release/dev/genex-TARGET_NAME_IF_EXISTS.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-genex-TARGET_NAME_IF_EXISTS
----------------------------
-
-* A new ``$<TARGET_NAME_IF_EXISTS:...>``
- :manual:`generator expression <cmake-generator-expressions(7)>`
- has been added.
diff --git a/Help/release/dev/glob_configure_depends.rst b/Help/release/dev/glob_configure_depends.rst
deleted file mode 100644
index 147e44ad0a..0000000000
--- a/Help/release/dev/glob_configure_depends.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-glob_configure_depends
-----------------------
-
-* The :command:`file(GLOB)` and :command:`file(GLOB_RECURSE)` commands
- learned a new flag ``CONFIGURE_DEPENDS`` which enables expression of
- build system dependency on globbed directory's contents.
diff --git a/Help/release/dev/libxml2-target.rst b/Help/release/dev/libxml2-target.rst
deleted file mode 100644
index f9933d7eaa..0000000000
--- a/Help/release/dev/libxml2-target.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-libxml2-target
---------------
-
-* The :module:`FindLibXml2` module now provides imported targets.
diff --git a/Help/release/dev/list-join.rst b/Help/release/dev/list-join.rst
deleted file mode 100644
index 0756b60369..0000000000
--- a/Help/release/dev/list-join.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-list-join
----------
-
-* The :command:`list` command learned a ``JOIN`` sub-command
- to concatenate list's elements separated by a glue string.
diff --git a/Help/release/dev/list-sublist.rst b/Help/release/dev/list-sublist.rst
deleted file mode 100644
index 7ad225bc0b..0000000000
--- a/Help/release/dev/list-sublist.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-list-sublist
-------------
-
-* The :command:`list` command learned a ``SUBLIST`` sub-command
- to get a sublist of the list.
diff --git a/Help/release/dev/list-transform.rst b/Help/release/dev/list-transform.rst
deleted file mode 100644
index 4a6dacca67..0000000000
--- a/Help/release/dev/list-transform.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-list-transform
---------------
-
-* The :command:`list` command learned a ``TRANSFORM`` sub-command
- to apply various string transformation to list's elements.
diff --git a/Help/release/dev/managed-target-property.rst b/Help/release/dev/managed-target-property.rst
deleted file mode 100644
index b961512070..0000000000
--- a/Help/release/dev/managed-target-property.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-target property COMMON_LANGUAGE_RUNTIME
----------------------------------------
-
-* The :prop_tgt:`COMMON_LANGUAGE_RUNTIME` target property was introduced
- to configure the use of managed C++ for :ref:`Visual Studio Generators`
- for VS 2010 and above.
-* To support ``C++/CLI`` for imported targets, the
- :prop_tgt:`IMPORTED_COMMON_LANGUAGE_RUNTIME` was added.
diff --git a/Help/release/dev/msvc-toolset-version-variable.rst b/Help/release/dev/msvc-toolset-version-variable.rst
deleted file mode 100644
index 28ba0b96a7..0000000000
--- a/Help/release/dev/msvc-toolset-version-variable.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-msvc-toolset-version-variable
------------------------------
-
-* A :variable:`MSVC_TOOLSET_VERSION` variable was added to provide the
- MSVC toolset version associated with the current MSVC compiler version
- in :variable:`MSVC_VERSION`.
diff --git a/Help/release/dev/namelink-component.rst b/Help/release/dev/namelink-component.rst
deleted file mode 100644
index aaeb04f6f8..0000000000
--- a/Help/release/dev/namelink-component.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-namelink-component
-------------------
-
-* The :command:`install` command learned an optional ``NAMELINK_COMPONENT``
- parameter, which allows you to change the component for a shared library's
- namelink. If none is specified, the value of ``COMPONENT`` is used by
- default.
diff --git a/Help/release/dev/object-library-linking.rst b/Help/release/dev/object-library-linking.rst
deleted file mode 100644
index 131430f8ab..0000000000
--- a/Help/release/dev/object-library-linking.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-object-library-linking
-----------------------
-
-* The :command:`target_link_libraries` command now supports
- :ref:`Object Libraries`. Linking to an object library uses its object
- files in direct dependents and also propagates usage requirements.
diff --git a/Help/release/dev/parallel_build_option.rst b/Help/release/dev/parallel_build_option.rst
deleted file mode 100644
index 2451fd033d..0000000000
--- a/Help/release/dev/parallel_build_option.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-parallel_build_option
----------------------
-
-* The :manual:`cmake(1)` :ref:`Build Tool Mode` (``cmake --build``) gained
- ``--parallel [<jobs>]`` and ``-j [<jobs>]`` options to specify a parallel
- build level. They map to corresponding options of the native build tool.
diff --git a/Help/release/dev/policy-version-range.rst b/Help/release/dev/policy-version-range.rst
deleted file mode 100644
index b2d1f17b06..0000000000
--- a/Help/release/dev/policy-version-range.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-policy-version-range
---------------------
-
-* The :command:`cmake_minimum_required` and :command:`cmake_policy(VERSION)`
- commands now accept a version range using the form ``<min>[...<max>]``.
- The ``<min>`` version is required but policies are set based on the
- ``<max>`` version. This allows projects to specify a range of versions
- for which they have been updated and avoid explicit policy settings.
diff --git a/Help/release/dev/project-homepage.rst b/Help/release/dev/project-homepage.rst
deleted file mode 100644
index 25799a4289..0000000000
--- a/Help/release/dev/project-homepage.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-project-homepage
-----------------
-
-* The :command:`project` command learned an optional ``HOMEPAGE_URL``
- parameter which has the effect of setting variables like
- :variable:`PROJECT_HOMEPAGE_URL`, :variable:`<PROJECT-NAME>_HOMEPAGE_URL`
- and :variable:`CMAKE_PROJECT_HOMEPAGE_URL`.
diff --git a/Help/release/dev/remove-vs8-generator.rst b/Help/release/dev/remove-vs8-generator.rst
deleted file mode 100644
index c39529aaba..0000000000
--- a/Help/release/dev/remove-vs8-generator.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-remove-vs8-generator
---------------------
-
-* The :generator:`Visual Studio 8 2005` generator has been removed.
diff --git a/Help/release/dev/reorder-sys-includes.rst b/Help/release/dev/reorder-sys-includes.rst
deleted file mode 100644
index 14d520f124..0000000000
--- a/Help/release/dev/reorder-sys-includes.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-reorder-sys-includes
---------------------
-
-* Include directories marked as ``SYSTEM`` are now moved after non-system
- directories. The ``-isystem`` flag does this automatically, so moving
- them explicitly to the end makes the behavior consistent on compilers
- that do not have any ``-isystem`` flag.
diff --git a/Help/release/dev/string-join.rst b/Help/release/dev/string-join.rst
deleted file mode 100644
index 5cca711f81..0000000000
--- a/Help/release/dev/string-join.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-string-join
------------
-
-* The :command:`string` command learned a ``JOIN`` sub-command
- to concatenate input strings separated by a glue string.
diff --git a/Help/release/dev/subdirectory-linking.rst b/Help/release/dev/subdirectory-linking.rst
deleted file mode 100644
index 1909c36558..0000000000
--- a/Help/release/dev/subdirectory-linking.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-subdirectory-linking
---------------------
-
-* The :command:`target_link_libraries` command may now be called
- to modify targets created outside the current directory.
diff --git a/Help/release/dev/ti-c-standard.rst b/Help/release/dev/ti-c-standard.rst
deleted file mode 100644
index 8ec739f7d8..0000000000
--- a/Help/release/dev/ti-c-standard.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-ti-c-standard
--------------
-
-* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
- is now aware of C language standards supported by Texas Instruments C
- compilers.
diff --git a/Help/release/dev/variable-CMAKE_FOLDER.rst b/Help/release/dev/variable-CMAKE_FOLDER.rst
deleted file mode 100644
index 8064edd48e..0000000000
--- a/Help/release/dev/variable-CMAKE_FOLDER.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-variable-CMAKE_FOLDER
----------------------
-
-* The :variable:`CMAKE_FOLDER` variable was added to initialize the
- :prop_tgt:`FOLDER` property on all targets.
diff --git a/Help/release/dev/variable-CMAKE_SUPPRESS_REGENERATION.rst b/Help/release/dev/variable-CMAKE_SUPPRESS_REGENERATION.rst
deleted file mode 100644
index dfe678c324..0000000000
--- a/Help/release/dev/variable-CMAKE_SUPPRESS_REGENERATION.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-variable-CMAKE_SUPPRESS_REGENERATION
-------------------------------------
-
-* The :variable:`CMAKE_SUPPRESS_REGENERATION` variable was extended to support the
- :generator:`Ninja` and :ref:`Makefile Generators`.
-* The :variable:`CMAKE_SUPPRESS_REGENERATION` variable is now documented.
diff --git a/Help/release/dev/vs-debugger-config.rst b/Help/release/dev/vs-debugger-config.rst
deleted file mode 100644
index bddae0c3c5..0000000000
--- a/Help/release/dev/vs-debugger-config.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-vs-debugger-configuration
--------------------------
-
-* For the :ref:`Visual Studio Generators` for VS 2010 and above
- the debugging command line can be set using a new
- :prop_tgt:`VS_DEBUGGER_COMMAND` target property.
diff --git a/Help/release/dev/vs-hlsl-object-name.rst b/Help/release/dev/vs-hlsl-object-name.rst
deleted file mode 100644
index 625e5ee613..0000000000
--- a/Help/release/dev/vs-hlsl-object-name.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-vs-hlsl-object-name
--------------------
-
-* HLSL source file property :prop_sf:`VS_SHADER_OBJECT_FILE_NAME` has been
- added to the :ref:`Visual Studio Generators` for VS 2010 and above.
- The property specifies the file name of the compiled shader object.
diff --git a/Help/release/dev/vs-sdk-dirs.rst b/Help/release/dev/vs-sdk-dirs.rst
deleted file mode 100644
index 3377775547..0000000000
--- a/Help/release/dev/vs-sdk-dirs.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-vs-sdk-dirs
------------
-
-* ``CMAKE_VS_SDK_*_DIRECTORIES`` variables were defined to tell
- :ref:`Visual Studio Generators` for VS 2010 and above how to populate
- fields in ``.vcxproj`` files that specify SDK directories. The
- variables are:
-
- - :variable:`CMAKE_VS_SDK_EXCLUDE_DIRECTORIES`
- - :variable:`CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES`
- - :variable:`CMAKE_VS_SDK_INCLUDE_DIRECTORIES`
- - :variable:`CMAKE_VS_SDK_LIBRARY_DIRECTORIES`
- - :variable:`CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES`
- - :variable:`CMAKE_VS_SDK_REFERENCE_DIRECTORIES`
- - :variable:`CMAKE_VS_SDK_SOURCE_DIRECTORIES`
diff --git a/Help/release/dev/vs-shader-generator-expressions.rst b/Help/release/dev/vs-shader-generator-expressions.rst
deleted file mode 100644
index 085be23c1a..0000000000
--- a/Help/release/dev/vs-shader-generator-expressions.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-vs-shader-generator-expressions
--------------------------------
-
-* Added support for generator expressions for the following source file
- properties:
-
- - :prop_sf:`VS_SHADER_DISABLE_OPTIMIZATIONS`
- - :prop_sf:`VS_SHADER_ENABLE_DEBUG`
diff --git a/Help/release/dev/vs-toolset-version.rst b/Help/release/dev/vs-toolset-version.rst
deleted file mode 100644
index 239917e83d..0000000000
--- a/Help/release/dev/vs-toolset-version.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-vs-toolset-version
-------------------
-
-* The :ref:`Visual Studio Generators` for VS 2017 learned to support a
- ``version=14.##`` option in the :variable:`CMAKE_GENERATOR_TOOLSET`
- value (e.g. via the :manual:`cmake(1)` ``-T`` option) to specify a
- toolset version number.
diff --git a/Help/release/dev/wcdh-raw-features.rst b/Help/release/dev/wcdh-raw-features.rst
deleted file mode 100644
index bdc7b6255b..0000000000
--- a/Help/release/dev/wcdh-raw-features.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-wcdh-raw-features
------------------
-
-* The :module:`WriteCompilerDetectionHeader` module now supports the
- ``BARE_FEATURES`` argument which allows to add a compatibility define for
- the exact keyword of a new language feature.
diff --git a/Help/release/index.rst b/Help/release/index.rst
index 552922e083..4c9e96aa35 100644
--- a/Help/release/index.rst
+++ b/Help/release/index.rst
@@ -15,6 +15,7 @@ Releases
.. toctree::
:maxdepth: 1
+ 3.12 <3.12>
3.11 <3.11>
3.10 <3.10>
3.9 <3.9>