Commit Graph

64694 Commits

Author SHA1 Message Date
Brad King
96010cc968 Ensure stdin, stdout, stderr FILE streams are open on Windows
Extend commit c85524a94a (Ensure stdin, stdout, and stderr pipes are always
open, 2019-05-02, v3.15.0-rc1~171^2) to cover the `stdin`, `stdout`, and
`stderr` FILE streams from `<stdio.h>`.

Issue: #25625
2024-01-25 12:42:12 -05:00
Brad King
8533a8505c Merge branch 'release-3.28' 2024-01-25 10:56:36 -05:00
Brad King
2cdf47ee41 Merge topic 'revert-replace-cmsysprocess-with-cmuvprocesschain' with -s ours
Use the `-s ours` merge strategy to avoid actually reverting the
original changes inpost-3.28 development.

bcbb212df7 Revert use of libuv for process execution for 3.28

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9176
2024-01-25 10:56:25 -05:00
Brad King
151601c2e3 Merge topic 'revert-replace-cmsysprocess-with-cmuvprocesschain' into release-3.28
bcbb212df7 Revert use of libuv for process execution for 3.28

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9176
2024-01-25 10:53:04 -05:00
Brad King
3ff29f9f5e Merge branch 'release-3.28' 2024-01-25 10:40:02 -05:00
Brad King
b11c8c45f9 Merge topic 'cmuvprocesschain'
adb3e13d32 cmUVProcessChain: Tolerate fileno() of invalid FILE stream
b6e4e4babc cmUVProcessChain: Simplify SetExternalStream usage
116bb2b70f cmUVProcessChain: Simplify builder initialization
d32c30906a Tests: Add missing include in testUVProcessChainHelper on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9181
2024-01-25 10:40:02 -05:00
Brad King
23747f7056 Merge topic 'cmuvprocesschain' into release-3.28
adb3e13d32 cmUVProcessChain: Tolerate fileno() of invalid FILE stream
b6e4e4babc cmUVProcessChain: Simplify SetExternalStream usage
116bb2b70f cmUVProcessChain: Simplify builder initialization
d32c30906a Tests: Add missing include in testUVProcessChainHelper on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9181
2024-01-25 10:40:00 -05:00
Brad King
4c4cd1246e Merge topic 'cpack-wix-msi-status'
3ed275bbb6 CPack/WiX: Fix installer status text

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9182
2024-01-25 10:33:12 -05:00
Brad King
c923b8a3e2 Merge topic 'IntelLLVM-isystem-flag'
8218aed118 IntelLLVM: support marking include paths as SYSTEM directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8722
2024-01-25 10:16:54 -05:00
Brad King
35246ed9c4 Merge topic 'swift-windows'
b2129a14f4 Tests: Fix SwiftMix tests' runtime library selection on Windows
4f49f7fc0b Tests: Fix SwiftOnly test on Windows
2dec0c0308 Tests: Fix RunCMake.Swift expected output on Windows
79f1f509b1 Tests: Fix RunCMake.Swift's build output checks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jeremy Day <jadaytime@gmail.com>
Merge-request: !9169
2024-01-25 10:15:28 -05:00
Kitware Robot
a8f0e34790 CMake Nightly Date Stamp 2024-01-25 00:01:07 -05:00
Brad King
bcbb212df7 Revert use of libuv for process execution for 3.28
Wide use of CMake 3.28.{1,0[-rcN]} has uncovered some hangs and crashes
in libuv SIGCHLD handling on some platforms, particularly in virtualization
environments on macOS hosts.  Although the bug does not seem to be in CMake,
we can restore stability in the CMake 3.28 release series for users of such
platforms by reverting our new uses of libuv for process execution.

Revert implementation changes merged by commit 4771544386 (Merge topic
'replace-cmsysprocess-with-cmuvprocesschain', 2023-09-06, v3.28.0-rc1~138),
but keep test suite updates.

Issue: #25414, #25500, #25562, #25589
2024-01-24 17:10:00 -05:00
Brad King
adb3e13d32 cmUVProcessChain: Tolerate fileno() of invalid FILE stream
On Windows, in a GUI process without a console, the `std{in,out,err}`
standard FILE streams may not be open.  Avoid passing an invalid file
descriptor to the child process, and let libuv attach NUL instead.

Fixes: #25625
2024-01-24 16:59:49 -05:00
Brad King
b6e4e4babc cmUVProcessChain: Simplify SetExternalStream usage
It is commonly called with the `fileno()` of a `FILE*` stream,
so accept the latter directly.
2024-01-24 16:59:49 -05:00
Brad King
116bb2b70f cmUVProcessChain: Simplify builder initialization 2024-01-24 16:59:49 -05:00
Brad King
d32c30906a Tests: Add missing include in testUVProcessChainHelper on Windows
We use `STATUS_ACCESS_VIOLATION` from `windows.h`.
2024-01-24 16:59:23 -05:00
Brad King
3ed275bbb6 CPack/WiX: Fix installer status text
Previously, installers displayed extra text on some Windows versions:

    File: [1], Directory: [9], Size [6]

Add an option to our WiX templates to suppress that.

Fixes: #25634
2024-01-24 15:28:13 -05:00
Brad King
b2129a14f4 Tests: Fix SwiftMix tests' runtime library selection on Windows
Swift on Windows provides only a release runtime.
Use it for C and CXX too, in all configurations, to match.

Issue: #25573
Suggested-by: Saleem Abdulrasool <compnerd@compnerd.org>
2024-01-24 14:44:40 -05:00
Evan Wilde
4f49f7fc0b Tests: Fix SwiftOnly test on Windows
Add public symbols to SubA and SubB.  The test was broken due to a
broken build graph.  The build graph expects libraries to emit the
`.lib` file.  `link.exe` only emits the implib if the library exports at
least one symbol. Because these two libraries were empty, nothing was
generated.

Fixing by adding a public symbol to both libraries.

Issue: #25573
2024-01-24 14:43:21 -05:00
Evan Wilde
2dec0c0308 Tests: Fix RunCMake.Swift expected output on Windows
Artifact file extensions differ.

Issue: #25573
2024-01-24 14:42:52 -05:00
Brad King
79f1f509b1 Tests: Fix RunCMake.Swift's build output checks 2024-01-24 14:41:35 -05:00
Ben Boeckel
8218aed118 IntelLLVM: support marking include paths as SYSTEM directories
Also learn how to suppress warnings when possible.

See: https://discourse.cmake.org/t/icx-on-windows-supports-external-i/8739
2024-01-24 14:21:05 -05:00
Brad King
ad50700038 Merge topic 'cpack-rpm-threads'
453742ae88 CPack/RPM: Enable rpm threads during package generation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9178
2024-01-24 08:39:54 -05:00
Brad King
73b76563fb Merge topic 'validate_read-only_target_properties'
0cfd8fe8ad cmTarget: Don't allow setting read-only properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9133
2024-01-24 08:39:09 -05:00
Kitware Robot
31cdde5ce8 CMake Nightly Date Stamp 2024-01-24 00:01:18 -05:00
Brad King
0a7e4a06cc Merge branch 'release-3.28' 2024-01-23 14:57:08 -05:00
Brad King
e855c7a4de Merge topic 'FindMatlab-docs'
b8665d44ba FindMatlab: Fix error message from function
44d2cf3ed4 FindMatlab: Document all registry paths for version lookup
363a7d4693 FindMatlab: matlab_get_release_name_from_version is a function now

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9175
2024-01-23 14:57:08 -05:00
Brad King
30c067e24a Merge topic 'FindMatlab-docs' into release-3.28
b8665d44ba FindMatlab: Fix error message from function
44d2cf3ed4 FindMatlab: Document all registry paths for version lookup
363a7d4693 FindMatlab: matlab_get_release_name_from_version is a function now

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9175
2024-01-23 14:57:07 -05:00
Brad King
4571ce5f1a Merge topic 'cuda-clang-windows'
88c740462c CUDA/Clang: Add support for MSVC ABI on Windows using GNU-like frontend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !9172
2024-01-23 14:56:16 -05:00
Elijah Zarezky
453742ae88 CPack/RPM: Enable rpm threads during package generation
Previously, `w7.xzdio` only used a single CPU core.
Honor `CPACK_THREADS`: `w7T${CPACK_THREADS}.xzdio` uses the specified
number of threads. `w7T.xzdio` uses all available CPU cores.

Fixes: #25615
2024-01-23 12:10:35 -05:00
Robert Maynard
0cfd8fe8ad cmTarget: Don't allow setting read-only properties
Ensure that all documented read-only target properties now produce
errors when trying to set.
2024-01-23 08:50:38 -05:00
Kitware Robot
77dc558d1e CMake Nightly Date Stamp 2024-01-23 00:01:12 -05:00
Brad King
88c740462c CUDA/Clang: Add support for MSVC ABI on Windows using GNU-like frontend
Fixes: #20776
2024-01-22 09:33:54 -05:00
Hermann von Kleist
b8665d44ba FindMatlab: Fix error message from function 2024-01-22 09:29:57 -05:00
Hermann von Kleist
44d2cf3ed4 FindMatlab: Document all registry paths for version lookup 2024-01-22 09:29:09 -05:00
Hermann von Kleist
363a7d4693 FindMatlab: matlab_get_release_name_from_version is a function now 2024-01-22 09:28:04 -05:00
Brad King
5d1e689e68 Merge topic 'find_library-msvc-libfoo.a'
c6efbd78d8 MSVC: Teach find_library to consider the 'libfoo.a' naming convention

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9173
2024-01-22 09:19:09 -05:00
Brad King
5f415b9b15 Merge topic 'FindMPI.IntelLLVM'
5e700411d2 FindMPI: add IntelLLVM MPI wrappers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9170
2024-01-22 09:18:28 -05:00
Kitware Robot
71d1322d27 CMake Nightly Date Stamp 2024-01-22 00:01:18 -05:00
Kitware Robot
492d90380e CMake Nightly Date Stamp 2024-01-21 00:01:06 -05:00
Kitware Robot
c0247376c6 CMake Nightly Date Stamp 2024-01-20 00:01:07 -05:00
Brad King
c6efbd78d8 MSVC: Teach find_library to consider the 'libfoo.a' naming convention
When targeting the GNU ABI, we consider `.a` libraries first but also
accept `.lib`.  For symmetry, when targeting the MSVC ABI, we now
consider `.lib` first but also accept `.a`.

This adds support for meson-generated static libraries, which are named
with the pattern `lib${foo}.a`:

* https://mesonbuild.com/FAQ.html#why-does-building-my-project-with-msvc-output-static-libraries-called-libfooa

Note that this was previously attempted by

* commit be848a71b0 (MSVC: Teach find_library to consider the 'libfoo.a'
                     naming convention, 2022-09-19, v3.25.0-rc1~111^2)

but was reverted by

* commit 955d6245c1 (MSVC: Revert "Teach find_library to consider the
                     'libfoo.a' naming convention", 2022-11-28, v3.25.1~6^2)

due to problems finding GNU ABI libraries in PATH-derived prefixes.
Since then,

* commit 0a81110b84 (find_(library|file|path): Drop PATH-derived search
                     prefixes, 2023-09-14, v3.28.0-rc1~91^2)

removed the problematic search paths, so we can restore this change.

Fixes: #23975
2024-01-19 17:12:36 -05:00
Eisuke Kawashima
5e700411d2 FindMPI: add IntelLLVM MPI wrappers
The Intel MPI library now provides `mpiicx`, `mpiicpx`, and `mpiifx`
wrappers, which respectively use `icx`, `icpx`, and `ifx` by default.
2024-01-19 15:30:10 -05:00
Brad King
62ca95518e Merge topic 'cuda-test-cleanup'
607d271b1f Tests: Do not expect nvToolsExt in CUDA 12 toolkit
5eb26fb943 Tests: Fix CudaOnly.Toolkit coverage of npp libs
af85fa7ac1 Tests: Remove unused dllexport markup from CudaOnly.DeviceLTO
d40bca5a8c Tests: Remove unused iostream from CUDA sources
a9bb2606c1 Tests: Fix condition adding nvcc-only flags in CudaOnly.SeparateCompilation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9167
2024-01-19 11:42:49 -05:00
Brad King
af076796c3 Merge topic 'cuda-clang-no-link-arch'
45d53bdb70 CUDA/Clang: Do not pass explicit architecture flags when linking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !9165
2024-01-19 11:40:38 -05:00
Brad King
7f42261d31 Merge topic 'doc-par'
434bd9c0ef Help: Document {CTEST,CMAKE_BUILD}_PARALLEL_LEVEL equivalent command-line

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9168
2024-01-19 11:04:02 -05:00
Brad King
d5cc1da1ca Merge topic 'matlab-env'
6f7d87b40d FindMatlab: use NAMES for find_*
9e97893147 FindMatlab: set MATLAB_ARCH per process call

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9161
2024-01-19 11:02:56 -05:00
Brad King
842f12a055 Merge branch 'release-3.28' 2024-01-19 10:56:09 -05:00
Brad King
f7139c3e4a Merge topic 'cuda-clang'
6251edc5a4 CUDA/Clang: Record architectures supported by Clang 16
07b7d0ceaa CUDA/Clang: Update architectures supported by CUDA 12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !9164
2024-01-19 10:56:08 -05:00
Brad King
663bc936e8 Merge topic 'cuda-clang' into release-3.28
6251edc5a4 CUDA/Clang: Record architectures supported by Clang 16
07b7d0ceaa CUDA/Clang: Update architectures supported by CUDA 12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !9164
2024-01-19 10:56:07 -05:00