From b33a5366f444d64b32e5366ba4ef2ad58bc977e9 Mon Sep 17 00:00:00 2001 From: Brad King Date: Sat, 25 Oct 2025 20:10:43 -0400 Subject: [PATCH 1/3] ci: Add script to repackage macOS SDKs --- .gitlab/ci/repackage/macos.sh | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100755 .gitlab/ci/repackage/macos.sh diff --git a/.gitlab/ci/repackage/macos.sh b/.gitlab/ci/repackage/macos.sh new file mode 100755 index 0000000000..34990019b1 --- /dev/null +++ b/.gitlab/ci/repackage/macos.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -e + +sdkPath="$(xcrun --show-sdk-path)" +sdkVers="$(xcrun --show-sdk-version)" + +tar cjf "MacOSX${sdkVers}.sdk.tar.bz2" -C "${sdkPath%/*}" --no-fflags "MacOSX.sdk" From aa1a122514a630be9d6ef20a4dbc5e09707067e3 Mon Sep 17 00:00:00 2001 From: Brad King Date: Sat, 25 Oct 2025 20:54:16 -0400 Subject: [PATCH 2/3] 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. --- .gitlab/.gitignore | 1 + .gitlab/ci/macos-env.sh | 2 ++ .gitlab/ci/macos.sh | 28 ++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 .gitlab/ci/macos-env.sh create mode 100755 .gitlab/ci/macos.sh diff --git a/.gitlab/.gitignore b/.gitlab/.gitignore index ef38d5fd85..f66ad9743b 100644 --- a/.gitlab/.gitignore +++ b/.gitlab/.gitignore @@ -8,6 +8,7 @@ /innosetup /jom /llvm* +/MacOS* /mingw /msvc* /ninja* diff --git a/.gitlab/ci/macos-env.sh b/.gitlab/ci/macos-env.sh new file mode 100644 index 0000000000..1b8ad8e94e --- /dev/null +++ b/.gitlab/ci/macos-env.sh @@ -0,0 +1,2 @@ +.gitlab/ci/macos.sh +export SDKROOT="$PWD/.gitlab/MacOSX.sdk" diff --git a/.gitlab/ci/macos.sh b/.gitlab/ci/macos.sh new file mode 100755 index 0000000000..7e947a2df3 --- /dev/null +++ b/.gitlab/ci/macos.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +set -e + +# This URL is only visible inside of Kitware's network. +baseurl="https://cmake.org/files/dependencies/internal/macos" + +case "$(uname -s)-$(uname -m)" in + Darwin-*) + shatool="shasum -a 256" + sha256sum="427612880d6c40bcef2b0ecb39d92b057ee7a43ec3552fbd4449859991eb1cc6" + tarball="MacOSX15.5.sdk.tar.bz2" + ;; + *) + echo "Unrecognized platform $(uname -s)-$(uname -m)" + exit 1 + ;; +esac +readonly shatool +readonly sha256sum + +cd .gitlab + +echo "$sha256sum $tarball" > macos.sha256sum +curl -OL "$baseurl/$tarball" +$shatool --check macos.sha256sum +tar xjf "$tarball" +rm "$tarball" macos.sha256sum From baa8cab401605c37b5b7b897ab0160f7813c67bd Mon Sep 17 00:00:00 2001 From: Brad King Date: Sat, 25 Oct 2025 20:56:09 -0400 Subject: [PATCH 3/3] 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 --- .gitlab/ci/env_macos_package.sh | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitlab/ci/env_macos_package.sh diff --git a/.gitlab/ci/env_macos_package.sh b/.gitlab/ci/env_macos_package.sh new file mode 100644 index 0000000000..e810f63375 --- /dev/null +++ b/.gitlab/ci/env_macos_package.sh @@ -0,0 +1 @@ +. .gitlab/ci/macos-env.sh