76203 Commits
Author SHA1 Message Date
Brad King d1cffecacd CMake 4.4.1 v4.4.1 2026-07-28 10:26:50 -04:00
Brad King ba5f0c256f Merge topic 'ctest-build-targets' into release-4.4
2516d5f7ae CTest: Restore support for dashboard client build targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12332
2026-07-28 09:42:05 -04:00
Brad King a0cffa1f5c Merge topic 'fix-symbolic-test' into release-4.4
f9d99e3892 Tests: Fix symbolic component tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12335
2026-07-28 09:39:13 -04:00
Brad King 0fd5741e42 Merge topic 'ci-tart-test-load' into release-4.4
7f4c2d3c21 ci: do not limit testing based on load in a `tart` runner

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12331
2026-07-28 09:37:18 -04:00
Brad King 32d437aa49 Merge topic 'FindPython-add-pydebug-ABI-support-on-Windows' into release-4.4
84cb7e2629 FindPython: Add support for pydebug ABI flag on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12325
2026-07-28 09:35:23 -04:00
Fabrice de Gans 2516d5f7ae CTest: Restore support for dashboard client build targets
In commit a7780d1b9c (ctest: Add a `CoverageTool` setting to enable
integration with `llvm-cov`, 2026-04-15, v4.4.0-rc1~230^2) we missed a
closing parenthesis in the internal script backing the CTest build
targets.
2026-07-27 15:24:14 -04:00
Matthew Woehlke f9d99e3892 Tests: Fix symbolic component tests
The tests added in commit d92b6c3e20 (CPS: Add Symbolic Components,
2025-09-01, v4.2.0-rc1~48^2~1) had an inverted conditional, such that
they passed if the output did NOT match what was expected. The expected
expressions were also improperly escaped, which "canceled" this error,
allowing the tests to erroneously pass. Fix both of these errors.
2026-07-27 11:53:05 -04:00
Brad King 23f412a704 Merge topic 'fix-mod-manifest-nested-dirs' into release-4.4
539b097bd8 CPS/c++modules: Use file system root as base directory for module manifests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12326
2026-07-27 10:03:41 -04:00
Brad King 44b74c8aae Merge topic 'fix-cps-private-link-deps' into release-4.4
c7ffbc3a26 CPS: Add package requirements for per-config link dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12324
2026-07-27 10:01:12 -04:00
Brad King 713a0b1212 Merge topic 'reduce-utf-8' into release-4.4
96b3a4e6c7 Style: Replace some UTF-8 characters with ASCII equivalents

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12319
2026-07-27 09:56:21 -04:00
Ben Boeckel 7f4c2d3c21 ci: do not limit testing based on load in a tart runner
Observations are seeing stalls of up to 2 minutes waiting for the VM to
become quiescent enough to start tests.
2026-07-27 09:50:53 -04:00
Vito Gamberini 539b097bd8 CPS/c++modules: Use file system root as base directory for module manifests
Fixes: #27989
2026-07-26 16:34:33 -04:00
Marc Chevrier 84cb7e2629 FindPython: Add support for pydebug ABI flag on Windows
Fixes: #27969
2026-07-26 17:10:25 +02:00
Vito Gamberini c7ffbc3a26 CPS: Add package requirements for per-config link dependencies
Fixes: #27987
2026-07-25 16:09:57 -04:00
Brad King 96b3a4e6c7 Style: Replace some UTF-8 characters with ASCII equivalents 2026-07-24 09:55:14 -04:00
Brad King 2a49f821f3 Merge topic 'doc-GNUInstallDirs-cross' into release-4.4
1b33892492 GNUInstallDirs: Document cross-compiling behavior w.r.t. lib directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12318
2026-07-24 08:18:22 -04:00
Brad King 423d5e4ff6 Merge topic 'fix-synth-preproc-cxx-options' into release-4.4
6fb8e308df c++modules: Account for preprocessor flags in compile options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12310
2026-07-24 08:16:35 -04:00
Brad King 1b33892492 GNUInstallDirs: Document cross-compiling behavior w.r.t. lib directories
The default is always `lib` when cross-compiling because we do not
know the target's distro.

Closes: #27982
2026-07-23 16:46:00 -04:00
Vito Gamberini 6fb8e308df c++modules: Account for preprocessor flags in compile options
Fixes: #27973
2026-07-23 09:19:13 -04:00
Brad King 84f6f4aa64 Merge topic 'fix-diagnostic-action-order' into release-4.4
0d36692275 Diagnostics: Fix interaction with cached state

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12312
2026-07-23 08:29:42 -04:00
Brad King baf5b423b7 Merge topic 'test-depends-config' into release-4.4
593c4ccaa6 CMAKE_TEST_BUILD_DEPENDS: Use config when evaluating test dependency targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12306
2026-07-23 08:27:46 -04:00
Matthew Woehlke 0d36692275 Diagnostics: Fix interaction with cached state
The prior mechanism for reconciling cached diagnostic state with updates
from presets / command-line arguments based on whether the latter
modified diagnostics from their default state did not work. This is
because alterations that would not change the state relative to the
default were not recorded, even if they would alter the state relative
to the prior (cached) state.

The best fix for this is to apply alterations on top of the cached
state, rather than trying to determine whether an alteration is
important. Unfortunately, the only way to do this is to defer
alterations until after we can load the cache, which somewhat defeats
one of the original goals of reducing the number of mechanisms by which
alterations are recorded.

Modify how we handle diagnostic alterations to map them through a helper
function, which either defers them (in Project mode) or acts as a
pass-through (applying the changes immediately, in all other modes).
While this does, as noted, introduce another means of storing
diagnostics, this new storage effectively consists of a list of deferred
function calls, rather than a unique format for recording changes, which
is what we had prior to the Great Refactor.
2026-07-22 15:29:59 -04:00
Brad King 239c7c9ccd Merge topic 'more-CMAKE_REQUIRED_FLAGS-fixes' into release-4.4
a72e241200 Check*: Restore more toleration of `;-W...` in CMAKE_REQUIRED_FLAGS
7644d557df Check*: Refactor variable handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12303
2026-07-22 10:55:44 -04:00
Martin Duffy 593c4ccaa6 CMAKE_TEST_BUILD_DEPENDS: Use config when evaluating test dependency targets
Fixes: #27979
2026-07-22 10:17:54 -04:00
Brad King 8dd7eb41bb Merge topic 'vs-clangcl-modules' into release-4.4
027b962a81 VS: Avoid unsupported ScanSourceForModuleDependencies under ClangCl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !12301
2026-07-22 09:55:42 -04:00
Brad King 5175aa4872 Merge topic 'doc-ide-compiler-selection' into release-4.4
90e2a33dba Help/CMAKE_LANG_COMPILER: Document Visual Studio, Xcode, GHS generators quirks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12296
2026-07-22 09:52:29 -04:00
Brad King c67a436d12 Merge branch 'release-4.3' into release-4.4 2026-07-22 09:50:29 -04:00
Brad King a311f60949 Merge topic 'target-sources-items' into release-4.4
5568dbf96b Merge branch 'backport-4.3-target-sources-items'
8df169ebe1 Help: target_sources: Align descriptions with signatures
72ff5cb481 Help: target_sources: Align descriptions with signatures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12302
2026-07-22 09:50:03 -04:00
Brad King b3f07b7259 Merge topic 'backport-4.3-target-sources-items' into release-4.3
72ff5cb481 Help: target_sources: Align descriptions with signatures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12302
2026-07-22 09:49:07 -04:00
leha-bot 90e2a33dba Help/CMAKE_LANG_COMPILER: Document Visual Studio, Xcode, GHS generators quirks
They don't support setting compiler via this variable, they use the
toolsets, so you could switch the compiler by choosing another toolset.

Closes: #21644
2026-07-21 17:39:07 -04:00
Tyler Yankee 027b962a81 VS: Avoid unsupported ScanSourceForModuleDependencies under ClangCl
As of commit ed48feeae8 (clang-cl: Add support for C++ modules,
2026-03-27, v4.4.0-rc1~428^2) CMake tries to support modules for
clang-cl, which can mostly be accomplished, except for the ClangCl VS
toolset, where the /scanDependencies flag is not yet supported.

Amend commit 3022f0363f (VS: set ScanSourceForModuleDependencies at
vcxproj level, 2024-04-27, v3.28.5~3^2) to only emit this setting when
scanning is supported by the toolchain.

Fixes: #27957
Issue: #27977
2026-07-21 17:02:29 -04:00
Brad King 5568dbf96b Merge branch 'backport-4.3-target-sources-items' 2026-07-21 15:42:33 -04:00
FeRD (Frank Dana) 8df169ebe1 Help: target_sources: Align descriptions with signatures
Recent changes to the `target_sources()` docs changed the `<items>`
placeholders to `<source>` or `<files>` (for `FILE_SET` commands),
but the documentation still used "items" frequently, and even
`<items>` once.

Change all mentions of "items" to use terms that match the
corresponding placeholders, for consistency.
2026-07-21 15:42:13 -04:00
FeRD (Frank Dana) 72ff5cb481 Help: target_sources: Align descriptions with signatures
Recent changes to the `target_sources()` docs changed the `<items>`
placeholders to `<source>` or `<files>` (for `FILE_SET` commands),
but the documentation still used "items" frequently, and even
`<items>` once.

Change all mentions of "items" to use terms that match the
corresponding placeholders, for consistency.
2026-07-21 15:40:49 -04:00
Matthew Woehlke a72e241200 Check*: Restore more toleration of ;-W... in CMAKE_REQUIRED_FLAGS
Commit 5abaf65154 (Check*: Restore toleration of `;-W...` in
CMAKE_REQUIRED_FLAGS, 2026-06-24, v4.4.0-rc3~2^2) introduced logic to
prevent `-W*` arguments in `CMAKE_REQUIRED_FLAGS` from being passed as
CMake arguments in the `check[_<lang>]_source_{compiles,runs}` family of
utilities. However, several other related modules are also affected.
Update those to also use the new logic, and to have more uniform
implementations, making use of the refactoring from the previous commit.

Fixes: #27961
2026-07-21 15:21:42 -04:00
Matthew Woehlke 7644d557df Check*: Refactor variable handling
Commit 5abaf65154 (Check*: Restore toleration of `;-W...` in
CMAKE_REQUIRED_FLAGS, 2026-06-24, v4.4.0-rc3~2^2) introduced logic to
prevent `-W*` arguments in `CMAKE_REQUIRED_FLAGS` from being passed as
CMake arguments. It was never the intent of `CMAKE_REQUIRED_FLAGS` to
support such usage; however, since older versions of CMake would
silently accept such arguments, some users were unintentionally passing
compiler warnings as CMake arguments. Although this usage is incorrect,
it was silently tolerated until CMake 4.4, which began treating unknown
`-W*` as an error.

Because it turns out that modules besides `CheckSource{Compiles,Runs}`
are affected, we are going to need the logic added by that commit in
many more places. As a first step toward accommodating that need, move
the logic to a new internal helper. While we're at it, try to generally
consolidate the common logic for handling the various variables that the
`Check*` family of modules uses for injecting arguments into the
ultimate `try_compile` calls.
2026-07-21 15:21:42 -04:00
Brad King 6a5e95f6c5 Merge topic 'ctest-configure-avoid-unused-cli-warning' into release-4.4
72eac83626 ctest: Avoid unused-cli warning when propagating SITE/BUILDNAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12299
2026-07-21 15:15:28 -04:00
Brad King 35b69b1aaa Merge branch 'ci-use-tart-backports' into release-4.4 2026-07-21 11:25:39 -04:00
Brad King 75950651b6 Merge branch 'release-4.3' into release-4.4 2026-07-21 11:01:56 -04:00
Brad King 3aa6dc0baa Merge topic 'ci-use-tart-4.4' into release-4.4
b83728ca14 gitlab-ci: extend Xcode CI job timeout to 3 hours
775ddcecd7 gitlab-ci: move macOS nonconcurrent jobs to `tart` runners
5c08f8d3d8 gitlab-ci: make `needs` explicitly empty where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12284
2026-07-21 11:01:31 -04:00
Brad King 4ef40610d9 Merge branch 'release-4.2' into release-4.3 2026-07-21 11:00:20 -04:00
Brad King ee17270255 Merge topic 'ci-use-tart-4.3' into release-4.3
0b3ca12d1f gitlab-ci: extend Xcode CI job timeout to 3 hours
ccb23d2864 gitlab-ci: move macOS nonconcurrent jobs to `tart` runners
7d45cbf240 gitlab-ci: make `needs` explicitly empty where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12284
2026-07-21 10:59:52 -04:00
Brad King 91384167fc Merge branch 'release-4.1' into release-4.2 2026-07-21 10:59:21 -04:00
Brad King 0b6a9f7c60 Merge topic 'ci-use-tart-4.2' into release-4.2
cfd6875cf6 Tests: Update RunCMake.Framework expected output for macOS 26.4
a29fdafd37 gitlab-ci: extend Xcode CI job timeout to 3 hours
211b58e2e6 gitlab-ci: move macOS nonconcurrent jobs to `tart` runners
d850364a9a gitlab-ci: make `needs` explicitly empty where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12284
2026-07-21 10:57:49 -04:00
Brad King 420dbb08c2 Merge branch 'release-4.0' into release-4.1 2026-07-21 10:56:43 -04:00
Brad King c2dcbf4df6 Merge topic 'ci-use-tart-4.1' into release-4.1
9a4547fab6 Tests: Update RunCMake.Framework expected output for macOS 26.4
aa18c20347 gitlab-ci: extend Xcode CI job timeout to 3 hours
c78b42552e gitlab-ci: move macOS nonconcurrent jobs to `tart` runners
86c44d507a gitlab-ci: make `needs` explicitly empty where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12284
2026-07-21 10:56:24 -04:00
Brad King cf26dcdc38 Merge branch 'release-3.31' into release-4.0 2026-07-21 10:55:32 -04:00
Brad King 32dc4a6ab0 Merge topic 'ci-use-tart-4.0' into release-4.0
cbd1371db3 Tests: Update RunCMake.Framework expected output for macOS 26.4
e063b8b9f9 gitlab-ci: extend Xcode CI job timeout to 3 hours
5d64f3106f gitlab-ci: move macOS nonconcurrent jobs to `tart` runners
c91bfb704f gitlab-ci: make `needs` explicitly empty where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12284
2026-07-21 10:54:54 -04:00
Brad King 316bc3346d Merge topic 'ci-use-tart-3.31' into release-3.31
bca325109c Tests: Update RunCMake.Framework expected output for macOS 26.4
80538f15af gitlab-ci: extend Xcode CI job timeout to 3 hours
2b4abb3c25 gitlab-ci: move macOS arm64 jobs to `tart` runners
28aa7d786e gitlab-ci: make `needs` explicitly empty where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12284
2026-07-21 10:49:49 -04:00
Brad King 031bc0d03f Merge topic 'try_compile-enabled-languages' into release-4.4
39cc425791 try_compile: Restore toleration of toolchain file setting internal variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12300
2026-07-21 10:07:54 -04:00