65237 Commits

Author SHA1 Message Date
Brad King
b47368e425 CMake 3.29.9 v3.29.9 2024-11-21 08:34:26 -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
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
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
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
34215cc011 Merge topic 'librhash-glibc-version' into release-3.29
628a807730 librhash: aligned_alloc is not available with glibc < 2.16

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9804
2024-09-10 07:55:39 -04:00
Dilshod Mukhtarov
628a807730 librhash: aligned_alloc is not available with glibc < 2.16
Revise the version check from commit e14300816b (librhash: aligned_alloc
is not available with glibc < 2.15, 2024-02-14, v3.29.0-rc2~30^2).

Issue: #25679
2024-09-09 09:45:04 -04:00
Brad King
16fbb8c142 CMake 3.29.8 v3.29.8 2024-08-29 14:33:54 -04:00
Brad King
464719b35b Merge topic 'cppdap-gcc-15' into release-3.29
f742c298a0 cppdap: include/dap/network.h: add <stdint.h> include for GCC 15

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9713
2024-08-15 10:02:17 -04:00
Christoph Grüninger
f742c298a0 cppdap: include/dap/network.h: add <stdint.h> include for GCC 15
GCC 15 requires the include for the declaration of `uint32_t`.
Backport [cppdap PR 133](https://github.com/google/cppdap/pull/133).
2024-08-13 15:42:40 -04:00
Brad King
931dd7d3a5 Merge topic 'swift-install-names' into release-3.29
8669176576 Swift: Fix INSTALL_NAME_DIR under CMP0157 NEW behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9692
2024-08-02 09:48:49 -04:00
Evan Wilde
8669176576 Swift: Fix INSTALL_NAME_DIR under CMP0157 NEW behavior
Setting `CMAKE_INSTALL_NAME_DIR` or the `INSTALL_NAME_DIR` on Swift
targets had no effect when CMP0157 was set to `NEW`.  This was a result
of missing the `<TARGET_INSTALLNAME_DIR>` before the `<TARGET_SONAME>`.
Fix that and add a test to verify that the install name directory is
included in the install name.

Fixes: #26175
2024-08-01 10:49:36 -04:00
Brad King
651fa9e6ce Merge branch 'release-3.28' into release-3.29 2024-07-29 11:13:13 -04:00
Brad King
5f38057728 Merge topic 'backport-test-curl-output' into release-3.29
13fb20f4d3 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9690
2024-07-29 11:12:33 -04:00
Brad King
5b435c3672 Merge topic 'backport-test-curl-output' into release-3.28
13fb20f4d3 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9690
2024-07-29 11:11:47 -04:00
Brad King
13fb20f4d3 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9 2024-07-29 11:07:05 -04:00
Brad King
928571f3c2 CMake 3.29.7 v3.29.7 2024-07-16 13:14:29 -04:00
Brad King
ee6ff50cba Merge branch 'release-3.28' into release-3.29 2024-07-02 08:07:43 -04:00
Brad King
012bca3ccb Merge topic 'ctest-windows-std-handles' into release-3.28
e4d0169107 ctest: Fix spurious build failures with CTEST_USE_LAUNCHERS on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9598
2024-07-02 08:07:09 -04:00
Brad King
be53dcdda6 Merge topic 'vs-17.11' into release-3.29
dfe0f3f358 VS: Fix '-T version=14.4x' under VS 17.1x

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9622
2024-06-24 09:43:02 -04:00
Brad King
1deb543089 Merge topic 'libuv-macos-kqueue' into release-3.29
422c1de564 libuv: macos: restore use of kqueue instead of posix poll
7e3519e705 libuv: macos: reap child processes more reliably when using kqueue

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9619
2024-06-24 09:37:18 -04:00
Brad King
1c4c5ad545 Merge topic 'ctest-windows-std-handles' into release-3.29
e4d0169107 ctest: Fix spurious build failures with CTEST_USE_LAUNCHERS on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9598
2024-06-24 09:36:19 -04:00
Brad King
dfe0f3f358 VS: Fix '-T version=14.4x' under VS 17.1x
Starting with VS 17.10 the v143 toolset reserves versions `14.30`
through `14.49`.  This is the first time that the first three digits of
the version do not match the toolset name.  Extend the special case from
commit d256581bb0 (VS: Fix '-T version=14.40' under VS 17.10 preview 1,
2024-02-19, v3.29.0-rc2~10^2) to cover the entire reserved version range.
2024-06-24 08:47:33 -04:00
Brad King
422c1de564 libuv: macos: restore use of kqueue instead of posix poll
Revert commit f54ec4e7f9 (libuv: macos: use posix poll instead of
kqueue, 2024-03-31, v3.29.1~7^2) and its parent.  It is not necessary
after the kqueue-based implementation was fixed to reap child processes
more reliably.

Issue: #25839
2024-06-21 16:45:55 -04:00
Brad King
7e3519e705 libuv: macos: reap child processes more reliably when using kqueue
Backport libuv commit `42cc412c4a` (darwin,process: feed kevent the
signal to reap children, 2023-02-01, `v1.45.0~55`) from libuv PR 3893.

Fixes: #25839
2024-06-21 15:01:15 -04:00
Brad King
cdc901797a CMake 3.29.6 v3.29.6 2024-06-17 14:49:43 -04:00
Brad King
296fdc0df1 Merge topic 'vs-quote-semicolons' into release-3.29
9b672e8075 VS: Quote custom command arguments containing semicolons

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9597
2024-06-14 09:24:48 -04:00
Brad King
9b672e8075 VS: Quote custom command arguments containing semicolons
The `GoogleTest` module needs this to pass the `TEST_EXECUTOR`
definition to its `GoogleTestAddTests.cmake` helper script in
the `POST_BUILD` command since commit f875c479f5 (GoogleTest: Honor
TEST_LAUNCHER in gtest_discover_tests, 2024-01-17, v3.29.0-rc1~34^2).
Previously it worked only if other characters, such as spaces,
caused the argument to be quoted.  This was exposed by running the
`RunCMake.GoogleTest` test in a path without spaces.

Reported-by: Garrett Campbell <gcampbell@microsoft.com>
2024-06-14 08:24:21 -04:00
Brad King
e4d0169107 ctest: Fix spurious build failures with CTEST_USE_LAUNCHERS on Windows
Remove the stdio handle inheritance suppression originally added by
commit f262298bb0 (... do not inherit pipes in child procs for ctest so
it can kill them, 2007-09-11, v2.6.0~1136).  It's not clear what problem
it was trying to solve, was only done in `ctest` and not `cmake`, and
since commit 9c3ffe2474 (BUG: fix problem with stdout and stderr not
showing up in ms dos shells, 2007-09-25, v2.6.0~1066) has not been done
in `ctest` launched under interactive consoles.

Furthermore, the code has been spuriously breaking stdio when `ctest` is
started with both stdout and stderr connected to the same pipe, such as
when `ctest --launch` is used under `ninja`.  This is because it used
`DuplicateHandle` with `DUPLICATE_CLOSE_SOURCE` on the stdout handle and
then the stderr handle.  If the handles are the same, then the stderr
handle becomes invalid in between these operations, leading to
likely-undefined behavior.  Since commit 96b3dd329e
(cmCTestLaunchReporter: Replace cmsysProcess with cmUVProcessChain,
2023-07-26, v3.28.0-rc1~138^2~2) this became more noticeable because
`uv_spawn` performs additional verification on stdio handles.

This could be fixed by instead suppressing inheritance via

    SetHandleInformation(h, HANDLE_FLAG_INHERIT, 0);

However, the functionality no longer seems necessary, so remove it.
2024-06-14 07:32:29 -04:00
Brad King
7c6dcba646 Merge branch 'release-3.28' into release-3.29 2024-06-11 10:56:10 -04:00
Brad King
578ba81424 Merge topic 'clang-ansi-color' into release-3.29
1004cc2b52 Clang: Drop non-existent -fno-ansi-escape-codes flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9592
2024-06-11 10:55:59 -04:00
Brad King
63b12b7702 Merge topic 'clang-ansi-color' into release-3.28
1004cc2b52 Clang: Drop non-existent -fno-ansi-escape-codes flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9592
2024-06-11 10:55:18 -04:00
Brad King
1004cc2b52 Clang: Drop non-existent -fno-ansi-escape-codes flag
In commit 74b5fae52d (Clang: Use -fno-ansi-escape-codes for color
diagnostics on Windows, 2023-10-19, v3.28.0-rc3~3^2) we added the
positive option `-fansi-escape-codes` and the negative form of
the option, `-fno-ansi-escape-codes`.  According to the LLVM/Clang
documentation:

* https://releases.llvm.org/18.1.4/tools/clang/docs/UsersManual.html#cmdoption-fansi-escape-codes

only the positive form of the option exists.

Fixes: #26036
2024-06-10 09:23:41 -04:00
Brad King
facfba088f CMake 3.29.5 v3.29.5 2024-06-06 08:57:14 -04:00
Brad King
74e233e8f5 Merge topic 'backport-3.29-cpack-wix-scope-default' into release-3.29
0167089484 CPack/WiX: Restore default (missing) InstallScope from 3.28 and lower

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9586
2024-06-06 08:32:00 -04:00
Brad King
20d1f96dac Merge topic 'ctest-jobserver-fifo-hang' into release-3.29
ff077af032 ctest: Set close-on-exec for jobserver FIFO

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9580
2024-06-06 08:31:29 -04:00
Brad King
0167089484 CPack/WiX: Restore default (missing) InstallScope from 3.28 and lower
In commit 60661f6770 (CPack/WiX: Make InstallScope configurable,
2023-11-07, v3.29.0-rc1~413^2) the `CPACK_WIX_INSTALL_SCOPE` default was
set to `perMachine`.  While installers created with `perMachine` have
better behavior on their own than installers created without any
`InstallScope`, they do not cleanly convert existing installations on
updates.

Fixes: #26029
2024-06-05 13:47:36 -04:00
Joan Bruguera Micó
ff077af032 ctest: Set close-on-exec for jobserver FIFO
Set the close-on-exec flag to prevent the jobserver FIFO file
descriptor from leaking to subprocesses spawned by `ctest`.

This leak is usually harmless, but can cause `make test -jN` to hang
at the end of the build if a test leaves a background process running
with the jobserver FIFO file descriptor open.

Fixes: #26027
2024-06-05 09:37:05 -04:00
Brad King
efaa9efece CMake 3.29.4 v3.29.4 2024-06-03 14:28:41 -04:00
Brad King
5b1669d225 Merge branch 'release-3.28' into release-3.29 2024-06-03 14:16:47 -04:00
Brad King
9f72ac3644 CMake 3.28.6 v3.28.6 2024-06-03 13:35:26 -04:00
Brad King
f952513823 Merge topic 'msvc-v143-versions' into release-3.29
3873574f89 Help: Update MSVC_VERSION range for VS 17.10's MSVC 14.40 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9554
2024-05-30 10:00:53 -04:00
Brad King
3873574f89 Help: Update MSVC_VERSION range for VS 17.10's MSVC 14.40 toolset
According to this blog post:

* https://devblogs.microsoft.com/cppblog/msvc-toolset-minor-version-number-14-40-in-vs-2022-v17-10/

the 14.40 through 14.49 version range will be used by the v143 toolsets.

Fixes: #26015
2024-05-29 11:48:08 -04:00
Brad King
1885903a76 Merge branch 'release-3.28' into release-3.29 2024-05-29 08:30:48 -04:00
Brad King
f2ea85f516 Merge topic 'update-kwsys' into release-3.29
98dd754b62 KWSys: ConsoleBuf: Fix test case when running under Windows Terminal

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9553
2024-05-29 08:30:10 -04:00
Brad King
713bca2677 Merge topic 'backport-kwsys-ConsoleBuf-windows-terminal' into release-3.28
98dd754b62 KWSys: ConsoleBuf: Fix test case when running under Windows Terminal

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9553
2024-05-29 08:28:54 -04:00