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