Commit Graph

37889 Commits

Author SHA1 Message Date
Brad King
030a63dd54 Merge topic 'xcframework-plist-cache'
da330bcf88 macOS: Cache parsed xcframework plist content

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11076
2025-08-18 10:07:14 -04:00
Brad King
fa2ed6568c Merge topic 'cpack-dmg-sync'
ef739edd20 CPack/DragNDrop: Prevent hdiutil "resource is busy" failures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11086
2025-08-18 10:02:20 -04:00
Brad King
9062fc9c16 Merge topic 'install-object-name-strategy'
c651b0e002 objects: implement installation naming strategies
29c7f19280 cmTarget: add the `INSTALL_OBJECT_NAME_STRATEGY` property
757c40c478 cmObjectLocation: add a class to track object locations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11046
2025-08-18 09:45:19 -04:00
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
Ben Boeckel
c651b0e002 objects: implement installation naming strategies 2025-08-16 09:18:44 -04:00
Kitware Robot
64d6c07af3 CMake Nightly Date Stamp 2025-08-16 00:04:06 -04:00
Gonzalo Garramuño
ef739edd20 CPack/DragNDrop: Prevent hdiutil "resource is busy" failures
Run `sync` to finish pending filesystem operations before running `hdiutil`.

Fixes: #27136
2025-08-15 10:33:27 -04:00
Eugene Zimichev
da330bcf88 macOS: Cache parsed xcframework plist content
Avoid repeating `plutil` calls on the same plist files.

Fixes: #27023
2025-08-15 10:15:54 -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
Ben Boeckel
29c7f19280 cmTarget: add the INSTALL_OBJECT_NAME_STRATEGY property 2025-08-07 11:24:32 -04:00
Ben Boeckel
757c40c478 cmObjectLocation: add a class to track object locations
With the feature to use a shorter path for the build tree, the install
tree may still want to use a longer path.
2025-08-07 11:24:32 -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