76262 Commits

Author SHA1 Message Date
Brad King
e6e3d728e9 Merge topic 'instrumentation-interrupt'
bda67b82e7 instrumentation: Write cmakeBuild snippet when build is interrupted
b801e7c78d instrumentation: Bump data version to 1.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !12154
2026-06-19 10:02:06 -04:00
Brad King
952931bc73 Merge branch 'release-4.4' 2026-06-19 09:58:52 -04:00
Brad King
65269f4dfc Merge topic 'instrumentation-doc-version-fix'
330b36dddc instrumentation: Fix stale version references in documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12188
2026-06-19 09:58:52 -04:00
Brad King
88e8d67888 Merge topic 'instrumentation-doc-version-fix' into release-4.4
330b36dddc instrumentation: Fix stale version references in documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12188
2026-06-19 09:58:50 -04:00
Brad King
161bc099c2 Merge branch 'release-4.4' 2026-06-19 09:57:06 -04:00
Brad King
4222591051 Merge branch 'release-4.3' 2026-06-19 09:57:02 -04:00
Brad King
ea09a66be0 Merge branch 'release-4.3' into release-4.4 2026-06-19 09:56:47 -04:00
Brad King
e6046b4d18 Merge branch 'release-4.4' 2026-06-19 09:56:19 -04:00
Brad King
a64d3c5522 Merge topic 'FindRuby-vendor-dirs'
c4ee728699 FindRuby: Fix vendor directory discovery

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12189
2026-06-19 09:56:18 -04:00
Brad King
d2880479b0 Merge topic 'FindRuby-vendor-dirs' into release-4.4
c4ee728699 FindRuby: Fix vendor directory discovery

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12189
2026-06-19 09:56:17 -04:00
Brad King
c9629f9f16 Merge topic 'FindRuby-vendor-dirs' into release-4.3
c4ee728699 FindRuby: Fix vendor directory discovery

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12189
2026-06-19 09:55:21 -04:00
Vito Gamberini
42d2d63235 c++modules: Copy props from BMI consumers more correctly
Fixes: #27891
2026-06-19 09:23:38 -04:00
Kitware Robot
10c06c127c CMake Nightly Date Stamp 2026-06-19 00:05:26 -04:00
Vito Gamberini
6d3e9d8220 c++modules: single import std target 2026-06-18 15:20:54 -04:00
Brad King
258f92379f Merge topic 'xcode-deterministic-product-file-reference-uuids'
2cc75c6072 Xcode: Use deterministic object ids for product file references

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12185
2026-06-18 11:20:18 -04:00
Brad King
2f27812939 Merge topic 'ninja-BUILDING_INTRINSIC_MODULES'
0e142193ac Ninja: Honor Fortran_BUILDING_INTRINSIC_MODULES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12186
2026-06-18 11:17:28 -04:00
Brad King
9b4a48e48d Merge topic 'pvs-fixes'
e2f4b9bedc pvs-studio: (V522) Prevent possible null-pointer dereference in RemoveRPathELF
77b874baa8 pvs-studio: (V1086) Fix buffer writes
a77b7aa836 pvs-studio: (V557) Harden array boundary checks
7217af55da pvs-studio: (V555) Clarify size_type comparison

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12077
2026-06-18 11:16:07 -04:00
Brad King
0060cb72e8 Merge topic 'function-argnc'
82c9d33e96 function: Set variable ARGNC
d14d0b0b23 function: Change arguments documentation to a definition list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12173
2026-06-18 11:14:48 -04:00
Brad King
edb85664e2 Merge topic 'file-archive-create-patterns-exclude'
9800bd2098 file(ARCHIVE_CREATE): Add PATTERNS_EXCLUDE option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12179
2026-06-18 11:13:03 -04:00
Brad King
fcc9b7779b Merge topic 'spdx_license'
b533f229b8 cmSbom: Generate SPDX data denoting project licenses

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12133
2026-06-18 11:11:29 -04:00
Brad King
c4ee728699 FindRuby: Fix vendor directory discovery
The `ruby -r vendor-specific` module no longer exists.
Use `ruby -r rbconfig` instead.

This patch has been carried by openSUSE's cmake package:

* https://build.opensuse.org/projects/openSUSE:Factory/packages/cmake/files/cmake-fix-ruby-test.patch?rev=274
* https://build.opensuse.org/package/rdiff/openSUSE:Factory/cmake?rev=106
* https://build.opensuse.org/package/rdiff/openSUSE:Factory/cmake?rev=57
* https://build.opensuse.org/package/rdiff/openSUSE:Factory/cmake?rev=56

Fixes: #27888
2026-06-18 10:50:52 -04:00
Daksh Mamodiya
330b36dddc instrumentation: Fix stale version references in documentation
Four per-format version descriptions in cmake-instrumentation.7.rst
still claimed the data version is always 1.0, contradicting both the
authoritative Data Version paragraph (which says 1.1) and the JSON
schemas (which accept minor versions 0 and 1).

Replace the hardcoded version claims with a reference to the Data
Version section, so these lines remain correct as future minor
versions are added without requiring additional doc updates.

Fixes: #27889
2026-06-18 16:47:52 +02:00
Daksh Mamodiya
bda67b82e7 instrumentation: Write cmakeBuild snippet when build is interrupted
The overall `cmakeBuild` snippet is written only after the native build
tool returns, so interrupting `cmake --build` with Ctrl+C terminated CMake
before it was recorded and lost the build's delineation.

When instrumentation is active, install a scoped, async-signal-safe handler
(POSIX SIGINT; Windows CTRL_C/CTRL_BREAK) that just flags the interrupt. The
existing write then runs during unwind, records the interrupting signal in a
new `interruptSignal` field, skips the post-build index hook, and re-raises so
the exit status still reflects the signal.

The handler lives in its own translation unit, keeping the platform-divergent
signal code out of the main instrumentation implementation.

Issue: #27859
2026-06-18 15:38:43 +02:00
Kitware Robot
2f42f6f2b1 CMake Nightly Date Stamp 2026-06-18 00:05:31 -04:00
Daksh Mamodiya
b801e7c78d instrumentation: Bump data version to 1.2
Raise the maximum supported data version and the version CMake writes in
its snippet files from 1.1 to 1.2.
2026-06-17 18:24:25 +02:00
Brad King
c7dc6defe9 Merge branch 'release-4.4' 2026-06-17 11:52:35 -04:00
Brad King
d9c35d02bb CMake 4.4.0-rc2 v4.4.0-rc2 2026-06-17 11:09:19 -04:00
Michael Kruse
0e142193ac Ninja: Honor Fortran_BUILDING_INTRINSIC_MODULES
In commit b65930a7a7 (Fortran: Add Fortran_BUILDING_INTRINSIC_MODULES
for building intrinsics, 2025-01-09, v4.0.0-rc1~223^2) we only
implemented the property for the Makefile generators.  Implement it
for the Ninja generators too.

Fixes: #26803
2026-06-17 10:47:10 -04:00
Brad King
618b86e9ee Merge branch 'release-4.4' 2026-06-17 10:22:26 -04:00
Brad King
56ee80add0 Merge branch 'release-4.3' 2026-06-17 10:22:15 -04:00
Brad King
672ddaa5b7 Merge branch 'release-4.3' into release-4.4 2026-06-17 10:22:00 -04:00
Martin Duffy
e2f4b9bedc pvs-studio: (V522) Prevent possible null-pointer dereference in RemoveRPathELF 2026-06-17 10:13:12 -04:00
Martin Duffy
77b874baa8 pvs-studio: (V1086) Fix buffer writes
Replace space-filling memset calls with bounded character initialization that
preserves null termination for the curses help text buffers.
2026-06-17 10:13:03 -04:00
lapfelix
2cc75c6072 Xcode: Use deterministic object ids for product file references
Follow-up commit 1fa2ec1bbd (Xcode: Use deterministic object ids for
targets, 2024-04-04, v3.30.0-rc1~263^2).  Each target's product
PBXFileReference (the libfoo.a / foo entries under the Products group)
was created with a random object id on every regeneration.  When a
CMake-generated Xcode project is embedded in another Xcode project, that
parent keeps the product reference's id in its remoteGlobalIDString; a
random id means the reference no longer resolves and the link falls back
to a bare `-l` flag (e.g. `ld: library 'foo' not found`).

Derive the product PBXFileReference id from the target name and the
build-tree-relative product path, the same hashing path already used for
the target object id.  The id is now stable across regenerations and
independent of the absolute build tree location.
2026-06-17 09:59:31 -04:00
Brad King
c2fd48014f CMake 4.3.4 v4.3.4 2026-06-17 09:53:06 -04:00
Brad King
84ef6e50f2 Merge branch 'release-4.4' 2026-06-17 09:41:05 -04:00
Brad King
8b4693333c Merge branch 'release-4.3' 2026-06-17 09:40:56 -04:00
Brad King
c2b7034f72 Merge branch 'release-4.2' 2026-06-17 09:40:47 -04:00
Brad King
0e9598ba0e Merge branch 'release-4.3' into release-4.4 2026-06-17 09:40:23 -04:00
Brad King
8cf3d277b7 Merge branch 'release-4.2' into release-4.3 2026-06-17 09:40:16 -04:00
Brad King
24581cbe98 CMake 4.2.7 v4.2.7 2026-06-17 09:01:47 -04:00
Brad King
0584630ad4 Merge branch 'release-4.4' 2026-06-17 08:54:50 -04:00
Brad King
21769c177b Merge topic 'if-diagnostic'
597c573d7d if: Add `DIAGNOSTIC <category>` condition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12181
2026-06-17 08:54:50 -04:00
Brad King
d20e909f3d Merge topic 'if-diagnostic' into release-4.4
597c573d7d if: Add `DIAGNOSTIC <category>` condition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12181
2026-06-17 08:54:47 -04:00
Brad King
5139c0d5f4 Merge branch 'release-4.4' 2026-06-17 08:51:28 -04:00
Brad King
377e37410f Merge branch 'release-4.3' 2026-06-17 08:51:23 -04:00
Brad King
348d246db2 Merge branch 'release-4.2' 2026-06-17 08:51:13 -04:00
Brad King
d6bf8d4fef Merge branch 'release-4.3' into release-4.4 2026-06-17 08:50:56 -04:00
Brad King
5433556d70 Merge branch 'release-4.4' 2026-06-17 08:49:13 -04:00
Brad King
6b902b1cd9 Merge topic 'fix-cps-requires-crash'
01f8d249bf CPS: Fix crash when package `requires` isn't an object

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12182
2026-06-17 08:49:13 -04:00