summaryrefslogtreecommitdiffstats
path: root/Help/release
diff options
context:
space:
mode:
Diffstat (limited to 'Help/release')
-rw-r--r--Help/release/3.0.rst2
-rw-r--r--Help/release/3.11.rst2
-rw-r--r--Help/release/3.12.rst4
-rw-r--r--Help/release/3.20.rst6
-rw-r--r--Help/release/3.21.rst14
-rw-r--r--Help/release/3.23.rst11
-rw-r--r--Help/release/3.24.rst36
-rw-r--r--Help/release/3.25.rst259
-rw-r--r--Help/release/3.3.rst2
-rw-r--r--Help/release/3.4.rst2
-rw-r--r--Help/release/3.7.rst2
-rw-r--r--Help/release/index.rst1
12 files changed, 304 insertions, 37 deletions
diff --git a/Help/release/3.0.rst b/Help/release/3.0.rst
index 64491e3..e37c130 100644
--- a/Help/release/3.0.rst
+++ b/Help/release/3.0.rst
@@ -11,7 +11,7 @@ Documentation Changes
=====================
* The CMake documentation has been converted to reStructuredText and
- now transforms via Sphinx (`<http://sphinx-doc.org>`__) into man and
+ now transforms via Sphinx (`<https://www.sphinx-doc.org>`__) into man and
html pages. This allows the documentation to be properly indexed
and to contain cross-references.
diff --git a/Help/release/3.11.rst b/Help/release/3.11.rst
index a80657d..957dd4f 100644
--- a/Help/release/3.11.rst
+++ b/Help/release/3.11.rst
@@ -174,7 +174,7 @@ Modules
to removal of the ``javah`` tool by `JEP 313`_.
.. _`FLAME`: https://github.com/flame
-.. _`JEP 313`: http://openjdk.java.net/jeps/313
+.. _`JEP 313`: https://openjdk.java.net/jeps/313
Autogen
-------
diff --git a/Help/release/3.12.rst b/Help/release/3.12.rst
index 481027e..dcdae1d 100644
--- a/Help/release/3.12.rst
+++ b/Help/release/3.12.rst
@@ -242,7 +242,7 @@ CPack
* A :cpack_gen:`CPack NuGet Generator` was was added with basic
support for `NuGet`_.
-.. _NuGet: https://docs.microsoft.com/en-us/nuget/what-is-nuget
+.. _NuGet: https://learn.microsoft.com/en-us/nuget/what-is-nuget
Other
-----
@@ -302,4 +302,4 @@ Other Changes
(and legacy ``swig_add_module`` command) now set the prefix of
Java modules to ``""`` for MINGW, MSYS, and CYGWIN environments.
-.. _`Fortran Submodules`: http://fortranwiki.org/fortran/show/Submodules
+.. _Fortran Submodules: https://fortranwiki.org/fortran/show/Submodules
diff --git a/Help/release/3.20.rst b/Help/release/3.20.rst
index 42e95be..40cac41 100644
--- a/Help/release/3.20.rst
+++ b/Help/release/3.20.rst
@@ -217,8 +217,8 @@ Autogen
CTest
-----
-* :manual:`ctest(1)` gained a ``--test-dir`` option to specify the directory
- in which to look for tests.
+* :manual:`ctest(1)` gained a :option:`--test-dir <ctest --test-dir>`
+ option to specify the directory in which to look for tests.
CPack
-----
@@ -263,7 +263,7 @@ CPack
:variable:`CPACK_NUGET_<compName>_PACKAGE_LANGUAGE` allow the locale
for a package to be specified, for example ``en_CA``.
-.. _Software Package Data Exchange: https://spdx.org/
+.. _Software Package Data Exchange: https://spdx.dev/
Deprecated and Removed Features
===============================
diff --git a/Help/release/3.21.rst b/Help/release/3.21.rst
index 462d2be..91c3768 100644
--- a/Help/release/3.21.rst
+++ b/Help/release/3.21.rst
@@ -49,15 +49,15 @@ Languages
Command-Line
------------
-* :manual:`cmake(1)` gained the ``--install-prefix <dir>``
+* :manual:`cmake(1)` gained the :option:`--install-prefix <cmake --install-prefix>`
command-line option to specify the location of the install prefix.
-* :manual:`cmake(1)` gained the ``--toolchain <path/to/file>``
+* :manual:`cmake(1)` gained the :option:`--toolchain <cmake --toolchain>`
command-line option to specify a toolchain file.
-* :manual:`cmake(1)` ``-E capabilities`` output, for some generators,
- may now contain a ``supportedPlatforms`` field listing platforms
- known to be supported in :variable:`CMAKE_GENERATOR_PLATFORM`.
+* :manual:`cmake(1)` :option:`-E capabilities <cmake-E capabilities>` output,
+ for some generators, may now contain a ``supportedPlatforms`` field listing
+ platforms known to be supported in :variable:`CMAKE_GENERATOR_PLATFORM`.
* Messages printed to a terminal now may be colored by message type.
@@ -208,8 +208,8 @@ CTest
:prop_test:`ATTACHED_FILES_ON_FAIL` test properties.
See :ref:`Additional Test Measurements` for more information.
-* :manual:`ctest(1)` gained a ``--output-junit`` option to write test results
- to a JUnit XML file.
+* :manual:`ctest(1)` gained a :option:`--output-junit <ctest --output-junit>`
+ option to write test results to a JUnit XML file.
* The :command:`ctest_build` command gained a ``PARALLEL_LEVEL`` option.
diff --git a/Help/release/3.23.rst b/Help/release/3.23.rst
index 47b1869..6376d77 100644
--- a/Help/release/3.23.rst
+++ b/Help/release/3.23.rst
@@ -43,19 +43,22 @@ Generators
Command-Line
------------
-* The :manual:`cmake(1)` ``--build`` command, when used with
+* The :manual:`cmake(1)` :option:`--build <cmake --build>` command, when used with
:ref:`Visual Studio Generators` on projects that set the
:prop_tgt:`VS_PACKAGE_REFERENCES` target property, now automatically
restores package references from NuGet. The cache variable
:variable:`CMAKE_VS_NUGET_PACKAGE_RESTORE` may be set to toggle this behavior
- in a build tree. Use the ``--resolve-package-references=<on|off|only>``
+ in a build tree. Use the
+ :option:`--resolve-package-references <cmake--build --resolve-package-references>`
command-line option to control the behavior on one invocation.
-* The :manual:`cmake(1)` command line tool gained a ``--debug-find-pkg=``
+* The :manual:`cmake(1)` command line tool gained a
+ :option:`--debug-find-pkg <cmake --debug-find-pkg>`
option to enable debug messages under specific :command:`find_package`
calls.
-* The :manual:`cmake(1)` command line tool gained a ``--debug-find-var=``
+* The :manual:`cmake(1)` command line tool gained a
+ :option:`--debug-find-var <cmake --debug-find-var>`
option to enable debug messages for ``find_*`` calls that use specific
result variables.
diff --git a/Help/release/3.24.rst b/Help/release/3.24.rst
index e81dadc..e7ddf2a 100644
--- a/Help/release/3.24.rst
+++ b/Help/release/3.24.rst
@@ -34,25 +34,28 @@ Generators
Command-Line
------------
-* :manual:`cmake(1)` gained the ``--fresh`` command-line option to remove
- any existing ``CMakeCache.txt`` file and associated ``CMakeFiles/``
+* :manual:`cmake(1)` gained the :option:`--fresh <cmake --fresh>` command-line
+ option to remove any existing ``CMakeCache.txt`` file and associated ``CMakeFiles/``
directory, when configuring a build tree, thus starting a new configuration
as if the build tree were freshly created.
-* :manual:`cmake(1)` gained the ``--compile-no-warning-as-error`` command-line
- option which causes the effects of the :prop_tgt:`COMPILE_WARNING_AS_ERROR`
- target property and :variable:`CMAKE_COMPILE_WARNING_AS_ERROR` variable
- to be ignored.
+* :manual:`cmake(1)` gained the
+ :option:`--compile-no-warning-as-error <cmake --compile-no-warning-as-error>`
+ command-line option which causes the effects of the
+ :prop_tgt:`COMPILE_WARNING_AS_ERROR` target property and
+ :variable:`CMAKE_COMPILE_WARNING_AS_ERROR` variable to be ignored.
-* The :manual:`cmake(1)` ``--trace=json-v1`` trace format gained fields
- ``global_frame`` and ``line_end``.
+* The :manual:`cmake(1)` :option:`--trace=json-v1 <cmake --trace>` trace
+ format gained fields ``global_frame`` and ``line_end``.
-* The :manual:`cmake(1)` ``-E`` commands ``cat`` and ``env`` learned to respect
- a double dash (``--``) argument that acts as a delimiter indicating the end of
- options. Any following arguments are treated as operands/positional arguments,
- even if they begin with a dash ``-`` character.
+* The :manual:`cmake(1)` :option:`-E <cmake -E>` commands :option:`cat <cmake-E cat>`
+ and :option:`env <cmake-E env>` learned to respect a double dash
+ (:option:`-- <cmake-E_env -->`) argument that acts as a delimiter indicating
+ the end of options. Any following arguments are treated as operands/positional
+ arguments, even if they begin with a dash ``-`` character.
-* The :manual:`cmake(1)` ``-E tar`` command gained the ``--touch`` option
+* The :manual:`cmake(1)` :option:`-E tar <cmake-E tar>` command gained the
+ :option:`--touch <cmake-E_tar --touch>` option
to keep the current local timestamp instead of extracting file timestamps
from the archive.
@@ -289,9 +292,10 @@ Generator Expressions
CTest
-----
-* :manual:`ctest(1)` gained a ``--test-output-truncation`` option (and
- corresponding :variable:`CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION` variable) to
- specify the truncation mode once the maximum test output size has been
+* :manual:`ctest(1)` gained a
+ :option:`--test-output-truncation <ctest --test-output-truncation>` option
+ (and corresponding :variable:`CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION` variable)
+ to specify the truncation mode once the maximum test output size has been
reached. Possible values are ``tail`` (default), ``middle`` or ``head``.
CPack
diff --git a/Help/release/3.25.rst b/Help/release/3.25.rst
new file mode 100644
index 0000000..2d04741
--- /dev/null
+++ b/Help/release/3.25.rst
@@ -0,0 +1,259 @@
+CMake 3.25 Release Notes
+************************
+
+.. only:: html
+
+ .. contents::
+
+Changes made since CMake 3.24 include the following.
+
+New Features
+============
+
+Presets
+-------
+
+* The :manual:`cmake-presets(7)` schema version has been bumped to ``6``.
+
+* The :manual:`cmake-presets(7)` format now supports a
+ ``packagePresets`` field to specify presets for :option:`cpack --preset`.
+
+* The :manual:`cmake-presets(7)` format now supports a
+ ``workflowPresets`` field to specify presets for :option:`cmake --workflow`.
+
+* The :manual:`cmake-presets(7)` format now supports an
+ ``outputJUnitFile`` field to specify JUnit output in test presets.
+
+Languages
+---------
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+ is now aware of C++26, and defines a ``cxx_std_26`` meta-feature.
+ C++26 compiler modes may also be specified via the :prop_tgt:`CXX_STANDARD`,
+ :prop_tgt:`CUDA_STANDARD`, :prop_tgt:`HIP_STANDARD`,
+ or :prop_tgt:`OBJCXX_STANDARD` target properties.
+
+* ``CUDA`` language support now includes device link-time optimization when
+ using ``nvcc``. The :variable:`CMAKE_INTERPROCEDURAL_OPTIMIZATION` variable
+ and the associated :prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` target property
+ will activate device LTO.
+
+Command-Line
+------------
+
+* A :option:`cmake --workflow --preset <cmake--workflow --preset>` mode was
+ added to drive sequences of configure, build, test, and package operations
+ through a single command.
+
+* The :option:`cmake -E capabilities <cmake-E capabilities>` command
+ gained a new ``tls`` field that tells whether or not TLS is enabled.
+
+* The :option:`cmake -E env <cmake-E env>` command-line tool gained
+ a ``--modify`` flag to support :prop_test:`ENVIRONMENT_MODIFICATION`
+ operations.
+
+* The :option:`cmake --debug-trycompile` option now prints log messages
+ reporting the directory in which each try-compile check is done.
+
+Compilers
+---------
+
+* Support for the `Tasking compiler toolsets`_ (SmartCode, TriCore,
+ Standalone: ARM, MCS, 8051) was added with compiler id ``Tasking``.
+ See the :variable:`CMAKE_TASKING_TOOLSET` variable.
+
+.. _Tasking compiler toolsets: https://www.tasking.com
+
+Commands
+--------
+
+* The :command:`add_subdirectory` command gained a ``SYSTEM`` option
+ to enable the :prop_dir:`SYSTEM` directory property in the subdirectory.
+
+* The :command:`block` and :command:`endblock` commands were added to manage
+ specific scopes (policy or variable) for a contained block of commands.
+
+* The :command:`cmake_language` command gained a new
+ ``GET_MESSAGE_LOG_LEVEL`` sub-command. It can be used to
+ query the current message logging level.
+
+* The :command:`find_file`, :command:`find_path`, :command:`find_library`, and
+ :command:`find_program` commands gained a ``VALIDATOR`` option to specify a
+ function to be called for each candidate item to validate it.
+
+* The :command:`find_package` command now considers paths of
+ the form ``<prefix>/<name>*/(cmake|CMake)/<name>*/`` when
+ searching for package configuration files.
+
+* The :command:`return` command gained a ``PROPAGATE`` option to propagate
+ variables to the scope to which control returns.
+ See policy :policy:`CMP0140`.
+
+* The :command:`try_compile` and :command:`try_run` commands gained new
+ signatures that more consistently use keyword dispatch and do not require a
+ binary directory to be specified. Additionally, these signatures use a
+ unique directory for each invocation, which allows multiple outputs to be
+ preserved when using :option:`cmake --debug-trycompile`.
+
+* The :command:`try_compile` and :command:`try_run` commands gained the
+ option ``NO_CACHE`` to store results in normal variables.
+
+* The :command:`try_run` command gained ``RUN_OUTPUT_STDOUT_VARIABLE``
+ and ``RUN_OUTPUT_STDERR_VARIABLE`` options to capture stdout and stderr
+ separately from the output of the compiled program.
+
+Variables
+---------
+
+* The :variable:`BSD` and :variable:`CMAKE_HOST_BSD` variables are now set
+ to a string value when the target or host system is BSD, respectively.
+
+* The :variable:`LINUX` and :variable:`CMAKE_HOST_LINUX` variables are
+ now set to true when the target or host system is Linux, respectively.
+
+* The :variable:`CMAKE_MSVC_DEBUG_INFORMATION_FORMAT` variable and
+ :prop_tgt:`MSVC_DEBUG_INFORMATION_FORMAT` target property were introduced
+ to select the debug information format for compilers targeting the MSVC ABI.
+ See policy :policy:`CMP0141`.
+
+* The :variable:`CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION` variable and
+ corresponding :prop_tgt:`XCODE_SCHEME_ENABLE_GPU_API_VALIDATION` target
+ property were added to tell the :generator:`Xcode` generator what to put
+ in the scheme's ``Metal: API Validation`` setting.
+
+* The :variable:`CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION` variable and
+ corresponding :prop_tgt:`XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION` target
+ property were added to tell the :generator:`Xcode` generator what to put
+ in the scheme's ``Metal: Shader Validation`` setting.
+
+* The :variable:`CMAKE_XCODE_SCHEME_LAUNCH_MODE` variable and corresponding
+ :prop_tgt:`XCODE_SCHEME_LAUNCH_MODE` target property were added to tell
+ the :generator:`Xcode` generator what to put in the scheme's "Launch"
+ mode setting.
+
+* The :variable:`CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION` variable and
+ corresponding :prop_tgt:`XCODE_SCHEME_LAUNCH_CONFIGURATION` target
+ property were added to tell the :generator:`Xcode` generator what
+ configuration to put in the scheme's Launch action.
+
+Properties
+----------
+
+* The :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property now supports
+ :manual:`generator expressions <cmake-generator-expressions(7)>`.
+
+* The :prop_tgt:`EXPORT_NO_SYSTEM` target property was added to
+ specify that :command:`install(EXPORT)` and :command:`export`
+ commands will generate na imported target with
+ :prop_tgt:`SYSTEM` property ``OFF``.
+
+* The :prop_tgt:`SYSTEM` target property was added to specify
+ whether a target should be treated as a system library (i.e.
+ its include directories are automatically ``SYSTEM`` when
+ compiling consumers). If not set, the default is the previous
+ behavior: on for imported targets and off for other targets.
+
+* The :prop_dir:`SYSTEM` directory property was added to initialize the
+ :prop_tgt:`SYSTEM` target property for targets created in that directory.
+
+Modules
+-------
+
+* The :module:`FetchContent` module's :command:`FetchContent_Declare`
+ command gained a ``SYSTEM`` option which sets the :prop_dir:`SYSTEM`
+ directory property on subdirectories created by
+ :command:`FetchContent_MakeAvailable`.
+
+* The :module:`FindCUDAToolkit` module now provides a target for
+ :ref:`nvtx3 <cuda_toolkit_nvtx3>` for CUDA 10.0+, which supersedes
+ :ref:`nvToolsExt <cuda_toolkit_nvToolsExt>`. A deprecation warning
+ is emitted when using ``nvToolsExt`` if the project requires CMake
+ 3.25 and CUDA 10.0+ is used.
+
+* The :module:`FindDoxygen` module's version handling has been improved:
+
+ * Multiple candidate installations will now be considered, if needed,
+ to satisfy version constraints. Previously, only the first one
+ encountered would be considered.
+
+ * Version ranges are supported.
+
+ * Variations in the version format reported by Doxygen are now
+ tolerated (e.g. a trailing git commit hash).
+
+* The :module:`FindOpenAL` module now provides an imported target.
+
+* The :module:`FindOpenSP` module was added to find the OpenSP library.
+
+* The :module:`FindVulkan` module gained support for new components:
+
+ ``dxc``
+ DirectX Shader Compiler.
+
+ ``volk``
+ Volk open-source vulkan meta-loader.
+
+CPack
+-----
+
+* The :cpack_gen:`CPack Archive Generator` gained a new
+ :variable:`CPACK_ARCHIVE_FILE_EXTENSION` variable to control
+ the package file name extension.
+
+* The :cpack_gen:`CPack NSIS Generator` gained two new variables
+ :variable:`CPACK_NSIS_EXECUTABLE_PRE_ARGUMENTS` and
+ :variable:`CPACK_NSIS_EXECUTABLE_POST_ARGUMENTS`
+ to provide arguments to the nsis executable invocation.
+
+* The :module:`CPack` module gained the :variable:`CPACK_READELF_EXECUTABLE`,
+ :variable:`CPACK_OBJCOPY_EXECUTABLE`, and
+ :variable:`CPACK_OBJDUMP_EXECUTABLE` variables to control the locations
+ of binutils used by :manual:`cpack(1)`.
+
+Deprecated and Removed Features
+===============================
+
+* The :prop_tgt:`IMPORTED_NO_SYSTEM` target property has been deprecated
+ in favor of :prop_tgt:`SYSTEM` and :prop_tgt:`EXPORT_NO_SYSTEM`.
+
+* The :generator:`Visual Studio 10 2010` generator has been removed.
+
+* The :generator:`Visual Studio 11 2012` generator is now deprecated
+ and will be removed in a future version of CMake.
+
+Other Changes
+=============
+
+* The :envvar:`SSL_CERT_FILE` and :envvar:`SSL_CERT_DIR` environment
+ variables can now be used to override where to find certificate
+ authorities for TLS/SSL operations.
+
+* If :prop_tgt:`<LANG>_CLANG_TIDY` includes a ``-p`` argument, the
+ full compiler command line is no longer appended after ``--``.
+
+* The :generator:`Xcode` generator no longer adds the per-config suffix
+ ``$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)`` to library search paths.
+ See policy :policy:`CMP0142`.
+
+Updates
+=======
+
+Changes made since CMake 3.25.0 include the following.
+
+3.25.1
+------
+
+* On Windows, when targeting the MSVC ABI, the :command:`find_library`
+ command no longer accepts ``.a`` file names. This behavior was added
+ in CMake 3.25.0, but has been reverted due finding GNU-ABI libraries
+ in cases we did not previously.
+
+3.25.2
+------
+
+* CUDA language level 20 (corresponding to C++20) is now supported with
+ NVCC 12.0 and above.
+
+* On Windows, the ``icpx`` compiler now provided by Intel oneAPI 2023.0
+ and above is no longer selected because its GNU-like command-line is
+ not yet supported by CMake.
diff --git a/Help/release/3.3.rst b/Help/release/3.3.rst
index 44f4e19..2dc237f 100644
--- a/Help/release/3.3.rst
+++ b/Help/release/3.3.rst
@@ -26,7 +26,7 @@ Generators
added on Windows. `Green Hills MULTI`_ is an IDE for embedded
real-time systems.
-.. _`Green Hills MULTI`: http://www.ghs.com/products/MULTI_IDE.html
+.. _`Green Hills MULTI`: https://www.ghs.com/products/MULTI_IDE.html
Commands
--------
diff --git a/Help/release/3.4.rst b/Help/release/3.4.rst
index 943d267..abfede6 100644
--- a/Help/release/3.4.rst
+++ b/Help/release/3.4.rst
@@ -227,7 +227,7 @@ Other
will be merged with linker-generated manifests and embedded in the
binary.
-* The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported.
+* The Concurrent Fortran 77 compiler is now supported.
Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``.
* :manual:`cmake(1)` gained a new ``--trace-expand`` command line option
diff --git a/Help/release/3.7.rst b/Help/release/3.7.rst
index 345c056..9656a54 100644
--- a/Help/release/3.7.rst
+++ b/Help/release/3.7.rst
@@ -315,5 +315,5 @@ Other Changes
* Vim support files ``indent/cmake.vim`` and ``syntax/cmake.vim``
from the `vim-cmake-syntax`_ project are now distributed with CMake.
-.. _`Fortran Submodules`: http://fortranwiki.org/fortran/show/Submodules
+.. _`Fortran Submodules`: https://fortranwiki.org/fortran/show/Submodules
.. _`vim-cmake-syntax`: https://github.com/pboettch/vim-cmake-syntax
diff --git a/Help/release/index.rst b/Help/release/index.rst
index 4dfac8a..b6ecf7b 100644
--- a/Help/release/index.rst
+++ b/Help/release/index.rst
@@ -13,6 +13,7 @@ Releases
.. toctree::
:maxdepth: 1
+ 3.25 <3.25>
3.24 <3.24>
3.23 <3.23>
3.22 <3.22>