76190 Commits

Author SHA1 Message Date
Kitware Robot
c3b9bc2278 CMake Nightly Date Stamp 2026-06-24 00:05:31 -04:00
Brad King
cd5a8dfa8e Merge topic 'genex-list-transform-apply'
0f6e8ded1d GenEx: add $<LIST:TRANSFORM,...,APPLY,body> action
c0a0b7fdd9 GenEx: add bound-operand binding mechanism and $<_0>
caa51f5689 GenEx: factor TRANSFORM selector parsing and selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12203
2026-06-23 10:17:50 -04:00
Brad King
c615883926 Merge topic 'target-init'
01a80f7401 cmTarget: Move initialization to implementation class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12198
2026-06-23 10:01:01 -04:00
Brad King
dd0bd1534b Merge branch 'release-4.4' 2026-06-23 09:55:46 -04:00
Brad King
a733b2c1ce Merge topic 'fix-opengl-legacy' into release-4.4
69956c6f63 FindOpenGL: Fix OpenGL and GLX result variables with legacy GL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12205
2026-06-23 09:55:23 -04:00
Brad King
7e4d73a178 Merge topic 'fix-opengl-legacy'
69956c6f63 FindOpenGL: Fix OpenGL and GLX result variables with legacy GL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12205
2026-06-23 09:53:18 -04:00
Brad King
699cad2b6c Merge topic 'update-kwsys'
c029b4a098 Merge branch 'upstream-KWSys' into update-kwsys
fd4084d93e KWSys 2026-06-23 (aa992d52)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12208
2026-06-23 09:50:10 -04:00
Brad King
c029b4a098 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2026-06-23 (aa992d52)
2026-06-23 09:34:28 -04:00
KWSys Upstream
fd4084d93e KWSys 2026-06-23 (aa992d52)
Code extracted from:

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

at commit aa992d526eaefcfa955f35e631bc026de9e6103f (master).

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

Sean McBride (1):
      e180697f SystemTools: Add Strnucmp() API, similar to POSIX strncasecmp()
2026-06-23 09:34:28 -04:00
Kitware Robot
6e2614aae3 CMake Nightly Date Stamp 2026-06-23 00:05:17 -04:00
Carlo Bramini
69956c6f63 FindOpenGL: Fix OpenGL and GLX result variables with legacy GL
In commit 32a5f11e50 (FindOpenGL: respect legacy preference for OpenGL
and GLX libraries, 2025-10-31, v4.3.0-rc1~544^2) the result variables
were spelled incorrectly.  Also re-order logic to preserve the CMP0072
warning text naming the GLVND libraries.

Fixes: #27299
2026-06-22 20:05:04 -04:00
Brad King
066b9cf7a1 Merge branch 'release-4.4' 2026-06-22 18:21:02 -04:00
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
344c4ed360 Merge topic 'import-std-refactor' into release-4.4
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:00 -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
Mickaël Germain
0f6e8ded1d GenEx: add $<LIST:TRANSFORM,...,APPLY,body> action
Add an APPLY action to $<LIST:TRANSFORM> that evaluates an arbitrary <body>
once per selected element, with $<_0> bound to the element, so a list can be
mapped through any generator expression at generate time.  Unlike the
configure-time list(TRANSFORM ... APPLY <function>) command, the genex form has
no side effects and returns the body's value directly, and a list-valued result
expands into multiple elements.

The body evaluates in its own binding scope, so nested APPLY actions can shadow
$<_0>, and context-sensitive state it observes (such as target dependencies)
still propagates to the enclosing expression.  APPLY accepts the same
AT/FOR/REGEX selectors as the canned actions.

Issue: #27892
2026-06-21 18:05:53 -07:00
Kitware Robot
088aef1e68 CMake Nightly Date Stamp 2026-06-21 00:05:24 -04:00
Mickaël Germain
c0a0b7fdd9 GenEx: add bound-operand binding mechanism and $<_0>
Introduce "binding operations": generator expressions that evaluate a <body>
once for each value they supply, with $<_0> expanding to that value.  This is
the foundation the $<LIST:TRANSFORM,...,APPLY> action and the predicate
selectors build on, letting a <body> refer to the element being processed.

Using $<_0> outside a binding operation is reported as an error rather than
silently expanding to nothing.

Issue: #27892
2026-06-20 12:32:30 -07:00
Mickaël Germain
caa51f5689 GenEx: factor TRANSFORM selector parsing and selection
Give the AT/FOR/REGEX selector syntax shared by the $<LIST:TRANSFORM> actions a
single definition, so its diagnostics and index/REGEX semantics cannot drift
between actions.  Also let a caller learn which elements a selector picks
without running a transform, as groundwork for actions that drive their own
per-element loop.

Issue: #27892
2026-06-20 12:32:29 -07:00
Kitware Robot
c23eb2171a CMake Nightly Date Stamp 2026-06-20 00:05:43 -04:00
Matthew Woehlke
01a80f7401 cmTarget: Move initialization to implementation class
Move a bunch of low-level member initialization from `cmTarget` to
`cmTargetInternals`, and in particular, to inline default member
initializers where possible. This gives us the advantages of the latter
with no overhead, as the compiler will elide generating DMI code for
those members that are unconditionally initialized in the ctor. (We were
getting the same optimization already for members that were initialized
twice in the `cmTarget` ctor, but without the benefits of DMIs.)

Mostly, this means we have assurance, via the DMIs, that POD members are
initialized without having to verify whether there is explicit code to
do so, while retaining not paying for double initialization.

Also, because it just gets moved into place, change `cmTarget`'s ctor to
take the target name by value.
2026-06-19 16:40:47 -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