Commit Graph
76329 Commits
Author SHA1 Message Date
Kitware Robot 7dc7836c59 CMake Nightly Date Stamp 2026-07-05 00:06:15 -04:00
Kitware Robot 40277a12b8 CMake Nightly Date Stamp 2026-07-04 00:05:02 -04:00
Brad King 1514097505 Merge branch 'release-4.4' 2026-07-03 09:24:26 -04:00
Brad King 04c04c85f1 Merge topic 'tcl-9'
b4534a9b7c Find{TCL,Tclsh,TclStub,Wish}: Add support for Tcl/Tk 9.0 & 9.1
7ab991f5b6 Find{TCL,Tclsh,TclStub}: Remove matches for non-existent Tcl/Tk 8.7
df0671701e Find{TCL,Tclsh,TclStub,Wish}: Remove outdated Windows registry searches

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12232
2026-07-03 09:24:26 -04:00
Brad King 9472f0eba7 Merge topic 'tcl-9' into release-4.4
b4534a9b7c Find{TCL,Tclsh,TclStub,Wish}: Add support for Tcl/Tk 9.0 & 9.1
7ab991f5b6 Find{TCL,Tclsh,TclStub}: Remove matches for non-existent Tcl/Tk 8.7
df0671701e Find{TCL,Tclsh,TclStub,Wish}: Remove outdated Windows registry searches

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12232
2026-07-03 09:24:24 -04:00
Brad King 793899c888 Merge topic 'test-trace-json-time'
fa201d3cff Tests: Fix `cmake --trace=json-v1` test expectation for integer time

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12240
2026-07-03 09:21:05 -04:00
Kitware Robot e442f2b766 CMake Nightly Date Stamp 2026-07-03 00:05:02 -04:00
Brad King fa201d3cff Tests: Fix cmake --trace=json-v1 test expectation for integer time
Extend the `time` field check from commit c829f0cfca (trace: Add time
and stack level to JSON output format, 2020-01-20, v3.17.0-rc1~105^2) to
accept a timestamp that happens to be formatted as an exact integer.
2026-07-02 08:07:40 -04:00
Brad King db58e5fbd6 Merge topic 'compile-trace-rsp'
89b1e21a5e instrumentation: Gather compile trace files in compile rsp

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12238
2026-07-02 08:03:06 -04:00
Brad King f2001c745f Merge topic 'target-types'
f1d7bedc4b TargetTypes: Improve use of imported target scope type
a5a9ec9113 TargetTypes: Extract target-related types to dedicated header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12236
2026-07-02 08:00:51 -04:00
Brad King e037d3bd2b Merge topic 'xc_cmd_comment'
de28f37ce4 Xcode: Propagate add_custom_command COMMENT to generated projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12237
2026-07-02 07:58:02 -04:00
Brad King 9e156752be Merge topic 'regenerate-presets-py-support-utf-8'
7e319339b8 Presets: Teach regenerate-presets.py to support UTF-8 text

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Tyler Yankee <tyler.yankee@kitware.com>
Merge-request: !12239
2026-07-02 07:56:10 -04:00
FeRD (Frank Dana) b4534a9b7c Find{TCL,Tclsh,TclStub,Wish}: Add support for Tcl/Tk 9.0 & 9.1
Tcl/Tk 9.0.0 was released[1] in 2024, and is already up to version
9.0.4 (just released 2026-07-26).

Tcl/Tk 9.1 is currently nearing beta,[2] and will likely release soon.

Since it's still possible to have both of these libraries installed
without Tclsh or Wish (making version detection via those tools
unviable), add 9.0 and 9.1 variants to the explicit library/include
path and file matches performed by FindTCL.

Also add 9.0 and 9.1 patterns to the tool detections in FindTclsh,
FindTclStub, and FindWish.

[1]: https://sourceforge.net/projects/tcl/files/Tcl/9.0.0/
[2]: https://sourceforge.net/projects/tcl/files/Tcl/9.1b0/
2026-07-02 06:58:58 -04:00
FeRD (Frank Dana) 7ab991f5b6 Find{TCL,Tclsh,TclStub}: Remove matches for non-existent Tcl/Tk 8.7
Version 8.7 of Tcl/Tk never made it past alpha status.
What was briefly labeled 8.7a5 eventually released as 9.0.0.

And in FindTclStub, also remove patterns for ttkstub8.8, which
even more than 8.7 never actually existed.
2026-07-02 06:58:01 -04:00
Brad King df0671701e Find{TCL,Tclsh,TclStub,Wish}: Remove outdated Windows registry searches
Installers from "Scriptics" have not been available for many years.

Issue: #27914
Reported-by: FeRD (Frank Dana) <ferdnyc@gmail.com>
2026-07-02 06:57:33 -04:00
Kitware Robot be0c7fd314 CMake Nightly Date Stamp 2026-07-02 00:05:36 -04:00
Matthew Woehlke f1d7bedc4b TargetTypes: Improve use of imported target scope type
Move `ImportedTargetScope` to `cmTargetTypes.h`, enabling it to be used
without dragging in all of `cmMakefile.h`. Use this in more places
instead of `bool global`.
2026-07-01 14:44:11 -04:00
Matthew Woehlke a5a9ec9113 TargetTypes: Extract target-related types to dedicated header
Move some target related enumeration types from `cmStateTypes.h` to a
new header, as these really aren't "state" types. Also, make
`TargetType` a strongly-typed enumeration.
2026-07-01 14:44:11 -04:00
Martin Duffy 89b1e21a5e instrumentation: Gather compile trace files in compile rsp
Updates instrumentation logic for gathering compile trace files to parse
compiler options in a response file for the presence of `-ftime-trace=...`.
2026-07-01 12:52:15 -04:00
Anton Tokar de28f37ce4 Xcode: Propagate add_custom_command COMMENT to generated projects
Propagate the COMMENT section of add_custom_command(OUTPUT) as Xcode
Build Phase, if present. Otherwise fallback to the current behavior

Fixes: #27910
2026-07-01 12:10:03 -04:00
權少 7e319339b8 Presets: Teach regenerate-presets.py to support UTF-8 text 2026-07-01 10:51:47 -04:00
Brad King 1fde7f4599 Merge topic 'install-exit-code-fidelity'
ae5f506906 Install: Exit non-zero when an install script fails

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12227
2026-07-01 09:54:52 -04:00
Brad King 8b8ffdb35d Merge topic 'cps-export-file-sets'
a5b38fb898 CPS: Implement exporting of file sets
8d229ec702 cmGeneratorFileSet: Support different mappings
c79c5aea4a CPS: Refactor getting file set destination for install

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12226
2026-07-01 09:51:30 -04:00
Brad King c292fa6b2f Merge topic 'uname-no-sysroot'
15ddce7e35 CMakeDetermineSystem: Do not try to lookup 'uname' in CMAKE_SYSROOT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12231
2026-07-01 09:49:13 -04:00
Brad King 9883f84e8f Merge topic 'genex-list-sort-comparator'
4d86ef5e86 GenEx: add $<LIST:SORT,...,COMPARATOR,body> comparator
c418a3dc85 GenEx: factor out reusable SORT comparator and option-parsing helpers
e335872625 GenEx: generalize bound operands to a frame and add $<_1>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12228
2026-07-01 09:46:35 -04:00
Brad King 28ce1b8bc3 Merge topic 'test-out-of-date'
e11b5827c3 ctest: Add --out-of-date option for running out of date tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12180
2026-07-01 09:45:18 -04:00
Brad King c954e11ade Merge topic 'Target-file_set-introspection-properties'
08855d03c2 Add target properties to discover target's file set information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12224
2026-07-01 09:40:58 -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 45656a1839 Merge topic 'openssl3-error'
54686cae64 Utilities: Require OpenSSL >= 3.0.0 at configure time

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12223
2026-07-01 09:29:56 -04:00
Brad King a5f4e2a461 Merge topic 'test-bootstrap-args'
1853cd2bc1 Tests: Add option to control bootstrap arguments in BootstrapTest
da073c667f ci: Update name of option to skip BootstrapTest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12234
2026-07-01 09:27:39 -04:00
Brad King 0ac889fdcd Merge branch 'release-4.4' 2026-07-01 09:17:33 -04:00
Brad King 68d210d6c1 Merge topic 'FILE_SET-properties-evaluate-genex'
7f71e58444 FILE_SET: fix genex evaluation of properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12233
2026-07-01 09:17:33 -04:00
Brad King 068f9d3bd9 Merge topic 'FILE_SET-properties-evaluate-genex' into release-4.4
7f71e58444 FILE_SET: fix genex evaluation of properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12233
2026-07-01 09:17:31 -04:00
Brad King a77e39368d Merge branch 'release-4.4' 2026-07-01 09:15:08 -04:00
Brad King c1cd021cc1 Merge branch 'release-4.3' 2026-07-01 09:15:03 -04:00
Brad King 2377e14399 Merge branch 'release-4.2' 2026-07-01 09:14:58 -04:00
Brad King 55de1e9770 Merge branch 'release-4.3' into release-4.4 2026-07-01 09:14:40 -04:00
Brad King 49ffa71a60 Merge branch 'release-4.2' into release-4.3 2026-07-01 09:14:29 -04:00
Brad King 108eaac9b1 Merge topic 'backport-googletest-json'
224463f31c GoogleTest: Avoid cluttering custom working directory during discovery

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12229
2026-07-01 09:14:04 -04:00
Brad King 094ec02762 Merge topic 'backport-googletest-json' into release-4.4
224463f31c GoogleTest: Avoid cluttering custom working directory during discovery

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12229
2026-07-01 09:13:26 -04:00
Brad King 73757ef174 Merge topic 'backport-googletest-json' into release-4.3
224463f31c GoogleTest: Avoid cluttering custom working directory during discovery

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12229
2026-07-01 09:12:31 -04:00
Brad King 5d1953d983 Merge topic 'backport-googletest-json' into release-4.2
224463f31c GoogleTest: Avoid cluttering custom working directory during discovery

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12229
2026-07-01 09:11:42 -04:00
Brad King 6735ec85fc Merge branch 'release-4.4' 2026-07-01 09:09:32 -04:00
Brad King cb98f3d3d3 Merge topic 'ci-xcode-26.6'
9c2b5591cb ci: Update macos-arm64 jobs to use Xcode 26.6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12235
2026-07-01 09:09:32 -04:00
Brad King abcd7feba8 Merge topic 'ci-xcode-26.6' into release-4.4
9c2b5591cb ci: Update macos-arm64 jobs to use Xcode 26.6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12235
2026-07-01 09:09:31 -04:00
Kitware Robot 75a3ddfdc2 CMake Nightly Date Stamp 2026-07-01 00:06:31 -04:00
Matthew Woehlke a5b38fb898 CPS: Implement exporting of file sets
Add (partial) file set export to CPS. For now, only headers ("includes")
are supported, as that is the only overlap with the specification.
(Source file sets are not supported by CPS at this time, and the hope is
that C++ modules will never be supported, as that information should
already be available via the `cpp_module_metadata` information.) CPS
also supports "embeds", but CMake doesn't (yet).

This also introduces our first official use of CPS extensions, used to
record the CMake file set name.
2026-06-30 15:08:02 -04:00
Matthew Woehlke 8d229ec702 cmGeneratorFileSet: Support different mappings
The full path of a file in a file set can be broken into groups like
`<base>/[<sub>/]<name>`, where `<base>` is the base directory and
`<name>` is the file name without any directory components. Existing
users evaluate file set files as a mapping from `<rel>` to the full
path. However, CPS export needs files grouped by base directory, and
cares about the composition of `<rel>` and `<name>`. To facilitate
obtaining this information in a more useful form, refactor how we
extract file set files to allow the user to pass a lambda 'handler' for
each file, which has the base directory, full path, and path relative to
the base directory available. (We already obtained `<rel>` from the
latter, so while this technically means the existing use needs to do
additional work, in practice it just means the call to get `<rel>` moves
to the lambda.)

Because there are many existing users that would need to duplicate the
lambda, the old methods are retained as-is, although this does result in
minor code duplication between `GetFiles` (which calls the overload of
`EvaluateFileEntry` which fills the old file map) and `EvaluateFiles`
(which is essentially `GetFiles`, but accepts a user-provided 'handler'
lambda rather than directly producing a file map).
2026-06-30 15:08:02 -04:00
Matthew Woehlke c79c5aea4a CPS: Refactor getting file set destination for install
Modify `cmExportInstallPackageInfoGenerator::GetFileSetDirectory` to not
have side effects, moving that logic to the call site instead. This will
allow the method to be used in other contexts.

Also, tweak a bunch of methods called by this method to not
unnecessarily require mutable objects.
2026-06-30 15:08:02 -04:00
Brad King 9c2b5591cb ci: Update macos-arm64 jobs to use Xcode 26.6 2026-06-30 13:06:25 -04:00