Commit Graph

76173 Commits

Author SHA1 Message Date
Brad King
dfd1cf8d87 Merge topic 'import-std-refactor'
42d2d63235 c++modules: Copy props from BMI consumers more correctly
6d3e9d8220 c++modules: single import std target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !12193
2026-06-22 18:21:02 -04:00
Brad King
a7b5ef7f9c Merge branch 'release-4.4' 2026-06-22 18:19:11 -04:00
Brad King
5ffed8c938 Merge topic 'tutorial-typos'
abee191e93 Help/tutorial: reword Installation Commands intro
15bd933fc4 Help/tutorial: fix minor typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Acked-by: Betsy McPhail <betsy.mcphail@kitware.com>
Merge-request: !12199
2026-06-22 18:19:11 -04:00
Brad King
4fd73a29dc Merge topic 'tutorial-typos' into release-4.4
abee191e93 Help/tutorial: reword Installation Commands intro
15bd933fc4 Help/tutorial: fix minor typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Acked-by: Betsy McPhail <betsy.mcphail@kitware.com>
Merge-request: !12199
2026-06-22 18:19:09 -04:00
Brad King
71765609dc Merge topic 'instrumentation-interrupt'
b5c03bdef4 Source: Restore compilation on FreeBSD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12196
2026-06-22 12:19:40 -04:00
Aiden Woodruff
abee191e93 Help/tutorial: reword Installation Commands intro
Signed-off-by: Aiden Woodruff <aiden.woodruff@kitware.com>
2026-06-22 12:08:38 -04:00
Aiden Woodruff
15bd933fc4 Help/tutorial: fix minor typos
Signed-off-by: Aiden Woodruff <aiden.woodruff@kitware.com>
2026-06-22 12:08:38 -04:00
Kitware Robot
ee0198b4b2 CMake Nightly Date Stamp 2026-06-22 00:05:26 -04:00
Kitware Robot
088aef1e68 CMake Nightly Date Stamp 2026-06-21 00:05:24 -04:00
Kitware Robot
c23eb2171a CMake Nightly Date Stamp 2026-06-20 00:05:43 -04:00
Brad King
b5c03bdef4 Source: Restore compilation on FreeBSD
Since commit bda67b82e7 (instrumentation: Write cmakeBuild snippet when
build is interrupted, 2026-06-15) compilation on FreeBSD fails with:

    error: use of undeclared identifier 'isascii'

Follow our pattern from `cmTimestamp.cxx` to make `isascii` available.
2026-06-19 11:26:17 -04:00
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