Commit Graph

66601 Commits

Author SHA1 Message Date
Brad King
ff2004d430 Tests: Extend CustomTransitiveProperties with non-transitive LINK_LIBRARIES 2025-02-23 08:26:45 -05:00
Brad King
d7f1a100d9 Tests: Split CustomTransitiveProperties argument checks into helper 2025-02-23 08:25:32 -05:00
Brad King
99fee5720d cmGeneratorExpressionDAGChecker: De-duplicate constructor signature 2025-02-22 08:46:44 -05:00
Brad King
82151ea289 cmGeneratorExpressionDAGChecker: Construct with initializer list syntax 2025-02-22 08:33:20 -05:00
Brad King
67e551c414 Merge branch 'release-3.29' into release-3.30 2025-02-07 09:46:32 -05:00
Brad King
d5ab13e5d1 Merge topic 'ticlang-uppercase-arm-architecture' into release-3.30
3fa159dd57 TIClang: Make ARM architecture id uppercase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10302
2025-02-07 09:45:59 -05:00
Brad King
340bdd1da9 Merge topic 'ticlang-uppercase-arm-architecture' into release-3.29
3fa159dd57 TIClang: Make ARM architecture id uppercase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10302
2025-02-07 09:45:11 -05:00
Josef Angstenberger
3fa159dd57 TIClang: Make ARM architecture id uppercase
The initial compiler support implemented in commit 9ba0a54554 (TIClang:
Add support for TI Clang-based compilers, including tiarmclang,
2023-12-06) introduced `Arm` as architecture instead of `ARM` which is
used for all other compilers.
2025-02-07 09:29:32 -05:00
Brad King
d437178a10 CMake 3.30.7 v3.30.7 2025-01-23 09:59:38 -05:00
Brad King
90b640ebdc Merge topic 'AutoExport-vftable' into release-3.30
41ff2916f2 WINDOWS_EXPORT_ALL_SYMBOLS: Fix vftable symbol export on ARM64EC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10187
2025-01-20 14:15:28 -05:00
Brad King
41ff2916f2 WINDOWS_EXPORT_ALL_SYMBOLS: Fix vftable symbol export on ARM64EC
Extend commit f513781bc5 (WINDOWS_EXPORT_ALL_SYMBOLS: Export vftable
symbol, 2023-02-13, v3.27.0-rc1~495^2) to classify the symbol as data
on ARM64EC.

Fixes: #26604
2025-01-17 08:46:15 -05:00
Brad King
21109753dc Merge topic 'FindMatlab-doc' into release-3.30
6e21dcc0ee FindMatlab: Fix multi-signature function documentation anchors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10186
2025-01-17 08:10:49 -05:00
Brad King
f02f3ae72d Merge topic 'test-ninja-1.13' into release-3.30
24f0848836 Tests: Update expected results for ninja post-1.12 development

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10182
2025-01-17 08:06:41 -05:00
Brad King
6e21dcc0ee FindMatlab: Fix multi-signature function documentation anchors
Fix use of the `signature::` directive by commit ae558b9ad0 (FindMatlab:
Support REGISTRY_VIEW, 2024-02-08, v3.30.0-rc1~528^2).  The directive
was created for use inside `Help/command/*.rst` documents.  Using it
in module documentation requires explicit anchors.
2025-01-16 14:28:17 -05:00
Brad King
24f0848836 Tests: Update expected results for ninja post-1.12 development
Account for changes to upstream ninja:

* commit `5d93f2da28` (Add exit code to the failed target, 2024-12-03)
* commit `311bf93416` (Propagate jobs' exit codes to the ninja's exit code,
                       2024-12-03)
2025-01-16 08:14:25 -05:00
Brad King
ba86b3d841 Merge topic 'ctest-invalid-arg' into release-3.30
30dded462a Help: Add 3.30 release note for error on unknown arguments to ctest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10106
2024-12-17 10:35:26 -05:00
Brad King
30dded462a Help: Add 3.30 release note for error on unknown arguments to ctest
This was left out of commit 304396d13c (ctest: Show error on invalid
ctest arguments, 2024-04-03, v3.30.0-rc1~286^2).

Fixes: #26539
2024-12-17 10:32:05 -05:00
Brad King
e80d42cf6b Merge topic 'iface-public-modules' into release-3.30
854eba0c53 target_sources: Improve error message for CXX_MODULES on INTERFACE libraries
cd179e7560 Tests/RunCMake/CXXModules: Rename FileSetModules cases to be more specific

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10090
2024-12-12 09:12:25 -05:00
Brad King
854eba0c53 target_sources: Improve error message for CXX_MODULES on INTERFACE libraries
We support non-compiled `SOURCES` on `INTERFACE` libraries, and also
support `CXX_MODULES` on *imported* `INTERFACE` libraries (via synthetic
targets that compile module interface units).  However, we do not
support `CXX_MODULES` on non-imported `INTERFACE` libraries because
there is no place to hold module interface unit's object files for their
module initializers.  Previously this was not explicitly rejected, and
so was diagnosed only by "CMake Internal Error" messages due to
assumption violations in the implementation.

Fixes: #26524
Co-authored-by: Ben Boeckel <ben.boeckel@kitware.com>
2024-12-11 12:34:29 -05:00
Brad King
cd179e7560 Tests/RunCMake/CXXModules: Rename FileSetModules cases to be more specific
They all add `CXX_MODULES` to `STATIC` libraries.
2024-12-11 12:20:45 -05:00
Brad King
817707b904 CMake 3.30.6 v3.30.6 2024-11-21 09:18:01 -05:00
Brad King
66817bd07d Merge branch 'release-3.29' into release-3.30 2024-11-21 09:11:40 -05:00
Brad King
b47368e425 CMake 3.29.9 v3.29.9 2024-11-21 08:34:26 -05:00
Brad King
b669ffe508 Merge branch 'release-3.29' into release-3.30 2024-11-20 11:15:54 -05:00
Brad King
8b410dd156 Merge topic 'execute_process-OUTPUT_FILE-cloexec' into release-3.30
60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10014
2024-11-20 11:15:25 -05:00
Brad King
2ef3bc896b Merge topic 'execute_process-OUTPUT_FILE-cloexec' into release-3.29
60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10014
2024-11-20 11:14:51 -05:00
Brad King
60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors
Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess
with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8), the descriptors
for the `OUTPUT_FILE` and `ERROR_FILE` leak to child processes.

With `ExternalProject` + `INSTALL_COMMAND` + `LOG_INSTALL`, the logging
wrapper script leaks the log files' descriptors to the native build
tool.  If they happen to match the `make` job server's pipe fds, e.g.,
with GNU `make` <= 4.3, then the build fails with an error like:

    gmake[4]: *** read jobs pipe: Bad file descriptor.  Stop.

Fixes: #26398
2024-11-20 06:16:11 -05:00
Brad King
e097ae6478 Merge topic 'FindBoost-1.86' into release-3.30
f941fb6c0b FindBoost: Add support for Boost 1.86

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9988
2024-11-12 10:12:20 -05:00
Brad King
f941fb6c0b FindBoost: Add support for Boost 1.86
Update the list of known versions.

Run the command

    cmake -DBOOST_DIR=/path/to/boost_1_86_0 \
      -P Utilities/Scripts/BoostScanDeps.cmake

to extract dependencies from the 1.86.0 source tree.
They are the same as 1.85's dependencies, so just update
the version check for warning about newer versions.

Fixes: #26433
2024-11-11 13:44:47 -05:00
Brad King
b7d5e6848d Merge topic 'ci-vcvarsall-fix' into release-3.30
c1ddff67f2 ci: use JSON to transfer environment variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9963
2024-11-01 09:09:02 -04:00
Brad King
e6be67d204 Merge topic 'ci-use-only-needs' into release-3.30
ea31d090c7 gitlab-ci: remove `dependencies` from jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9964
2024-11-01 09:04:47 -04:00
Ben Boeckel
ea31d090c7 gitlab-ci: remove dependencies from jobs
Historically, `needs` specifies the jobs which need to complete
successfully and `dependencies` specifies the jobs which provide
artifacts which should be used. Modern GitLab discourages using both as
`needs` now supports an `artifacts` key to say "depend on but do not use
artifacts", so remove `dependencies` and use `needs:artifacts` where
necessary.

See: https://docs.gitlab.com/ee/ci/yaml/#needsartifacts
2024-10-31 14:07:32 -04:00
Ben Boeckel
c1ddff67f2 ci: use JSON to transfer environment variables
The `set` command in `cmd` has terrible properties in that there's no
real structure to it. Sensitive sequences in values or variable names
that are escaping sequences can be interpreted at the wrong time or
things like newlines in values are not escaped at all and cause
ambiguities in parsing. Avoid all of that and use PowerShell to use JSON
as a communication mechanism.
2024-10-31 08:52:52 -04:00
Brad King
27a1fb055a Merge branch 'release-3.29' into release-3.30 2024-10-19 14:48:37 -04:00
Brad King
43bb255aaa Merge topic 'test-cuda-bin2c-null' into release-3.30
0c1d290090 Tests: Ensure CUDA bin2c output is null terminated

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9917
2024-10-19 14:48:15 -04:00
Brad King
d1d20ed397 Merge topic 'test-cuda-bin2c-null' into release-3.29
0c1d290090 Tests: Ensure CUDA bin2c output is null terminated

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9917
2024-10-19 14:47:34 -04:00
Robert Maynard
0c1d290090 Tests: Ensure CUDA bin2c output is null terminated
The default behavior of bin2c is to create binary arrays that have no
null termination.  So to use it as a C array we need to explicitly tell
it to create valid null terminated strings.

This will safely allow us to run PTX tests across all CUDA drivers.
2024-10-18 11:05:10 -04:00
Brad King
309b2eba1b Merge branch 'release-3.29' into release-3.30 2024-10-18 07:35:04 -04:00
Brad King
5b7a0f4ac6 Merge topic 'python3.14' into release-3.30
be958c8f35 FindPython: Add support for Python 3.14

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9915
2024-10-18 07:34:21 -04:00
Brad King
1415b3d641 Merge branch 'test-cuda-simplify-kernels' into release-3.30
ee9e2216ec Tests: Simplify CUDA kernels avoid crash with nvidia driver 550

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9913
2024-10-18 07:33:43 -04:00
Brad King
afc2d5b462 Merge topic 'test-cuda-simplify-kernels' into release-3.29
ee9e2216ec Tests: Simplify CUDA kernels avoid crash with nvidia driver 550

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9913
2024-10-18 07:32:53 -04:00
Robert Maynard
ee9e2216ec Tests: Simplify CUDA kernels avoid crash with nvidia driver 550
Avoid having two identical kernels in PTX.  We don't need a second
kernel anyway.
2024-10-17 20:18:24 -04:00
Miro Hrončok
be958c8f35 FindPython: Add support for Python 3.14 2024-10-17 20:04:25 -04:00
Brad King
a56b554775 Merge branch 'release-3.29' into release-3.30 2024-10-15 13:34:23 -04:00
Brad King
e3ebf4f5c0 Merge topic 'doc-rel-3.29' into release-3.30
0e81c12483 Help: Add 3.29 release note for try_compile LINKER_LANGUAGE option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9905
2024-10-15 13:34:08 -04:00
Brad King
cb981c3b00 Merge topic 'doc-rel-3.29' into release-3.29
0e81c12483 Help: Add 3.29 release note for try_compile LINKER_LANGUAGE option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9905
2024-10-15 13:33:47 -04:00
Brad King
0e81c12483 Help: Add 3.29 release note for try_compile LINKER_LANGUAGE option
In commit 0f37000304 (try_{compile,run}: add LINKER_LANGUAGE option,
2023-10-12, v3.29.0-rc1~567^2) a release note was accidentally added in
the wrong directory and so was not included in the 3.29 release notes.
2024-10-15 13:30:04 -04:00
Brad King
9c4a0a9ff0 CMake 3.30.5 v3.30.5 2024-10-08 08:56:04 -04:00
Brad King
f9324a73e0 Merge topic 'project-vars' into release-3.30
fa07ddfebf project: Only check non-cache vars when setting project vars

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9883
2024-10-08 08:45:24 -04:00
Craig Scott
fa07ddfebf project: Only check non-cache vars when setting project vars
The change in commit 86ad7cc886 (project: Only define non-cache vars if
already defined, 2024-09-15, v3.30.4~2^2) was meant to only check for
non-cache variables when deciding whether to set non-cache project
variables for the current call.  However, it erroneously checked for any
variable, including cache variables.  This gives the intended result on
the first run, but on subsequent runs a cache variable will exist that
did not on the first run, leading to different behavior between the two
runs.  Fix the logic to only check for a pre-existing non-cache
variable, as was originally intended.

Fixes: #26355
2024-10-07 10:24:37 -04:00