Commit Graph

37860 Commits

Author SHA1 Message Date
Kitware Robot 5d2e715182 CMake Nightly Date Stamp 2025-08-13 00:04:56 -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
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 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
Daniel Pfeifer 0bcb8d6e3c source: Pass cmFileAPI::Object by value 2025-08-01 09:55:50 -04:00
Kitware Robot 025794aab1 CMake Nightly Date Stamp 2025-08-01 00:05:06 -04:00
Brad King 30793dda4e Merge topic 'mutable-find-package-stack-alt'
b3873b8272 cmFindPackageStack: Allow controlled mutation
f2bdc2176f cmStack: New, mutable stack class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10978
2025-07-31 10:54:22 -04:00
Brad King 04abde5ee3 Merge topic 'fix-config-genex'
8ac826a5f2 GenEx: Fix evaluation of $<CONFIG> on imported targets
9b36e49ad9 cmGeneratorExpressionNode: Remove dead code from ConfigurationTestNode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10940
2025-07-31 10:52:56 -04:00
Benjamin Buch 8797912e4d cmake -E: Add copy_if_newer and copy_directory_if_newer
Fixes: #24923
2025-07-31 10:55:59 +02:00
Kitware Robot 0351e13a40 CMake Nightly Date Stamp 2025-07-31 00:04:39 -04:00
Matthew Woehlke 8ac826a5f2 GenEx: Fix evaluation of $<CONFIG> on imported targets
The historic implementation of `$<CONFIG>` had some errors that could
result in multiple configurations matching. First, it always considered
the configuration of the consuming target, even if a consumed imported
target selected a different configuration. Second, it matched the entire
list of `MAP_IMPORTED_CONFIG_<CONFIG>` configurations, even if none of
those were actually selected. The latter in particular is redundant at
best, as we also consider the selected configuration of an imported
target, which is the correct configuration to match for imported
targets. Refactor the implementation so that only one configuration is
considered.

Fixes: #23660
Issue: #27022
2025-07-30 15:12:03 -04:00
Matthew Woehlke 9b36e49ad9 cmGeneratorExpressionNode: Remove dead code from ConfigurationTestNode
Commit 910ada1a88 (Genex: $<CONFIG:> syntax of all entries checked,
2023-01-17) tweaked how ConfigurationTestNode::Evaluate validates its
arguments, which resulted in the removal of the body of an `if` but not
the `if` itself. Since the condition does not have side effects, this
resulted in superfluous leftover code. Remove this.
2025-07-30 15:11:38 -04:00
Daniel Pfeifer 964e992ec5 source: Pass cmCTestResourceAllocator::Resource by value 2025-07-30 11:55:34 -04:00
Daniel Pfeifer ee1c32b6d7 source: Pass cmBuildOptions by value 2025-07-30 11:55:34 -04:00
Daniel Pfeifer fa0e5906ff source: Pass cmStringRange by value 2025-07-30 11:55:34 -04:00
Daniel Pfeifer 0c4040057a source: Pass cm::string_view by value 2025-07-30 11:55:33 -04:00
Brad King 1c3300998f Merge topic 'short-object-names'
8180ecad9b autogen: support the `SHORT` intermediate dir strategy
f97d1bf7d8 Visual Studio: support shortened object filenames
a3a190c006 cmcmd: also forward rsp files in `.o` directories
3f33a5387a Makefiles: support shortened object filenames
b121adaa04 Makefiles: pass the target name to `cmake -E cmake_depends`
851e07fda3 Ninja: support short object directories
050f891d81 Tests: choose an explicit FULL strategy in tests expecting it
cce31527f8 Tests/ObjectLibrary: add shortened path tests
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10833
2025-07-30 11:36:21 -04:00
Matthew Woehlke b3873b8272 cmFindPackageStack: Allow controlled mutation
As mentioned in the previous commit, we would like to record additional
information in the find-package stack, but we don't have the information
at the point a stack entry is created. This necessitates making the
stack mutable. However, in order to restrict mutation, do not directly
expose the mutable value, and instead arrange for it to be accessible
only via cmFindPackageStackRAII (renamed and extracted from cmMakefile).
This ensures that mutation can only happen while the stack is being
built.
2025-07-30 11:01:14 -04:00
Brad King 63670ee246 Merge topic 'deb_uniform_compression'
57eed59f35 CPack/DEB: Use the same compression type for control tar

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10981
2025-07-30 10:31:37 -04:00
Brad King 188c2d2476 Merge topic 'export-dependencies-unwind'
92b403fc62 install(EXPORT): Use UNWIND_INCLUDE in exported find_dependency()
bba78d656e FindDependency: Split up macro to allow for no_return variant

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10968
2025-07-30 10:14:47 -04:00
Matthew Woehlke f2bdc2176f cmStack: New, mutable stack class
We would like to record additional information in the find-package
stack, but we don't have the information at the point a stack entry is
created. The most sane way to handle this appears to be making the stack
mutable, at least under specific circumstances. To facilitate this, we
need a mutable stack type.

Refactor cmConstStack into cmStack, with the ability to either allow or
forbid mutation of its data. Re-add cmConstStack as a type alias.

This doesn't yet allow mutating cmFindPackageStack, but it's a necessary
step toward being able to do so.
2025-07-30 10:11:36 -04:00
Kitware Robot 66bf4e95c9 CMake Nightly Date Stamp 2025-07-30 00:05:46 -04:00
kiwixz 57eed59f35 CPack/DEB: Use the same compression type for control tar
Uniform compression is the default since dpkg 1.19.0.
2025-07-29 20:32:48 +02:00
Brad King f4effce6a4 CMake 4.1.0-rc4 2025-07-29 10:17:43 -04:00
Ben Boeckel 8180ecad9b autogen: support the SHORT intermediate dir strategy 2025-07-29 09:44:03 -04:00