Commit Graph

2128 Commits (master)

Author SHA1 Message Date
Brad King b731398a1a curl: Set build options the way we need for CMake
Set options added by the update to curl 8.8.0.
2024-05-29 14:06:29 -04:00
Brad King 6badc712e1 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2024-05-22 (fd567d4f)
2024-05-29 14:04:11 -04:00
Brad King f336868146 curl: Update script to get curl 8.8.0 2024-05-29 13:59:31 -04:00
Brad King 374716a47a Merge topic 'execute_process-child-startup-info'
fa8c04b421 Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members
d98df689ab Merge branch 'libuv-win-process-no-extra-stdio'
a590382850 libuv: win/spawn: disable extra-file-descriptor support not needed by CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9541
2024-05-28 08:56:42 -04:00
Brad King d98df689ab Merge branch 'libuv-win-process-no-extra-stdio' 2024-05-22 14:58:43 -04:00
Brad King a590382850 libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
Upstream libuv supports passing file descriptors >= 3 to child processes
via `STARTUPINFOW` members reserved by the MSVC C run-time.  However,
some programs use `GetStartupInfoW` to initialize a `STARTUPINFOW`
structure to pass to `CreateProcessW` without clearing the reserved
members.  If we launch such programs with non-zero values in the
reserved members, the MSVC C run-time in *their* children may not
correctly associate the stdin/stdout/stderr streams' file descriptors
with the corresponding `HANDLE`s.

Patch our copy of libuv to avoid using the reserved members.  This
restores `execute_process` support for the above-described programs as
we had prior to commit 5420639a8d (cmExecuteProcessCommand: Replace
cmsysProcess with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8).
It also enables support for such programs when launched by `ctest`.

Fixes: #25996
Fixes: #25889
2024-05-22 14:58:06 -04:00
Brad King 1d8848c4ce Merge topic 'FindOpenMP-runtime-msvc'
b07c637e42 FindOpenMP: Add option to control OpenMP runtime with MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9475
2024-05-02 09:34:29 -04:00
Axel Huebl b07c637e42 FindOpenMP: Add option to control OpenMP runtime with MSVC
The MSVC compiler's `-openmp` flag accepts `:{experimental,llvm}`
values.  Add an option to specify one.

Closes: #25570
2024-05-01 08:25:14 -04:00
Brad King 7f9817b7cb Remove unnecessary executable permission from .ps1 scripts
Powershell scripts cannot be launched as commands on Windows.
They must be run through the `powershell` or `pwsh` tool.
2024-04-30 09:33:44 -04:00
Brad King 21ef873660 clang-tidy module: Update to build against LLVM/Clang 18 2024-04-24 16:43:00 -04:00
Brad King dc7fceb200 Utilities/Sphinx: Ignore warning in generated texinfo documentation 2024-04-24 16:42:59 -04:00
Brad King 9f399e741c curl: Set build options the way we need for CMake
Set options added by the update to curl 8.7.1.
2024-04-05 15:50:32 -04:00
Brad King 7fef14d8e0 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2024-03-27 (de7b3e89)
2024-04-05 12:59:16 -04:00
Brad King 7ceb6e6c0b curl: Update script to get curl 8.7.1 2024-04-05 12:54:37 -04:00
Brad King c09126cb5b Merge topic 'libuv-macos-posix-poll'
f54ec4e7f9 libuv: macos: use posix poll instead of kqueue
af330faaf1 libuv: darwin: group kqueue-specific definitions together
0db6402687 libuv: process: de-duplicate conditions for using kqueue

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9392
2024-04-01 11:04:03 -04:00
Brad King f54ec4e7f9 libuv: macos: use posix poll instead of kqueue
Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess
with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8) we've observed
spurious process hangs in `uv__io_poll` waiting for `kqueue` to deliver
events on macOS.

Issue: #25839
2024-04-01 09:56:50 -04:00
Brad King af330faaf1 libuv: darwin: group kqueue-specific definitions together 2024-04-01 09:55:49 -04:00
Brad King 0db6402687 libuv: process: de-duplicate conditions for using kqueue
Its platform-specific headers provide a dedicated indicator.

Backport libuv PR 4378.
2024-04-01 09:55:03 -04:00
Brad King 2e5330591d Utilities/Release/WiX: Modify PATH by default when installing on Windows
If the PATH modification choice has not been saved persistently by an
existing installation of CMake, default to modifying the system PATH
environment variable to make our command-line tools available for all
users.  This is a common expectation.

Fixes: #21465
2024-03-29 09:32:27 -04:00
Brad King 32388821e2 Utilities/Release/WiX: Save PATH modification preference persistently
Our Windows installer provides an interactive dialog to choose whether
the PATH should be modified.  It may also be specified on the `msiexec`
command-line as an `ADD_CMAKE_TO_PATH={0,1}` property.  Save the choice
persistently in the Windows Registry and use the same choice by default
in future installations.

Issue: #21465
2024-03-29 09:32:27 -04:00
Brad King 7bd68cf381 Utilities/Release/WiX: Convert PATH modification preference to checkbox
Add explicit support for passing a `ADD_CMAKE_TO_PATH={0,1}` property to
`msiexec` command-line installations to control the checkbox.  Also
preserve compatibility with the old `ADD_CMAKE_TO_PATH={None,System}`
property, which previously controlled the radio button group, by mapping
the values to the checkbox.

Remove the "Add CMake to the system PATH for the current user" option.
It actually added CMake to the installing user's PATH, not the system
PATH, even though CMake is installed to a system location.

Also revise the wording of the desktop shortcut checkbox to match
the style of the PATH checkbox wording.

Issue: #21465
2024-03-28 16:20:04 -04:00
Brad King d320c76257 Utilities/Release/WiX: Clarify UI options dialog name 2024-03-28 15:19:18 -04:00
Brad King cde0b7c131 Utilities/Release/WiX: Clarify UI dialog order 2024-03-28 15:19:18 -04:00
Brad King 48d2a7ac62 Utilities/Release/WiX: Backport UI dialog condition fix from WiX 3.11
See WiX issue 4737 and wix3 PR 284.
2024-03-28 15:19:17 -04:00
Brad King 36ae046ed1 Utilities/Release/WiX: Simplify desktop shortcut condition 2024-03-28 15:19:17 -04:00
Brad King 9e831a6211 Utilities/Release/WiX: Simplify specification of CMake registry value 2024-03-28 15:19:17 -04:00
Brad King 68e9454abe Utilities/Release/WiX: Require Windows Installer 5.0
This version comes with Windows 7, the oldest our binaries support.
2024-03-28 15:19:17 -04:00
Brad King e6f1dd3106 Merge topic 'libuv-macos-10.5'
e3e2ef1964 libuv: Avoid posix_spawn on macOS < 10.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9371
2024-03-26 09:06:21 -04:00
Brad King 8b832b353c Merge topic 'libuv-macos-10.5' into release-3.29
e3e2ef1964 libuv: Avoid posix_spawn on macOS < 10.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9371
2024-03-26 09:06:20 -04:00
Brad King e3e2ef1964 libuv: Avoid posix_spawn on macOS < 10.8
Since libuv commit `83efa3dd71` (Reland "macos: use posix_spawn instead
of fork", 2022-03-02, v1.44.0~10), `uv_spawn` on macOS < 10.8
has been observed to cause kernel panics and/or resource exhaustion.
This became particularly noticeable in CMake since commit 5420639a8d
(cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChain,
2023-06-01, v3.28.0-rc1~138^2~8).  Prefer `fork` over `posix_spawn` in
libuv when targeting macOS < 10.8.

Fixes: #25414
Fixes: #25818
Inspired-by: Ken Cunningham <kencu@macports.org>
2024-03-25 12:11:57 -04:00
Brad King caad68ac97 Merge topic 'ci-wix'
b024732b19 ci: Explicitly enable CPackWiXGenerator test only in specific jobs
bb261818f4 ci: Explicitly build WiX custom action in packaging jobs
ac5aa7f1bf ci: Explicitly specify WiX architecture in packaging jobs
c1616c98bf ci: Move job settings away from unrelated comment
beecda4ddd Utilities/Release: Replace tabs with spaces in WiX input files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9330
2024-03-12 08:52:26 -04:00
Brad King bb261818f4 ci: Explicitly build WiX custom action in packaging jobs
Drop the environment-based heuristic.
2024-03-11 11:59:19 -04:00
Brad King beecda4ddd Utilities/Release: Replace tabs with spaces in WiX input files 2024-03-11 11:59:17 -04:00
Brad King 8584f6dd15 Merge branch 'upstream-zlib' into update-zlib
* upstream-zlib:
  zlib 2024-01-22 (51b7f2ab)
2024-03-11 09:57:46 -04:00
Brad King e0672cefb1 zlib: Update script to get zlib 1.3.1
Issue: #25755
2024-03-11 09:52:22 -04:00
Kyle Edwards 4d3331c63c
cmzstd: Explicitly disable ASM
Our vendored zstd does not include the assembly language file from
upstream (huf_decompress_amd64.S), so it's fine to completely disable
assembly language.

Fixes: #25744
2024-03-08 14:35:49 -05:00
Brad King 11a3d4fce4 Merge topic 'update-zstd'
9365455c78 zstd: Fix compilation with Oracle Studio compiler on Solaris
2ee2aa7074 zstd: Suppress clang-analyzer warnings
3db63973b3 Merge branch 'upstream-zstd' into update-zstd
cd0b9e547a zstd 2023-04-04 (63779c79)
fb82a882f6 zstd: Update script to get zstd 1.5.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9253
2024-02-16 09:51:12 -05:00
Brad King eeb315f772 Merge topic 'librhash-glibc-version'
e14300816b librhash: aligned_alloc is not available with glibc < 2.15

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9255
2024-02-15 12:53:15 -05:00
Brad King 9365455c78 zstd: Fix compilation with Oracle Studio compiler on Solaris
The compiler does not have `<stdalign.h>`, but does have `_Alignof`:

* https://docs.oracle.com/cd/E77782_01/html/E77788/gnxfh.html#OSSCGgnyfx
2024-02-15 08:56:03 -05:00
Brad King 2ee2aa7074 zstd: Suppress clang-analyzer warnings 2024-02-15 08:43:12 -05:00
Brad King e14300816b librhash: aligned_alloc is not available with glibc < 2.15 2024-02-14 09:47:47 -05:00
Brad King 3db63973b3 Merge branch 'upstream-zstd' into update-zstd
* upstream-zstd:
  zstd 2023-04-04 (63779c79)
2024-02-14 09:16:09 -05:00
Brad King fb82a882f6 zstd: Update script to get zstd 1.5.5 2024-02-14 09:10:08 -05:00
Brad King a67d9b5c07 Merge topic 'libuv-1.48'
077a1d5769 libuv: win/spawn: optionally run executable paths with no file extension
f02ac51150 libuv: Revert "win/spawn: run executables with no file extension"
58a271e60b cmUVProcessChain: Implement no-extension-on-Windows support with libuv 1.48

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9238
2024-02-09 08:58:46 -05:00
Brad King de66a70b73 Merge topic 'libuv-1.48' into release-3.29
077a1d5769 libuv: win/spawn: optionally run executable paths with no file extension
f02ac51150 libuv: Revert "win/spawn: run executables with no file extension"
58a271e60b cmUVProcessChain: Implement no-extension-on-Windows support with libuv 1.48

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9238
2024-02-09 08:58:44 -05:00
Brad King 077a1d5769 libuv: win/spawn: optionally run executable paths with no file extension
Backport libuv commit `3f7191e5` (win/spawn: optionally run executable
paths with no file extension, 2024-02-05, v1.48.0~8) to add the
`UV_PROCESS_WINDOWS_FILE_PATH_EXACT_NAME` option we now use.

Issue: #25450
2024-02-08 17:00:47 -05:00
Brad King f02ac51150 libuv: Revert "win/spawn: run executables with no file extension"
This reverts commit fc6231bee5 (libuv: win/spawn: run executables with
no file extension, 2023-12-04, v3.28.0~9^2) to make room for the
corresponding fix from upstream libuv 1.48.

Record this as a merge from the last-imported upstream libuv snapshot
branch so that future `git blame` points to the upstream for the
original code instead of this commit.

Issue: #25450
2024-02-08 16:47:06 -05:00
Brad King ba6f3f25ee Configure CMake itself with policies through CMake 3.28 2024-02-06 17:07:16 -05:00
Brad King e28ea90c1b Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2024-01-31 (5ce164e0)
2024-01-31 10:02:45 -05:00
Brad King 692463d271 curl: Update script to get curl 8.6.0 2024-01-31 10:01:53 -05:00