Commit Graph
76980 Commits
Author SHA1 Message Date
Aiden Woodruff bd9af4b15a bash-completion: Improve compatibility with old bash
It is not uncommon for packages to install cmake's bash-completion
without depending on common bash-completion helper scripts. This commit
improves compatibility in those scenarios.
2026-08-22 12:18:41 -04:00
Kitware Robot 419e5f0d6b CMake Nightly Date Stamp 2026-08-20 00:05:54 -04:00
Kitware Robot 80066f9851 CMake Nightly Date Stamp 2026-08-19 00:18:01 -04:00
Kitware Robot b13cdb037c CMake Nightly Date Stamp 2026-08-18 00:07:21 -04:00
Kitware Robot f0952e573f CMake Nightly Date Stamp 2026-08-17 00:05:43 -04:00
Kitware Robot 7bb8d9da1f CMake Nightly Date Stamp 2026-08-15 00:05:23 -04:00
Brad King 03f6a7f440 Merge topic 'jsonstate-builddb'
e42cde3405 cmBuildDatabase: Use cmJSONState to read mcdb's

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12406
2026-08-14 06:40:09 -04:00
Brad King 450f54656e Merge topic 'jsonstate-vs-flagtable'
e2da85c672 VS: Use cmJSONState to read flag table

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12404
2026-08-14 06:38:43 -04:00
Brad King 0c196bc58e Merge topic 'update-libuv'
9fdcbaae06 Merge branch 'upstream-libuv' into update-libuv
66adcb206d libuv 2026-03-11 (d2a45ce3)
4c61484f5c libuv: Update script to get libuv 1.52.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12402
2026-08-14 06:37:11 -04:00
Brad King ae2dd9a2d1 Merge topic 'update-kwsys'
b06e6b412f Merge branch 'upstream-KWSys' into update-kwsys
3db61dc184 KWSys 2026-08-14 (f87534bd)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12401
2026-08-14 06:35:38 -04:00
Brad King f254d78638 Merge topic 'remove_message_prefix'
4eece9b32c cmake_language: Remove extraneous MESSAGE_PREFIX param

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12400
2026-08-14 06:34:14 -04:00
Brad King 1814d17624 Merge branch 'release-4.4' 2026-08-14 06:30:36 -04:00
Brad King ca0ed0f66f Merge topic 'swift-cmp0215-update'
e4a37fbf15 Tests/RunCMake/Swift: Add CMP0195 behavior checks
b7a78568c3 CMP0215: Update NEW behavior to require CMP0157/CMP0195 to be NEW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12407
2026-08-14 06:30:36 -04:00
Brad King 1e1b1bef21 Merge topic 'swift-cmp0215-update' into release-4.4
e4a37fbf15 Tests/RunCMake/Swift: Add CMP0195 behavior checks
b7a78568c3 CMP0215: Update NEW behavior to require CMP0157/CMP0195 to be NEW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12407
2026-08-14 06:30:34 -04:00
Brad King b06e6b412f Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2026-08-14 (f87534bd)
2026-08-14 06:29:09 -04:00
KWSys Upstream 3db61dc184 KWSys 2026-08-14 (f87534bd)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit f87534bd3ddedb6428ca3155852cd8b65cf09f32 (master).

Upstream Shortlog
-----------------

Ben Boeckel (2):
      3d74d809 SystemInformation: clean up memory allocated with `SymInitialize`
      57792988 SystemInformation: avoid reporting unrelated symbols

Jaswant Panchumarti (1):
      f22a3c0f SystemInformation: restore support for symbols without PDB files

Jeremy Nimmer (1):
      fbc6ddc9 SystemTools: mark impl functions as `static`
2026-08-14 06:29:09 -04:00
Kitware Robot d39eee10b3 CMake Nightly Date Stamp 2026-08-14 00:11:42 -04:00
Evan Wilde e4a37fbf15 Tests/RunCMake/Swift: Add CMP0195 behavior checks
Adding checks to ensure that CMP0195 has the desired effect. If the
Swift compiler is too old and does not include the module triple in the
emitted target info, we won't set `CMAKE_Swift_MODULE_TRIPLE` and end up
with the flat directory structure. In this case, these tests won't have
the expected layout.

Issue: #28021
2026-08-13 10:18:16 -04:00
Evan Wilde b7a78568c3 CMP0215: Update NEW behavior to require CMP0157/CMP0195 to be NEW
Update CMP0215 to avoid attempting to iterate through the flags
looking for `-emit-module-path` ins the user-specified flags. We don't
do this anywhere else in the code. The existing implementation didn't
handle correctly parsing the flag so `-I blah/my-emit-module-path/` and
`-Xcc -emit-module-path ...` would both trigger it, result in the
compiler not emitting any module. Furthermore, it didn't include the
user-specified module path as part of the build graph resulting in an
incorrect build graph that would never resolve.

The only two appropriate layouts for the module are either the flat
binary module file with the name `<module-name>.swiftmodule`, or the
nested form with
`<module-name>.swiftmodule/<module-triple>.swiftmodule`. The noted
Swift-Syntax situation passes the explicit `-emit-module-path` to get to
the latter form. This form is automatically emitted by CMake when
CMP0195 is `NEW`, removing the need for the flag. The Swift project
generally recommends the nested directory structure since it gathers all
of the generated interface outputs from the compiler (textual swift
interfaces, swiftdoc, sourceinfo, and the binary swiftmodule file) in a
single place, and since it uses the module triple in the filename,
cleanly allows fat mach-o binaries on Apple platforms.

Fixes: #28021
2026-08-13 10:14:16 -04:00
Brad King 9fdcbaae06 Merge branch 'upstream-libuv' into update-libuv
# By libuv upstream
* upstream-libuv:
  libuv 2026-03-11 (d2a45ce3)
2026-08-13 09:52:24 -04:00
libuv upstream 66adcb206d libuv 2026-03-11 (d2a45ce3)
Code extracted from:

    https://github.com/libuv/libuv.git

at commit d2a45ce364ed97e916be3bcecfd756f15d852473 (d2a45ce364ed97e916be3bcecfd756f15d852473).
2026-08-13 09:52:24 -04:00
Brad King 4c61484f5c libuv: Update script to get libuv 1.52.1
Use a commit just after the v1.52.1 tag to get some compilation fixes.
2026-08-13 09:52:19 -04:00
Tyler Yankee e42cde3405 cmBuildDatabase: Use cmJSONState to read mcdb's
This approach will be more portable.
2026-08-13 08:20:13 -04:00
Kitware Robot 7abf903927 CMake Nightly Date Stamp 2026-08-13 00:08:46 -04:00
Tyler Yankee e2da85c672 VS: Use cmJSONState to read flag table
This approach will be more portable.
2026-08-12 16:56:55 -04:00
Tom Osika 4eece9b32c cmake_language: Remove extraneous MESSAGE_PREFIX param 2026-08-12 12:01:53 -04:00
Brad King aadc9b938c Merge branch 'release-4.4' 2026-08-12 11:47:02 -04:00
Brad King 3d5f989836 Merge topic 'clang-cl-absolute-source-path'
68491cedcf clang-cl: Fix C++ module scanning when cross-compiling from Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12389
2026-08-12 11:47:02 -04:00
Brad King f27e315222 Merge topic 'clang-cl-absolute-source-path' into release-4.4
68491cedcf clang-cl: Fix C++ module scanning when cross-compiling from Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12389
2026-08-12 11:47:00 -04:00
Brad King c257e9d8fd Merge branch 'release-4.4' 2026-08-12 11:45:11 -04:00
Brad King d882f429c5 Merge topic 'libuv-macos-10.5'
6910a0e8cd libuv: Restore support for macOS 10.5 and 10.6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12397
2026-08-12 11:45:10 -04:00
Brad King bd456b9f3a Merge topic 'libuv-macos-10.5' into release-4.4
6910a0e8cd libuv: Restore support for macOS 10.5 and 10.6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12397
2026-08-12 11:45:08 -04:00
Brad King 9f8444f36a Merge branch 'release-4.4' 2026-08-12 11:42:42 -04:00
Brad King 9f73c35d67 Merge topic 'list-transform-shared-state'
3151f7824f cmList: Fix shared state across nested list(TRANSFORM) calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12390
2026-08-12 11:42:42 -04:00
Brad King 478912138b Merge topic 'list-transform-shared-state' into release-4.4
3151f7824f cmList: Fix shared state across nested list(TRANSFORM) calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12390
2026-08-12 11:42:40 -04:00
Brad King 59b7fcc1f0 Merge topic 'update-libarchive'
e420259ecc libarchive: Restore compilation of archive_parse_date within CMakeLib
5b530ba347 libarchive: Set build options the way we need for CMake
dbcd6402c3 Utilities: Update hard-coded try_compile results for libarchive 3.8.9
357710687f Merge branch 'upstream-LibArchive' into update-libarchive
94ae161ab5 LibArchive 2026-07-28 (27cbc782)
46ccf27ae3 libarchive: Update script to get 3.8.9
16984b0124 ctest: Fix STOP_TIME for vendored archive_parse_date from libarchive 3.8.8+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12398
2026-08-12 11:38:33 -04:00
Brad King f723293c7f Merge topic 'print_all_properties'
048ee670f2 cmake_print_properties: Deprecate in favor of cmake_language(PRINT_PROPERTIES)
2a2012e913 cmake_language: Add PRINT_PROPERTIES operation
4eedd0fdb9 TargetPropertyComputer: Refactor out LOCATION checks
f81da1043d TargetPropertyComputer: Remove redundant error check
72ae7352d5 get_property: Refactor logic to shared function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !11834
2026-08-12 11:31:34 -04:00
Kitware Robot 96f5256cec CMake Nightly Date Stamp 2026-08-12 00:05:03 -04:00
huangqinjin 68491cedcf clang-cl: Fix C++ module scanning when cross-compiling from Linux
Follow up commit ed48feeae8 (clang-cl: Add support for C++ modules,
2026-03-27, v4.4.0-rc1~428^2).  Prevent clang-cl from interpreting
absolute source paths as flags.

Fixes: #28036
2026-08-11 13:03:30 -04:00
Brad King e420259ecc libarchive: Restore compilation of archive_parse_date within CMakeLib 2026-08-11 12:13:33 -04:00
Brad King 5b530ba347 libarchive: Set build options the way we need for CMake 2026-08-11 12:13:27 -04:00
Brad King dbcd6402c3 Utilities: Update hard-coded try_compile results for libarchive 3.8.9 2026-08-11 12:13:22 -04:00
Brad King 357710687f Merge branch 'upstream-LibArchive' into update-libarchive
* upstream-LibArchive:
  LibArchive 2026-07-28 (27cbc782)
2026-08-11 12:13:05 -04:00
LibArchive Upstream 94ae161ab5 LibArchive 2026-07-28 (27cbc782)
Code extracted from:

    https://github.com/libarchive/libarchive.git

at commit 27cbc7827172698143e440801fc0ba39ccb4f1f5 (v3.8.9).
2026-08-11 12:12:49 -04:00
Brad King 46ccf27ae3 libarchive: Update script to get 3.8.9
Issue: #28037
2026-08-11 12:12:02 -04:00
Brad King 16984b0124 ctest: Fix STOP_TIME for vendored archive_parse_date from libarchive 3.8.8+
libarchive commit `422aae80ae` (Date parsing: reject date components
with numbers of more than 4 digits, 2026-05-07), backported to version
3.8.8 by libarchive commit `8cf7393f98` (Merge pull request `#3010`...,
2026-05-07, `v3.8.8~142`), disallows our non-standard hyphen-free date
format.  Convert to a standard format.
2026-08-11 12:10:59 -04:00
Sergey Fedorov 6910a0e8cd libuv: Restore support for macOS 10.5 and 10.6
Upstream libuv no longer supports these versions.

Follow up commit abac34eda2 (libuv: Restore support for macOS 10.x,
2026-03-05, v4.4.0-rc1~571^2~3).  This leaves out macOS 10.4, since
a) it needs a lot more invasive changes, b) neither MacPorts nor my
PPCPorts support 10.4 anymore.

Signed-off-by: Sergey Fedorov <vital.had@gmail.com>
2026-08-11 11:53:09 -04:00
Mickaël Germain 3151f7824f cmList: Fix shared state across nested list(TRANSFORM) calls
The TRANSFORM action registry held one live action instance per action for
the whole process, and each instance carried per-call state: a raw Selector
pointer, REPLACE's helper, APPEND/PREPEND's operands.  That was harmless
while every action ran to completion uninterrupted, but commit c7af6e94d8
(list(TRANSFORM): Add PREDICATE selector, 2026-04-08, v4.4.0-rc1) added a
selector that runs a user function once per element, interleaved with the
transform.  User code reentering list(TRANSFORM) with the same action now
rebinds the shared instance mid-flight.  That produces silently wrong
results, and a use-after-free once any element is transformed after the
reentering one.  It needs no unusual code to hit: a predicate calling
find_package(Python) reaches list(TRANSFORM ... REPLACE) inside FindPython's
own module.

Make action objects immutable and per-call.  Operands and the selector become
constructor arguments, Initialize is deleted, and the registry becomes a
constexpr table of metadata with a MakeTransformAction factory.  The
InSelection guard, duplicated in all eight actions, moves into the base class.

This also closes a second hole in the same machinery.  TransformActionApply
overrode only the vector form of Initialize, so transform(APPLY, "f",
selector) dispatched to the empty two-argument virtual in the base, left
Selector null, and dereferenced it.  With no virtual Initialize left to
inherit, an APPLY action without a cmMakefile is no longer constructible, so
the throwing stub that guarded the vector form is no longer needed.

Close a third, from commit 651f82642c (Add APPLY action for list(TRANSFORM),
2026-04-08, v4.4.0-rc1): the cmMakefile overload performs APPLY
unconditionally but validated only the arity of the action passed to it.
APPEND, PREPEND and APPLY all take one argument, so transform(APPEND, "x",
makefile) passed validation and then silently ran APPLY, calling "x" as a
function instead of appending it.  Reject any action but APPLY up front.
That path is unreachable from CMake code, since HandleTransformCommand only
selects the overload for APPLY, and Tests/CMakeLib has no cmMakefile to drive
it with, so it carries no test.

Document the predicate's evaluation order while here.  It runs once per
element, immediately before that element would be transformed.  The manual
did not state the timing, which matters precisely because a predicate that
reenters list(TRANSFORM) observes the outer call mid-flight.

Fixes: #28031
2026-08-11 11:36:08 -04:00
Brad King fa4fc55fb0 Merge topic 'test-clang-format'
8aa26d3ed5 Tests/CMakeGUI: Reformat sources with clang-format-18

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12396
2026-08-11 11:22:16 -04:00
Brad King c315c35f69 Merge topic 'FindDoxygen-output-subdirs'
8fc8f564c9 FindDoxygen: Create and clean recursive subdirectories for output formats

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12393
2026-08-11 11:20:47 -04:00