Commit Graph
76065 Commits
Author SHA1 Message Date
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
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
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 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 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 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
Brad King 9c2b5591cb ci: Update macos-arm64 jobs to use Xcode 26.6 2026-06-30 13:06:25 -04:00
Marc Chevrier 7f71e58444 FILE_SET: fix genex evaluation of properties 2026-06-30 11:59:07 +02:00
Tyler Yankee 224463f31c GoogleTest: Avoid cluttering custom working directory during discovery
Backport the functionality from commit b5f555f687 (GoogleTest: Avoid
cluttering custom working directory during discovery, 2026-06-07,
v4.4.0-rc2~12^2). Work around the refactoring done in commit 3748ca9fc7
(GoogleTest: generate single discovery script, 2026-04-08,
v4.4.0-rc1~302^2~1).
2026-06-29 16:50:39 -04:00
Brad King a61c57997a CMake 4.4.0-rc3 v4.4.0-rc3 2026-06-29 14:33:59 -04:00
Brad King 27d22216bc Merge topic 'target-SOURCE-file-set-read-only' into release-4.4
e1c4e91133 Some target properties for SOURCE file sets are read-only.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12219
2026-06-29 11:54:28 -04:00
Marc Chevrier e1c4e91133 Some target properties for SOURCE file sets are read-only.
Target properties SOURCE_SETS and INTERFACE_SOURCE_SETS must be read-only.
2026-06-25 15:36:39 +02:00
Brad King 7b9bc34277 Merge topic 'check-tolerate-W-flags' into release-4.4
5abaf65154 Check*: Restore toleration of `;-W...` in CMAKE_REQUIRED_FLAGS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12212
2026-06-25 07:25:37 -04:00
Brad King fba52b2b69 Merge topic 'skip-toolchain-checks-more-variables' into release-4.4
170248fbcb CMakeDetermineCompilerABI: require more variables to skip checks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12201
2026-06-25 07:22:29 -04:00
Brad King 9c7c431442 Merge topic 'fortran-ptr-size' into release-4.4
e13c32153b Fortran: Detect pointer size on Intel archs with Oracle Studio 12.4 and below
11c897d487 Fortran: Detect pointer size on PowerPC archs with PGI
e88a4b9f2c Sunway: Detect sw_64 architecture more consistently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12216
2026-06-25 07:19:50 -04:00
Brad King 5ba6ea30c7 Merge topic 'FindCUDAToolkit_support_win_arm64' into release-4.4
0e9d7128cd CUDA: Add support for Clang on Windows ARM64
5f2b27562e FindCUDAToolkit: Add support for windows arm64
afb9e1eab8 FindCUDAToolkit: Detect target processor even when not cross-compiling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12210
2026-06-25 07:17:54 -04:00
Matthew Woehlke 5abaf65154 Check*: Restore toleration of ;-W... in CMAKE_REQUIRED_FLAGS
The `CMAKE_REQUIRED_FLAGS` variable, used by the various entry points to
`cmake_check_source_{compiles,runs}`, specifies that flags shall not be
separated by semicolons. This is because the way in which it is passed
to the child `cmake` process means that, when considered as a list (with
semicolon separated items), only the first item is actually used as
compile flags, with any additional items actually seen as arguments to
the child `cmake` process. While this usage is unsupported, if invoked
accidentally, flags starting with `-W` were silently ignored by CMake.

However, CMake 4.4 newly complains about unrecognized warning
categories, which means that uses which were silently broken now result
in a hard error.

In the longer term, it would be helpful to introduce a policy to repair
improper use of semicolons in `CMAKE_REQUIRED_FLAGS` in order to do what
the user probably meant. However, for various reasons, we do not want to
introduce a policy to CMake 4.4 at this time, and anyway, the policy
won't help users that haven't enabled it. Therefore, alter the 'check
source' functions to detect arguments being passed to `cmake` rather
than the compiler, and remove any such that start with `-W`. This
removes any arguments that newly cause errors starting with CMake 4.4,
while not otherwise altering behavior in case any users were abusing
this implementation quirk.

Strictly speaking, this means that users can no longer abuse this quirk
to alter CMake's diagnostics. However, the only case in which this
should be observable is if the user is already abusing the quirk to
inject their own CMake logic into the CMake-provided test projects.
Since this was never supported, anyone doing that can keep the pieces.

Issue: #27901
Fixes: #27893
2026-06-24 13:59:11 -04:00
Ben Boeckel 170248fbcb CMakeDetermineCompilerABI: require more variables to skip checks
These variables were missed in the addition of the feature.

Fixes: #27894
2026-06-24 11:38:50 -04:00
Brad King e13c32153b Fortran: Detect pointer size on Intel archs with Oracle Studio 12.4 and below
Revise commit eb8cb2c6c2 (Fortran: Detect pointer size on Intel archs
with PGI, 2014-04-10, v3.0.0-rc4~4^2) to consider more variants of the
architecture macros.
2026-06-24 11:32:44 -04:00
Brad King 11c897d487 Fortran: Detect pointer size on PowerPC archs with PGI
The PGI compiler does not define __SIZEOF_POINTER__ so use the
__ppc64__ or __ppc__ CPU macros to select a pointer size instead.
2026-06-24 11:32:44 -04:00
Brad King e88a4b9f2c Sunway: Detect sw_64 architecture more consistently
Revise commit cfbf0480ff (Sunway: Add sw_64 support, 2025-08-05,
v4.2.0-rc1~373^2) to use the same set of preprocessor definitions for
all languages, and to order them consistently w.r.t. other archs.
2026-06-24 11:32:44 -04:00
Robert Maynard 0e9d7128cd CUDA: Add support for Clang on Windows ARM64 2026-06-23 16:43:15 -04:00
Robert Maynard 5f2b27562e FindCUDAToolkit: Add support for windows arm64 2026-06-23 16:43:04 -04:00
Robert Maynard afb9e1eab8 FindCUDAToolkit: Detect target processor even when not cross-compiling 2026-06-23 14:31:18 -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
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 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 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
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
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 ea09a66be0 Merge branch 'release-4.3' into release-4.4 2026-06-19 09:56:47 -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
Vito Gamberini 6d3e9d8220 c++modules: single import std target 2026-06-18 15:20:54 -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
Brad King d9c35d02bb CMake 4.4.0-rc2 v4.4.0-rc2 2026-06-17 11:09:19 -04:00
Brad King 672ddaa5b7 Merge branch 'release-4.3' into release-4.4 2026-06-17 10:22:00 -04:00
Brad King c2fd48014f CMake 4.3.4 v4.3.4 2026-06-17 09:53:06 -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 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