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
d620d77d26 FindDoxygen: Rename `_Doxygen_dne_header` -> `_Doxygen_do_not_edit_header`
e7ff3cccea PushToAndroidDevice.cmake: Rename `cmake_parse_arguments` prefix
bc8621d999 Fix: A lot of typos in code found by `typos`
b33beb7af5 Help: Fix some typos found by `sphinx-lint`
78e45c2db6 Style: Replace TABs with spaces for indentation in some files
74e0173f66 Tests(NuGet): Fix the test to ignore empty and space-only lines
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10151
022d16659b curl: Work around missing OpenSSL symbol with LCC 1.23
01dde28dab ci: curl with Secure Transport on macOS does not support TLS 1.3
da52e4e571 curl: Set build options the way we need for CMake
ce908c42a3 Merge branch 'upstream-curl' into update-curl
1a2b208170 curl 2024-09-18 (7eb8c048)
862bd5defc curl: Update script to get curl 8.10.1
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9832