Exclude infrastructure added by commit 61743471d9 (ast-grep: add a rule
to find adjacent string literals in cmStrCat calls, 2025-05-15,
v4.1.0-rc1~122^2~3).
`include-what-you-use` diagnostics, in practice, are specific to
the environment's compiler and standard library. Update includes
to satisfy IWYU for our CI job under Debian 13. Some patterns:
* Types named in virtual `override` signatures no longer require
includes since the overridden signature already names them.
* A function argument's type needs to be included even if its constructor
is called only by implicit conversion. For example, constructing a
`std::function` from a lambda now requires `<functional>`.
* Some prior mysterious `<type_traits>` inclusions are no longer required.
Backport upstream curl commit `f55974c139` (vtls: fix CURLOPT_CAPATH
use, 2025-11-08). It revises commit `eefd03c572` (ssl: support Apple
SecTrust configurations, 2025-09-24, `curl-8_17_0~443`) to accept
`CURLOPT_CAPATH` when there is no default `CURL_CA_PATH`.
CURL-Issue: https://github.com/curl/curl/issues/19401
CURL-PR: https://github.com/curl/curl/pull/19408
Restore commit 4cb616fed6 (Tutorial: Provide a source archive when
published on cmake.org, 2022-04-27, v3.23.2~22^2). Its effects were
accidentally reverted by commit 9784834b4c (Help: Use `*.rst` extension
for included files, 2025-04-07, v4.1.0-rc1~354^2).
Reported-by: Vito Gamberini <vito.gamberini@kitware.com>
Backport libarchive commit `2d987e725f` (parse_date: handle dates in
2038 and beyond if time_t is big enough, 2025-09-26).
Add a cmake-specific test case.
Fixes: #27263
ca072e3734 cmListFileLexer: Test for broken UTF-32-(BE|LE) BOM
3b8ddf3f45 cmListFileLexer: Handle null character in the grammar
7040406f86 cmListFileLexer: Do not require null-terminated input
0a26c08004 cm/string_view: Prevent find access past string end
63328f01f8 Utilities/Scripts: Drop CommandArgument lexer/parser generation step
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11173
We would like to record additional information in the find-package
stack, but we don't have the information at the point a stack entry is
created. The most sane way to handle this appears to be making the stack
mutable, at least under specific circumstances. To facilitate this, we
need a mutable stack type.
Refactor cmConstStack into cmStack, with the ability to either allow or
forbid mutation of its data. Re-add cmConstStack as a type alias.
This doesn't yet allow mutating cmFindPackageStack, but it's a necessary
step toward being able to do so.
Set options added by the update to curl 8.15.0.
In particular, drop code not needed after curl commit `08a3e8e19a`
(TLS: remove support for Secure Transport and BearSSL, 2025-06-09).
8071304f2e Configure CMake itself with policies through CMake 4.0
f7380d8c4a export: Increase maximum policy version in exported files to 4.0
94ff184a63 Add deprecation warnings for policies CMP0143 and below
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10925
In commit 0112a49bfa (curl: Set build options the way we need for CMake,
2025-06-04, v4.1.0-rc1~54^2) we enabled `_CURL_PREFILL` on many UNIX
platforms. However, curl's default only enables prefill on Windows.
Fixes: #27045
An easy way to detect and remove debugging left over from development.
The rules are disabled by default so that LSP usage doesn't interfere
when they are wanted.
To actually use the rules, severity flags are necessary:
ast-grep scan --error=rm-cmdbg-includes --error=rm-cmdbg-macros
This command will report on instances; passing `-U` as well will update
the source.
Tests are also not run by default; see
https://github.com/ast-grep/ast-grep/issues/2023 to track its progress.
557c44b93e cmStrCat: use character literals where possible
23779057fd cmStrCat: combine neighboring arguments where possible
483d13daf4 ast-grep: add a rule to turn strings into characters
61743471d9 ast-grep: add a rule to find adjacent string literals in cmStrCat calls
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10790
Finding small errors in `RunCMake` outputs against the output is a
tedious task. Add a small tool that sets up a simple `tmux` window setup
to help debug them.