Commit Graph

37881 Commits

Author SHA1 Message Date
Kitware Robot 2dd0e8438b CMake Nightly Date Stamp 2025-08-18 00:05:07 -04:00
Kitware Robot 392b4fc9aa CMake Nightly Date Stamp 2025-08-17 00:04:28 -04:00
Kitware Robot 64d6c07af3 CMake Nightly Date Stamp 2025-08-16 00:04:06 -04:00
Brad King ced6ca50f1 Merge topic 'foreach-assertion'
ac8fe36aba Help: Improve clarity of foreach behavior
37e27f71bc foreach: Explicitly skip replay without iterations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11081
2025-08-15 08:31:45 -04:00
Kitware Robot 6c060d3ff1 CMake Nightly Date Stamp 2025-08-15 00:05:06 -04:00
Brad King 05718620b6 Merge topic 'pkgc-import-system-fix'
d5f6cf5ba8 PkgC: Only remove system paths which are exact matches
93f77d8183 PkgC: Allow system paths during IMPORT, POPULATE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11078
2025-08-14 09:22:49 -04:00
Brad King 1fa7bd1965 Merge topic 'genex-strip-nested'
8227028e49 string(GENEX_STRIP): Fix regression on nested generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11077
2025-08-14 09:20:09 -04:00
Brad King b1186e1997 Merge topic 'stdio-terminal'
914803bf31 Makefile: Fix regression that prints unnecessary VT100 escape sequences
a0a9e48f85 StdIo: Fix Terminal abstraction to avoid unnecessary VT100 escape sequences

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11080
2025-08-14 09:18:15 -04:00
Brad King 8ab05f4db9 Merge topic 'pchreuse-copy-pdb-saga'
390c473652 pchreuse: remove MSVC 2008-or-older condition
f0d8606267 cmLocalGenerator: fix destination path construction for PCH/PDB copying

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Acked-by: Eduard Voronkin <edward.voronkin@gmail.com>
Merge-request: !11066
2025-08-14 09:16:42 -04:00
Brad King 18eed8502c Merge topic 'cps-add-versions'
ae373e93fb install(PACKAGE_INFO): Add version and location to package dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10993
2025-08-14 09:12:52 -04:00
Kitware Robot cc2b82e2f3 CMake Nightly Date Stamp 2025-08-14 00:04:57 -04:00
Tyler Yankee 37e27f71bc foreach: Explicitly skip replay without iterations
As written, foreach loops with a trailing `IN` (i.e., no loop
variable(s) given) lead to an assertion error. Handle this case by
exiting early when we know the loop won't execute anything.

Fixes: #27135
2025-08-13 16:29:16 -04:00
Martin Duffy 8227028e49 string(GENEX_STRIP): Fix regression on nested generator expressions
Since commit 13c7bb5b0c (cmGeneratorExpression: Update strip function to
collect parsed expressions, 2025-04-08), the logic to strip generator
expressions from a string made incorrect assumptions about the contents of
generator expressions, leading certain cases to be stripped incorrectly.

Clean up the logic and fix broken behavior, and add test coverage with
`string(GENEX_STRIP)`.

Fixes: #27133
2025-08-13 15:52:16 -04:00
Brad King 914803bf31 Makefile: Fix regression that prints unnecessary VT100 escape sequences
Since commit 509c424472 (StdIo: Replace uses of KWSys Terminal with
StdIo::Print, 2025-05-08, v4.1.0-rc1~151^2~2) we print unnecessary VT100
escape sequences to establish normal text even when not intending to
print color.  In combination with `CLICOLOR_FORCE=1`, this breaks
detection of implicit link information from compiler driver output.

Fixes: #27137
2025-08-13 15:30:25 -04:00
Brad King a0a9e48f85 StdIo: Fix Terminal abstraction to avoid unnecessary VT100 escape sequences
Fix commit 329d755dbd (StdIo: Add a Terminal abstraction to print color
text, 2025-05-06, v4.1.0-rc1~151^2~3) to avoid printing a VT100 escape
sequence for normal text if we did not print any sequence initially.
We already use this approach for Windows Console text attributes.

Issue: #26924
2025-08-13 15:30:24 -04:00
Vito Gamberini d5f6cf5ba8 PkgC: Only remove system paths which are exact matches 2025-08-13 12:59:00 -04:00
Vito Gamberini 93f77d8183 PkgC: Allow system paths during IMPORT, POPULATE
Fixes: #27138
2025-08-13 11:57:09 -04:00
Kitware Robot 5d2e715182 CMake Nightly Date Stamp 2025-08-13 00:04:56 -04:00
Taylor Sasser ae373e93fb install(PACKAGE_INFO): Add version and location to package dependencies
Refactor `cmFindPackageStack` to track additional metadata
about <package> found. This includes two new fields,
`Version` and `Location` which correspond to package version and path.
The remaining package information will be implemented in a later commit
2025-08-12 11:07:09 -04:00
Kitware Robot f5c5587584 CMake Nightly Date Stamp 2025-08-12 00:04:57 -04:00
Kitware Robot 1443123892 CMake Nightly Date Stamp 2025-08-11 00:06:22 -04:00
Ben Boeckel 390c473652 pchreuse: remove MSVC 2008-or-older condition
Testing locally, `.idb` files are *not* made unconditionally with v71 at
least. Perhaps v90 is an outlier?

In any case, the typo introduced in 1f791eb160 (Multi-Ninja: Fix
reusable PCHs for MSVC, 2020-05-24) via !4787 (see
`cmLocalGenerator.cxx:2751` for extra space inside the quotes) was
preserved when fixing `IS_NEWER_THAN` logic in 28501fca94 (PCH PDB: Fix
misuse of IS_NEWER_THAN in timestamp check, 2021-02-21) from !5825. The
typo itself was fixed in cb46c4a918 (cmLocalGenerator: fix quoting in
generated script, 2025-06-16) via !10887 but the condition was fumbled
later in that MR's commit f78f592b78 (pchreuse: defer target existence
enforcement to generation time, 2025-06-16) in constructing `to_file`
for the script.

In the end, these typos ended up making the builds pass. In fixing it
properly in the parent commit, it exposed MSVC v71 as an outlier in
passing the tests again. Since I do not see `.idb` files with the
toolchain as tested in CI, further investigation into the build that
caused the condition to be added in the first place is required. In the
meantime, removing this check makes things happy as far as CMake's own
test suite is concerned.
2025-08-11 00:05:23 -04:00
Eduard Voronkin f0d8606267 cmLocalGenerator: fix destination path construction for PCH/PDB copying 2025-08-11 00:03:17 -04:00
Kitware Robot 45b8ebbafd CMake Nightly Date Stamp 2025-08-10 00:05:11 -04:00
Kitware Robot 82f7407632 CMake Nightly Date Stamp 2025-08-09 00:04:36 -04:00
Brad King b8b6053ed9 Merge topic 'ctest-stray-newline'
9c6e53e46f ctest: Remove stray newline in process result string
48bb5a4e1c Merge branch 'upstream-KWSys' into ctest-stray-newline
bbb2370359 KWSys 2025-08-08 (2c189f30)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11045
2025-08-08 09:16:08 -04:00
Brad King 9c6e53e46f ctest: Remove stray newline in process result string
The plain "Exit code" string had a newline that we do not have in the
other result strings.  This typo was inherited from KWSys Process,
which has been fixed by its upstream.

Fixes: #27119
2025-08-08 08:19:38 -04:00
Brad King 48bb5a4e1c Merge branch 'upstream-KWSys' into ctest-stray-newline
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-08-08 (2c189f30)
2025-08-08 08:19:25 -04:00
Kitware Robot 7bdea0b4c7 CMake Nightly Date Stamp 2025-08-08 00:04:39 -04:00
Brad King 6cd60195f3 Merge topic 'instrumentation-build-lock'
a249e820a8 instrumentation: Add file lock for build daemon
9b65be6da5 instrumentation: Don't load query files before configure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11025
2025-08-07 09:19:44 -04:00
Kitware Robot 42c5200612 CMake Nightly Date Stamp 2025-08-07 00:04:54 -04:00
Martin Duffy a249e820a8 instrumentation: Add file lock for build daemon
Prevent starting instrumentation build daemon and related hooks if one is
already running, and when during `cmake --build`.
2025-08-06 11:45:40 -04:00
Brad King 2e3dde3727 Merge topic 'Set-CACHE-variable'
8af64914d6 set/unset commands: add CACHE{variable} syntax support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11016
2025-08-06 10:08:56 -04:00
Kitware Robot bf5512097e CMake Nightly Date Stamp 2025-08-06 00:04:48 -04:00
Martin Duffy 9b65be6da5 instrumentation: Don't load query files before configure
Prevent the duplication of callbacks that came from loading instrumentation
queries both before and after configure.
2025-08-05 14:16:45 -04:00
Brad King 2a2c2e0b26 CMake 4.1.0 2025-08-05 10:55:57 -04:00
Brad King 24ebba66ba Merge topic 'swiftmodule-c-dependency'
c659808626 Swift: Fix swiftmodule dependency

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10991
2025-08-05 10:28:49 -04:00
Brad King b052b1f91c Merge topic 'rcc-only-pass-no-zstd-qt6'
aeae5ede92 Autogen/RCC: Only pass --no-zstd to Qt6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11013
2025-08-05 10:26:53 -04:00
Kitware Robot 369ee8746f CMake Nightly Date Stamp 2025-08-05 00:04:39 -04:00
Marc Chevrier 8af64914d6 set/unset commands: add CACHE{variable} syntax support
Add the support of CACHE{variable} syntax to enable:
* better consistency with other commands which use this syntax
* more flexibility regarding cache variable options
2025-08-04 20:46:23 +02:00
Heiko Becker aeae5ede92 Autogen/RCC: Only pass --no-zstd to Qt6
In commit 9e87df4d46 (Autogen/RCC: Disable zstd if it is not supported,
2024-02-08, v3.29.0-rc1~5^2) we added this flag, but it doesn't exist
for Qt 5.  It was only introduced with qtbase commit `14546d1816a8`,
which first appeared in Qt 6.

Fixes: #27111
Issue: #25664
2025-08-04 13:45:14 -04:00
Evan Wilde c659808626 Swift: Fix swiftmodule dependency
Fix a bug in the split build model where we generate a dependency on the
swiftmodule of a target that does not emit a swiftmodule.

This fix drops the erroneous swiftmodule dependency edge, avoiding the
broken dependency graph. Incremental builds still work with the new
model because of the swiftmodule dependency edges between Swift
compilation steps.

Fixes: #26922
2025-08-04 10:51:23 -04:00
Kitware Robot ee45e7d426 CMake Nightly Date Stamp 2025-08-04 00:04:45 -04:00
Kitware Robot 55dc83e3d7 CMake Nightly Date Stamp 2025-08-03 00:05:22 -04:00
Brad King 383406fc18 Merge topic 'pass-trivial-by-value'
b1fdab3cc1 source: Pass small and trivially copyable types by value
7829ea76ad source: Pass cmFileTime by value
99c10afc26 source: Pass trivial dap::*Event by value
0bcb8d6e3c source: Pass cmFileAPI::Object by value
964e992ec5 source: Pass cmCTestResourceAllocator::Resource by value
ee1c32b6d7 source: Pass cmBuildOptions by value
fa0e5906ff source: Pass cmStringRange by value
0c4040057a source: Pass cm::string_view by value

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10948
2025-08-02 06:23:48 -04:00
Kitware Robot 3a9c61ed5f CMake Nightly Date Stamp 2025-08-02 00:05:08 -04:00
Brad King d1be722330 Merge topic 'issue-24923-new-cli-tools'
8797912e4d cmake -E: Add copy_if_newer and copy_directory_if_newer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10957
2025-08-01 11:13:56 -04:00
Daniel Pfeifer b1fdab3cc1 source: Pass small and trivially copyable types by value 2025-08-01 09:56:00 -04:00
Daniel Pfeifer 7829ea76ad source: Pass cmFileTime by value 2025-08-01 09:56:00 -04:00
Daniel Pfeifer 99c10afc26 source: Pass trivial dap::*Event by value 2025-08-01 09:55:59 -04:00