Commit Graph
2468 Commits
Author SHA1 Message Date
Brad King 6fa0c6114b Merge topic 'fix-missing-rst-roles'
a9e89fec6d cmRST: Add missing roles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12348
2026-07-30 11:52:27 -04:00
Matthew Woehlke a9e89fec6d cmRST: Add missing roles
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.
2026-07-29 15:00:40 -04:00
Brad King 99ba33f9d7 Merge topic 'rapidhash'
ed7a690e83 String: Use rapidhash for hashing
bc23835e45 rapidhash: Make vendored header available to CMake sources
b6837dc4c3 rapidhash: Fix compilation as C++14 with GCC 5.5
6bf80fd430 Merge branch 'upstream-rapidhash' into rapidhash
169c604ada rapidhash 2025-07-23 (bc4b4baa)
e34e4d1a88 rapidhash: Add import script to get rapidhash v3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12263
2026-07-24 10:04:01 -04:00
Tim Blechmann ed7a690e83 String: Use rapidhash for hashing
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
2026-07-23 10:28:41 -04:00
Tim Blechmann bc23835e45 rapidhash: Make vendored header available to CMake sources 2026-07-23 10:28:35 -04:00
Brad King b6837dc4c3 rapidhash: Fix compilation as C++14 with GCC 5.5
Enable `inline constexpr` markup only for specific compilers
to avoid `error: call to non-constexpr function ...`.
2026-07-23 10:28:11 -04:00
Brad King 6bf80fd430 Merge branch 'upstream-rapidhash' into rapidhash
# By rapidhash upstream
* upstream-rapidhash:
  rapidhash 2025-07-23 (bc4b4baa)
2026-07-23 10:28:01 -04:00
Brad King e34e4d1a88 rapidhash: Add import script to get rapidhash v3 2026-07-23 10:27:37 -04:00
Tyler Yankee 1255d1b9fb curl: Restore check for BoringSSL in vendored build
As of commit 15266bf2a4 (Utilities: Avoid OpenSSL version check under
forks, 2026-07-21) we do, in fact, need this info.

Fixes: #27978
2026-07-23 08:47:53 -04:00
Brad King f2dcada8ac Merge topic 'boringssl-3-curl'
15266bf2a4 Utilities: Avoid OpenSSL version check under forks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12304
2026-07-22 11:34:26 -04:00
Brad King fcd200ab3b Merge topic 'diagnose-deprecated-commands'
75161b34b6 bootstrap: Remove deprecated commands
664eb8412a cmake: Don't use deprecated commands to build
3745af331a Add deprecation diagnostics to deprecated commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12277
2026-07-22 11:27:01 -04:00
Tyler Yankee 15266bf2a4 Utilities: Avoid OpenSSL version check under forks
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
2026-07-21 18:51:08 -04:00
Matthew Woehlke 664eb8412a cmake: Don't use deprecated commands to build
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.
2026-07-16 12:35:23 -04:00
Vito Gamberini 391b44f37e llpkgc: update to 0.0.7 2026-07-14 11:37:39 -04:00
Vito Gamberini d4f638ee04 Merge branch 'upstream-llpkgc' into pkgc-update
* upstream-llpkgc:
  llpkgc 2026-07-07 (12b80381)
2026-07-14 11:37:12 -04:00
Brad King 2c597215d3 Merge branch 'upstream-bzip2' into update-bzip2
# By bzip2 upstream
* upstream-bzip2:
  bzip2 2026-06-30 (af355617)
2026-07-08 10:23:15 -04:00
Brad King 3babae3dc0 bzip2: Update import script to get bzip2-1.0.8-19-gaf35561
In particular, post-1.0.8 development removed use of `sprintf`.

Issue: #27925
2026-07-08 10:22:49 -04:00
權少 7e319339b8 Presets: Teach regenerate-presets.py to support UTF-8 text 2026-07-01 10:51:47 -04:00
Brad King b2d7c9a1f0 Merge topic 'update-curl'
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
2026-07-01 09:39:09 -04:00
Brad King b5b8651a68 curl: Set build options the way we need for CMake
Set options added by the update to curl 8.21.0.
2026-06-29 17:14:49 -04:00
Brad King 0ac4d03eca Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2026-06-24 (68720b48)
2026-06-29 17:13:25 -04:00
Brad King 25d2d31002 curl: Update script to get curl 8.21.0 2026-06-29 17:07:19 -04:00
Tyler Yankee 54686cae64 Utilities: Require OpenSSL >= 3.0.0 at configure time
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
2026-06-26 19:57:25 -04:00
NihilDigit 8f94e20abc liblzma: Enable ARM64 BCJ filters in bundled build
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.
2026-06-24 00:02:43 +08:00
Brad King 16eae4759d Merge topic 'doc-sphinx-pre-5.0'
01b94f5702 Help: Restore sphinx pre-5.0 compatibility

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12175
2026-06-16 10:02:07 -04:00
John Parent 01b94f5702 Help: Restore sphinx pre-5.0 compatibility
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>
2026-06-15 11:35:41 -04:00
Brad King 7c1e4fbf0b Configure CMake itself with policies through CMake 4.3 2026-06-05 11:34:36 -04:00
Tyler Yankee 1bc30bd30d Help/ctest: Improve formatting of dashboard options
We must differentiate between the `ctest -D` dashboard and `ctest -D`
variable options.
2026-06-02 13:49:16 -04:00
Tyler Yankee 69be06bad3 Help/fileAPI: Add version modified directives
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.
2026-05-22 08:22:04 -04:00
Ben Boeckel 0bc2706da5 cmcurl: avoid list(PREPEND) in CMake's own CMake code
`list(PREPEND)` is new as of CMake 3.15, but CMake's own minimum CMake
is 3.13.
2026-05-14 21:01:01 -04:00
Ben Boeckel 771e87a9f4 Merge branch 'cmake-no-list-PREPEND-release' into cmake-no-list-PREPEND
* cmake-no-list-PREPEND-release:
  cmake: avoid `list(PREPEND)` in CMake's own CMake code
2026-05-14 21:00:46 -04:00
Ben Boeckel 29f1078fe0 cmake: avoid list(PREPEND) in CMake's own CMake code
`list(PREPEND)` is new as of CMake 3.15, but CMake's own minimum CMake
is 3.13.
2026-05-14 21:00:11 -04:00
Tyler Yankee 935c8525f6 libarchive: Backport "Validate pathname in record_hardlink"
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.
2026-05-09 19:38:34 -04:00
Brad King 40afd95f7c Merge topic 'libarchive-wincrypt-boringssl'
5752bb41e3 libarchive: Avoid preprocessor symbol conflicts with boringssl on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12019
2026-05-08 07:39:07 -04:00
Haowei Wu 5752bb41e3 libarchive: Avoid preprocessor symbol conflicts with boringssl on Windows
`<wincrypt.h>` defines symbols conflicting with BoringSSL/AWS-LC.
2026-05-07 11:44:48 -04:00
Brad King e8c587013c ci: Do not linkcheck cppreference.com URLs
These URLs are expected to be stable.  Reduce load on their infrastructure.
2026-05-07 08:11:03 -04:00
Brad King 2c3a9fcabe clang-tidy module: Update to build against LLVM/Clang 22
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.
2026-05-04 19:42:07 -04:00
Brad King 1c4ef7291f Merge topic 'cmake-diagnostics-doc'
95f7f84609 Help: Fix CMD_INSTALL_ABSOLUTE_DESTINATION documentation
a882ec84ec cmDocumentation: Add diagnostics
97d13c3053 Help: Improve diagnostics documentation
3cccce8ca2 Help: Add developer documentation for new diagnostics
ffe4c2a8ff Help: Fix developer documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !11996
2026-05-04 10:32:28 -04:00
Brad King 096a676d13 Merge topic 'presets-file-arg'
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
2026-05-01 09:22:20 -04:00
Matthew Woehlke 97d13c3053 Help: Improve diagnostics documentation
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.
2026-04-30 15:36:23 -04:00
Tyler Yankee 8476469b72 Help: Add cmake-workflow-option role 2026-04-30 07:49:42 -04:00
Tyler Yankee c49ebb67da Help: Use POSIX slashes for 'generated by' in presets files 2026-04-30 07:49:39 -04:00
Brad King 6187c3947b curl: Set build options the way we need for CMake
Set options added by the update to curl 8.20.0.
2026-04-29 14:19:24 -04:00
Brad King c5d7ca29f6 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2026-04-29 (a05f3497)
2026-04-29 14:18:27 -04:00
Brad King ee7829d9c7 curl: Update script to get curl 8.20.0 2026-04-29 14:17:31 -04:00
Tyler Yankee 86dfdbee1f libarchive: Backport "Fix use of uninitialized values from Huffman table"
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.
2026-04-26 18:25:06 -04:00
Kyle Edwards 340ea3c2ad Utilities/Sphinx: Fix f-string formatting error
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.
2026-04-22 17:18:35 -04:00
Brad King c940a13bd1 Merge topic 'preset-ref-explicit-titles'
26d5694151 Help: Allow preset references to have explicit titles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11954
2026-04-21 15:21:20 -04:00
Matthew Woehlke 26d5694151 Help: Allow preset references to have explicit titles
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.
2026-04-21 11:08:18 -04:00
Matthew Woehlke d3102b165a Presets: Fix generation of diagnostics schema
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.
2026-04-20 15:34:12 -04:00