Commit Graph

69619 Commits

Author SHA1 Message Date
Brad King b4528858f8 Merge branch 'release-3.31' into release-4.0 2025-11-17 16:26:39 -05:00
Brad King ca626022f5 CMake 3.31.10 v3.31.10 2025-11-17 14:28:31 -05:00
Brad King e5bf8a6324 Merge branch 'release-3.31' into release-4.0 2025-11-14 09:30:53 -05:00
Brad King 16ffc77177 Merge topic 'ci-xcode-26.1' into release-4.0
cf10b47e57 ci: update macOS jobs to use Xcode 26.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11416
2025-11-14 09:30:44 -05:00
Brad King 04d8da5f19 Merge topic 'ci-xcode-26.1' into release-3.31
cf10b47e57 ci: update macOS jobs to use Xcode 26.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11416
2025-11-14 09:29:17 -05:00
Brad King cf10b47e57 ci: update macOS jobs to use Xcode 26.1 2025-11-13 13:55:08 -05:00
Brad King cfd54d02a5 Merge branch 'release-3.31' into release-4.0 2025-11-12 10:52:49 -05:00
Brad King b9a06e1bd1 Merge topic 'process-timeout-terminate' into release-4.0
3dc641d99c Merge branch 'backport-3.31-process-timeout-terminate'
22e84c7e7f execute_process: Restore termination of processes on timeout
e2cfc61e5e execute_process: Restore termination of processes on timeout (3.31)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11408
2025-11-12 10:52:05 -05:00
Brad King 5d73c4bc62 Merge topic 'backport-3.31-process-timeout-terminate' into release-3.31
e2cfc61e5e execute_process: Restore termination of processes on timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11408
2025-11-12 10:48:36 -05:00
Brad King 3dc641d99c Merge branch 'backport-3.31-process-timeout-terminate' 2025-11-11 10:03:15 -05:00
Brad King 22e84c7e7f execute_process: Restore termination of processes on timeout
Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess
with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8) we have not
actually terminated child processes on an `execute_process` timeout.
Similarly for other migrations from cmsysProcess to cmUVProcessChain.

Teach cmUVProcessChain clients that implement timeouts to actually
terminate remaining child processes when the timeout is reached.

Fixes: #27378
2025-11-11 09:10:29 -05:00
Brad King e2cfc61e5e execute_process: Restore termination of processes on timeout
Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess
with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8) we have not
actually terminated child processes on an `execute_process` timeout.
Similarly for other migrations from cmsysProcess to cmUVProcessChain.

Teach cmUVProcessChain clients that implement timeouts to actually
terminate remaining child processes when the timeout is reached.

Fixes: #27378
2025-11-11 09:06:49 -05:00
Brad King 63465e8858 Merge branch 'release-3.31' into release-4.0 2025-11-11 08:20:37 -05:00
Brad King 70848d79b9 Merge topic 'test-libarchive-3.8.2' into release-4.0
576117b7eb Tests: Update expected Zstandard magic number for libarchive 3.8.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11402
2025-11-11 08:20:20 -05:00
Brad King 7c28c08500 Merge topic 'test-libarchive-3.8.2' into release-3.31
576117b7eb Tests: Update expected Zstandard magic number for libarchive 3.8.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11402
2025-11-11 08:19:11 -05:00
Brad King 576117b7eb Tests: Update expected Zstandard magic number for libarchive 3.8.2
libarchive 3.8.2 enabled Zstandard's checksum feature in the zstd write
filter.  Update our tests' expected results accordingly.

Fixes: #27355
Reported-by: Funda Wang <fundawang@yeah.net>
2025-11-10 15:11:10 -05:00
Brad King e7bcf5e3a3 Merge branch 'release-3.31' into release-4.0 2025-11-10 14:00:15 -05:00
Brad King 253b2b8c7b Merge topic 'backport-3.31-cpack-rpm-weak-deps' into release-3.31
f357fc27e5 CPack: Backport "correctly perform querytags on old versions of RPM"
1803eda9f7 CPack/RPM: Backport "Fix detection of RPM support for weak dependencies"
d2404872b2 CPack/RPM: Backport "Remove redundant conditions for presence of rpmbuild"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11400
2025-11-10 13:53:43 -05:00
Brad King f357fc27e5 CPack: Backport "correctly perform querytags on old versions of RPM"
Backport commit 488de6294a (CPack: correctly perform querytags on old
versions of RPM, 2025-01-09, v4.0.0-rc1~182^2~3) to CMake 3.31.
2025-11-10 11:42:44 -05:00
Brad King 1803eda9f7 CPack/RPM: Backport "Fix detection of RPM support for weak dependencies"
Backport commit 283a48403f (CPack/RPM: Fix detection of RPM support for
weak dependencies, 2025-02-28, v4.0.0-rc3~8^2) to CMake 3.31.

Fixes: #27373
2025-11-10 11:40:49 -05:00
Brad King d2404872b2 CPack/RPM: Backport "Remove redundant conditions for presence of rpmbuild"
Backport commit ab4e74ad0b (CPack/RPM: Remove redundant conditions for
presence of rpmbuild, 2025-02-28, v4.0.0-rc3~8^2~1) to CMake 3.31.
2025-11-10 11:40:20 -05:00
Brad King f1f39347c2 Merge branch 'release-3.31' into release-4.0 2025-11-10 09:07:22 -05:00
Brad King 1ec4e64227 Merge topic 'process-timeout-short' into release-4.0
6ec2c51f0c execute_process: Restore support for short timeouts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11399
2025-11-10 09:06:55 -05:00
Brad King dd8c14e9e5 Merge topic 'process-timeout-short' into release-3.31
6ec2c51f0c execute_process: Restore support for short timeouts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11399
2025-11-10 09:00:43 -05:00
Brad King 6ec2c51f0c execute_process: Restore support for short timeouts
Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess
with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8) we've
occasionally observed immediate timeouts on processes that take longer
than the timeout to start, even though we only start the timer after the
child processes start.  The problem is that:

* `uv_loop_init` initializes `uv_loop_t`'s cached "now" time.
* Starting processes takes time but does not update the "now" time.
* `uv_timer_start` computes expiry relative the cached "now" time,
  so short timers may be expired as soon as they are started.
* `uv_run` invokes expired timer callbacks before polling for I/O
  or process completion, so we "timeout" immediately.

Fix this by updating the cached "now" time via `uv_update_time` just
before starting timers.  This is needed only for timers that start
before the `uv_run` event loop.  Update our `uv_timer_ptr` wrapper
to make all callers consider the choice when calling `start()`.
2025-11-09 09:13:43 -05:00
Brad King 1b97439d3e Merge branch 'release-3.31' into release-4.0 2025-10-27 09:25:09 -04:00
Brad King 0e2331fc51 Merge topic 'backport-4.0-xcode-macos-deployment-target' into release-4.0
884260ced6 Help: Add 4.0 release note for restored Xcode default deployment target
1a37c83c7e Xcode: Restore default CMAKE_OSX_DEPLOYMENT_TARGET to run on host
e927408047 Apple: Initialize deployment target after SDK

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11361
2025-10-27 09:09:22 -04:00
Brad King 9f6c47a2a2 Merge topic 'doc-3.31.9-typo' into release-4.0
d07cedf9b3 Help: Fix typo in 3.31.9 release note heading

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11362
2025-10-27 09:08:08 -04:00
Brad King e195639d33 Merge topic 'ci-macos-sdk' into release-4.0
baa8cab401 ci: Revert packaging to macOS 15.5 SDK to restore cmake-gui rendering
aa1a122514 ci: Add script to install macOS SDK version 15.5
b33a5366f4 ci: Add script to repackage macOS SDKs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11359
2025-10-27 09:07:58 -04:00
Brad King b4cdd8aab5 Merge topic 'doc-3.31.9-typo' into release-3.31
d07cedf9b3 Help: Fix typo in 3.31.9 release note heading

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11362
2025-10-27 09:06:53 -04:00
Brad King 0fba1500c3 Merge topic 'ci-macos-sdk' into release-3.31
baa8cab401 ci: Revert packaging to macOS 15.5 SDK to restore cmake-gui rendering
aa1a122514 ci: Add script to install macOS SDK version 15.5
b33a5366f4 ci: Add script to repackage macOS SDKs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11359
2025-10-27 09:06:25 -04:00
Brad King d07cedf9b3 Help: Fix typo in 3.31.9 release note heading 2025-10-26 14:06:25 -04:00
Brad King 884260ced6 Help: Add 4.0 release note for restored Xcode default deployment target 2025-10-26 11:19:19 -04:00
Brad King 1a37c83c7e Xcode: Restore default CMAKE_OSX_DEPLOYMENT_TARGET to run on host
Xcode by default targets the SDK's macOS version rather than the host's
macOS version.  In commit 7b19531291 (macOS: Do not pass any
SDK/-isysroot to compilers by default, 2024-11-06, v4.0.0-rc1~511^2) we
reverted commit 24aafbde11 (Xcode: Adjust deployment target SDK version
to host version, 2015-10-11, v3.4.0-rc2~6^2), but it is still needed for
Xcode.  Restore the behavior so binaries run on the host by default.

Fixes: #27309
2025-10-26 11:19:19 -04:00
Brad King e927408047 Apple: Initialize deployment target after SDK 2025-10-26 11:16:45 -04:00
Brad King baa8cab401 ci: Revert packaging to macOS 15.5 SDK to restore cmake-gui rendering
Since commit 965a12cb8a (ci: update macOS jobs to use Xcode 26.0,
2025-09-18, v4.1.2~9^2) and commit 9d302ecd47 (ci: update macOS jobs to
use Xcode 26.0 in CMake 3.31 branch, 2025-10-07) our macOS 10.13+
packages are built using the macOS 26 SDK, with which Qt 5.15.2 does not
render buttons in `cmake-gui` correctly.  Revert to an older macOS SDK
to avoid the problem until we update our Qt version.

Fixes: #27325
2025-10-25 20:57:13 -04:00
Brad King aa1a122514 ci: Add script to install macOS SDK version 15.5
With Xcode 16.4, run

    env SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk \
    .gitlab/ci/repackage/macos.sh

and host `MacOSX15.5.sdk.tar.bz2` ourselves.
2025-10-25 20:54:16 -04:00
Brad King b33a5366f4 ci: Add script to repackage macOS SDKs 2025-10-25 20:49:13 -04:00
Brad King a0e480ca89 Merge branch 'release-3.31' into release-4.0 2025-10-25 09:15:19 -04:00
Brad King 91525f6eb0 Merge topic 'FindPython-3.15' into release-4.0
7f628ea04b FindPython: Add support for Python 3.15
5b78983813 Tests/FindBoost/TestPython: Improve python version list formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11350
2025-10-25 09:15:04 -04:00
Brad King 9d2aa76bb7 Merge topic 'FindPython-3.15' into release-3.31
7f628ea04b FindPython: Add support for Python 3.15
5b78983813 Tests/FindBoost/TestPython: Improve python version list formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11350
2025-10-25 09:14:38 -04:00
Karolina Surma 7f628ea04b FindPython: Add support for Python 3.15 2025-10-24 17:42:44 -04:00
Brad King 5b78983813 Tests/FindBoost/TestPython: Improve python version list formatting 2025-10-24 17:42:44 -04:00
Brad King 9a2ee83045 Merge topic 'backport-4.0-cross-compile-macos' into release-4.0
61d0bdf6b7 macOS: Avoid relying on sw_vers when cross-compiling from another OS
d9d65ab54f macOS: Remove outdated condition for CMAKE_OSX_DEPLOYMENT_TARGET

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11340
2025-10-22 19:08:46 -04:00
Brad King 61d0bdf6b7 macOS: Avoid relying on sw_vers when cross-compiling from another OS
We have a few code paths needed only to support builds hosted on
macOS 10.4.  Update the conditions to work when cross-compiling
to macOS from another platform.

This backports commit eb8facd396 (macOS: Avoid relying on sw_vers
when cross-compiling from another OS, 2025-04-28, v4.1.0-rc1~260^2)
to CMake 4.0.

Fixes: #26814
2025-10-22 17:26:36 -04:00
Brad King d9d65ab54f macOS: Remove outdated condition for CMAKE_OSX_DEPLOYMENT_TARGET
Revert commit 2853326e7a (BUG: Only set CMAKE_OSX_DEPLOYMENT_TARGET on
Mac OSX 10.4 or later, 2009-01-27, v2.8.0~1169).  AFAIK no one is using
macOS versions older than 10.4 anymore.

This backports commit 476b2a386f (macOS: Remove outdated condition
for CMAKE_OSX_DEPLOYMENT_TARGET, 2025-04-28, v4.1.0-rc1~260^2~1)
to CMake 4.0.
2025-10-22 17:26:31 -04:00
Brad King 3a953fcfff Merge branch 'release-3.31' into release-4.0 2025-10-21 11:03:18 -04:00
Brad King 42b3b74bde Merge topic 'backport-3.31-ios-compiler-inspection' into release-4.0
636d3a7a2f Apple: Backport "Enable linking during iOS toolchain inspection" to 3.31

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11333
2025-10-21 11:02:39 -04:00
Brad King d83b2e8fe0 Merge topic 'backport-3.31-ios-compiler-inspection' into release-3.31
636d3a7a2f Apple: Backport "Enable linking during iOS toolchain inspection" to 3.31

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11333
2025-10-21 11:01:39 -04:00
Brad King 636d3a7a2f Apple: Backport "Enable linking during iOS toolchain inspection" to 3.31
Backport commit 79a83ddb08 (Apple: Enable linking during
iOS/tvOS/visionOS/watchOS toolchain inspection, 2024-11-14,
v4.0.0-rc1~471^2) to 3.31.

Since commit 11da882a12 (Apple: Introduce separate system name for iOS,
tvOS, and watchOS, 2018-01-15, v3.14.0-rc1~14^2~1) our toolchain
inspection steps, like ABI detection, tell `try_compile` to use a
`STATIC_LIBRARY` instead of an `EXECUTABLE`.  This was needed at the
time to avoid codesign requirements.  However, commit d3a64c4e3f (Xcode:
Explicitly turn off signing in try_compile projects, 2020-07-16,
v3.19.0-rc1~483^2) introduced a more general solution to that problem.
Restore linking during toolchain inspection so that we can detect and
identify the linker.

Suggested-by: Marc Chevrier <marc.chevrier@gmail.com>
Fixes: #26443
2025-10-21 09:22:41 -04:00