8411f680e3 libuv: Fix clang-analyzer diagnostics
65bf6958a3 libuv: Restore support for SunOS 5.10
436a2745dd libuv: Avoid posix_spawn on Solaris
61158e2377 libuv: Avoid posix_spawn on macOS < 10.8
ea45d99691 libuv: Restore support for macOS 10.10
b85b6ded3b libuv: Restore support for setting child process affinity
d9f518e897 libuv: Restore support for Windows 7
1ddc97e901 libuv: Restore support for glibc < 2.24
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12562
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
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.
Modify the script that generates the CMake presets schema to extract the
list of available diagnostics from the `cmDiagnostics.h` header and
generate the relevant properties. This information is combined with a
partial set that remains in the YAML for those diagnostics whose
definitions differ from what is easily generated. While these special
cases will remain, the addition of new diagnostics should no longer
require manual updates to the YAML. (The presets version log will still
require manual updates.)
Replace the CMake presets schema.json with a YAML document, from which
both the JSON schema and (most of) the reST documentation are generated.
This achieves three main goals. First, the YAML document is much closer
to being human-readable than the JSON schema. Second, the JSON and reST
prose (when the latter differs) are contained in the same file, in most
cases adjacent (and at worst, still nearby) rather than in separate
files, which should greatly facilitate keeping the two in sync. Third,
changes are monumentally easier, as changes merely need to annotate the
version(s) to which variants apply, rather than creating entirely
separate schema trees for each variant.
Since requiring Python as part of the build process is not desired,
the outputs are kept in the source repository. This is consistent with
other areas which are seldom updated and require special tools, such as
the lexer.
While this does not represent any functional change for users, some
grammatical edits and other such editorial improvements have been made
in the process of transferring everything to the new YAML. However,
these are mainly incidental rather than representative of an attempt at
a thorough editorial pass.
Finally, for clarity, monkey-patch `sphing.domains.changesets` and add
additional 'version modified' directives with slightly tweaked text to
identify changes to the presets schema. These are nearly identical to
the built-in directives, but use the text 'in presets version N' rather
than 'in version N[.N]'.
We can move past 1.44.2 now because:
* We no longer support compilers without C11 atomics.
* We can restore support for Windows 7 and macOS 10.x
ourselves, at least for the subset of libuv we need.
On other platforms libuv no longer supports, users can build
against an older external libuv.
39a3915022 cmd: implement json version output
89fd18b48e nghttp2: provide common cm3p headers
31bb76eafd Utilities: add lost openssl dependency
26cdd956ac kwiml: provide common cm3p version header
4952dc9d4a Merge branch 'upstream-KWIML' into cmd-version-json
b41743ddcb KWIML 2025-08-05 (2eae04db)
25c05b0bac kwiml: Update script to get version header
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11630
e1f4a35171 Utilities/Scripts: do not use exact tree match
1b03059674 update-common.sh: synchronize with upstream
98e410c4db git-fetch-file: track `update-common.sh`
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11397
fc5aed6035 curl: Restore support for custom CApath without a default
92dcb68826 curl: Set build options the way we need for CMake
8429b65f27 Merge branch 'upstream-curl' into update-curl
e28c33c159 curl 2025-11-05 (400fffa9)
87e10c1053 curl: Update script to get curl 8.17.0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11394
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