66581 Commits

Author SHA1 Message Date
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
Brad King
5e4526d6dd CMake 3.30.4 v3.30.4 2024-09-27 08:32:31 -04:00
Brad King
035ca0569e Merge topic 'project-vars' into release-3.30
73a8f944b2 Help: Add 3.30 release notes for project variable updates

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9853
2024-09-27 07:58:41 -04:00
Brad King
73a8f944b2 Help: Add 3.30 release notes for project variable updates
Add a 3.30.3 release note for commit c1ece78d11 (project: non cache
<project> prefix variables are also created, 2024-08-27, v3.30.3~2^2).
Prepare a 3.30.4 release note for commit 86ad7cc886 (project: Only
define non-cache vars if already defined, 2024-09-15).
2024-09-26 09:41:33 -04:00
Brad King
3c2605dece Merge topic 'project-vars' into release-3.30
86ad7cc886 project: Only define non-cache vars if already defined
4c152752da Help: State valid scopes for using proj_SOURCE_DIR and proj_BINARY_DIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9820
2024-09-23 14:13:56 -04:00
Craig Scott
86ad7cc886 project: Only define non-cache vars if already defined
In c1ece78d11 (project: non cache <project> prefix variables are
also created, 2024-08-27), we started explicitly setting the non-cache
variable for <projectName>_SOURCE_DIR, <projectName>_BINARY_DIR,
and <projectName>_IS_TOP_LEVEL in addition to setting them as
cache variables. This changed the behavior when a project name
was used more than once, and the second project call happens in
the same scope or a child scope of the first. Previously, the first
project call would set cache variables, and the second project call
would not overwrite those cache variables. With the change in
c1ece78d11, after the second project call the non-cache variables
would mask the cache variables and the project code would see
a different value to what it did before.

Setting the non-cache variable was added to handle the case where
a call to FetchContent_MakeAvailable() would set some non-cache
variables, and it just so happened those matched the same cache
variables that the project() command would set in the project being
fetched. The fetched project would then see a different set of
project-specific variables compared to when it was built standalone.

This commit here narrows the change from c1ece78d11 such that
the non-cache variable is only set by project() if there was already
a non-cache variable set. This still fixes the motivating problem
c1ece78d11 was intended to solve, but it avoids changing the variable
values seen by a project that re-uses the same project name in related scopes.

Issue: #26243, #25714
Fixes: #26281
2024-09-20 10:33:25 -04:00
Craig Scott
4c152752da Help: State valid scopes for using proj_SOURCE_DIR and proj_BINARY_DIR
Issue: #25714
2024-09-20 10:33:25 -04:00
Brad King
6323fdc9cf Merge topic 'cpack-nuget-native' into release-3.30
c358872976 CPack/NuGet: Add native0.0 to build dependencies in groups

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9829
2024-09-20 10:05:52 -04:00
Brad King
304c47a7c1 Merge topic 'FindMatlab-mcr' into release-3.30
9ceca05e6b FindMatlab: Search mex and mx libraries for MCR
67e3c6b6eb FindMatlab: Cache whether MATLAB root contains MCR or MATLAB
b426ce1d04 FindMatlab: Add support for MCR distributions without mex.h
cd4782bac3 FindMatlab: Only consider versioned MCR subdirectory if it exists

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9831
2024-09-20 10:04:20 -04:00
Brad King
c544ad8725 Merge topic 'ci-xcode-16.0' into release-3.30
cc293b4963 ci: Run RunCMake.ExternalProject serially in macos-x86_64 Xcode job
26359076c8 gitlab-ci: update macOS jobs to use Xcode 16.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9830
2024-09-20 10:02:52 -04:00
Brad King
cc293b4963 ci: Run RunCMake.ExternalProject serially in macos-x86_64 Xcode job
Running tests concurrently makes the machine busy enough that the
`INACTIVITY_TIMEOUT` test cases timeout.  Run it serially.
2024-09-19 10:44:01 -04:00
Hermann von Kleist
9ceca05e6b FindMatlab: Search mex and mx libraries for MCR
Further changes:
- Better documentation of library availabilities
- Log each library location in debug mode

Fixes: #26306
2024-09-19 15:33:19 +02:00
Hermann von Kleist
67e3c6b6eb FindMatlab: Cache whether MATLAB root contains MCR or MATLAB
Fixes: #26306
2024-09-19 15:33:06 +02:00
Diego Dassie
c358872976 CPack/NuGet: Add native0.0 to build dependencies in groups
Add the `native0.0` framework to the list of allowed frameworks allowing
native (C/C++) NuGet packages. This extends commit 0f4d3664a9
(CPack/NuGet: Build dependencies in groups, 2024-06-01, v3.30.0-rc1~18^2).

Fixes: #26305
2024-09-19 08:21:38 +02:00
Hermann von Kleist
b426ce1d04 FindMatlab: Add support for MCR distributions without mex.h
Consider `matrix.h` in search for include dirs.

Fixes: #26306
2024-09-18 11:19:16 -04:00
Hermann von Kleist
cd4782bac3 FindMatlab: Only consider versioned MCR subdirectory if it exists
Issue: #26306
2024-09-18 11:16:03 -04:00
Brad King
26359076c8 gitlab-ci: update macOS jobs to use Xcode 16.0
The `XCTest` fails with Xcode 16.0.
Exclude it pending further investigation.

Issue: #26301
2024-09-17 14:35:26 -04:00
Brad King
d31f4b645b Merge topic 'FindPython-FIND_ABI' into release-3.30
f885b007b9 FindPython: ensure all ABI are searched by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Tested-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9819
2024-09-16 06:17:57 -04:00
Brad King
cca09318d4 Merge topic 'matlab-2024b' into release-3.30
20412181e9 FindMatlab: Add R2024b version map

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9813
2024-09-13 09:21:14 -04:00
Marc Chevrier
f885b007b9 FindPython: ensure all ABI are searched by default
Fixes: #26279
2024-09-12 19:22:40 +02:00
scivision
20412181e9 FindMatlab: Add R2024b version map 2024-09-12 12:34:00 -04:00