Our Sphinx extensions recognize several roles that missed being added to
our internal C++ parser (`cmRST`). Update the latter with the missing
roles, bringing the two back in sync. This addresses several roles that
`cmRST` was previously leaving as inline markup that more appropriately
should be converted to literal text.
Rapidhash is a better hash function than FNV-1a (also used in some stl
implementations): it is faster and has a reduced number of hash
collisions.
Closes: #27937
When finding BoringSSL, LibreSSL, or AWS-LC, version information may be
unavailable. Amend commit 54686cae64 (Utilities: Require OpenSSL >=
3.0.0 at configure time, 2026-06-26) by using the checks from upstream
curl to only error if we're using OpenSSL proper.
Fixes: #27978
Avoid use of deprecated commands when building CMake itself.
Fortunately, the only instance thereof was a use of `subdirs`, which is
replaced by `add_subdirectory` since so long ago that the latter is
already used everywhere else, so there is no danger of this newly
requiring a newer version of CMake to build CMake itself.
d781e3b477 Tests: Update https-is-disabled error message for curl 8.21
b5b8651a68 curl: Set build options the way we need for CMake
0ac4d03eca Merge branch 'upstream-curl' into update-curl
ecbccb29a7 curl 2026-06-24 (68720b48)
25d2d31002 curl: Update script to get curl 8.21.0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12230
The currently-vendored version of curl, when using OpenSSL, errors at
build time without at least version 3. Fail-fast at configure instead.
Fixes: #27902
CMake's bundled libarchive can request the ARM64 BCJ filter when
extracting 7-Zip archives that use the ARM64 method. The bundled
liblzma build already carries the ARM64 simple filter implementation,
but CMake's reduced build configuration did not enable it or compile
its source file.
Enable the ARM64 encoder and decoder declarations and include
liblzma/simple/arm64.c in the bundled liblzma build.
Revise commit 97d13c3053 (Help: Improve diagnostics documentation,
2026-04-30, v4.4.0-rc1~227^2~2) to switch `cmake.py`'s sphinx api usage
from 7.4+ features to 4.0+ features.
Replace `parse_text_to_nodes` and `parse_content_to_nodes` with
equivalent, backwards compatible sphinx code using existing api calls.
Signed-off-by: John Parent <john.parent@kitware.com>
Extend (part of) commit f26e9fcbae (Help: Generate presets JSON schema,
documentation, 2026-04-08) to the `cmake-file-api(7)` page, for each of
the currently applicable object kinds (i.e., only those which have
undergone changes, which is predominantly the codemodel).
This standardization helps to improve both the readability and
maintainability of the document.
Backport libarchive commit `16ad931073` (cpio reader: Validate pathname
in record_hardlink, 2026-05-08).
Add a fuzzing test case to expose this to dynamic analysis tools.
5752bb41e3 libarchive: Avoid preprocessor symbol conflicts with boringssl on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12019
Update for LLVM/Clang commit `91cdd35008e9` ([clang] Improve nested name
specifier AST representation, 2025-08-09), which removed dedicated
`ElaboratedType` nodes in favor of storing the elaborated keyword and
name qualifier in separate nodes for the underlying type.
95edd93948 presets: Support loading from arbitrary file
81c22a67b6 presets: Factor out command line arguments
e75b62fd73 presets: Convert allowNoFiles to enum class
8476469b72 Help: Add cmake-workflow-option role
5e76987626 Help/presets: Use preset role for configurePreset references
2d8e8213d4 Help/presets: Improve include field formatting
43f5fc8ac8 Help, Tests: Consolidate presets terminology and references
c49ebb67da Help: Use POSIX slashes for 'generated by' in presets files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11886
Make diagnostics into Sphinx objects so that they can be more readily
cross-referenced. (This is also needed to enable --help-diagnostic.)
Update various places that can make use of the same. Significantly
expand the documentation on controlling diagnostics.
Backport libarchive commit `1f5454575f` (cab reader: Fix use of
uninitialized values from Huffman, 2026-04-23).
Add a fuzzing test case to expose this to dynamic analysis tools.
Versions of Python prior to 3.12 did not support nested quotes of
the same type in f-strings (see PEP 701). Use double quotes inside
the single-quote f-string.
Improve the CMake domain's 'preset' role, and reference resolving for
the same, to also accept explicit titles (i.e. 'title <ref>').
Also, remove some stray, inaccessible debugging code that was overlooked
in a previous round of improvements.
The description of diagnostics presets needs both the presets schema
spelling and the command-line spelling, but the initial generation logic
only used the former. This wasn't noticed because the spellings are the
same for single-word diagnostics, which were previously the only ones
being generated. Add the command-line spelling and update the
description templates.