From 6e5eef6082233632f925ac6eb3e4662bf07520d0 Mon Sep 17 00:00:00 2001 From: ebbit1q Date: Sat, 11 Oct 2025 00:50:48 +0200 Subject: [PATCH] format script "I just thinks it looks better like this" --- .ci/compile.sh | 37 ++++++++++++++++++----------- .github/workflows/desktop-build.yml | 4 ++-- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/.ci/compile.sh b/.ci/compile.sh index 0f5408d43..d5fdd90c3 100755 --- a/.ci/compile.sh +++ b/.ci/compile.sh @@ -11,6 +11,7 @@ # --debug or --release sets the build type ie CMAKE_BUILD_TYPE # --ccache [] uses ccache and shows stats, optionally provide size # --dir sets the name of the build dir, default is "build" +# --target-macos-version sets the min os version - only used for macOS builds # uses env: BUILDTYPE MAKE_INSTALL MAKE_PACKAGE PACKAGE_TYPE PACKAGE_SUFFIX MAKE_SERVER MAKE_TEST USE_CCACHE CCACHE_SIZE BUILD_DIR CMAKE_GENERATOR TARGET_MACOS_VERSION # (correspond to args: --debug/--release --install --package --suffix --server --test --ccache --dir ) # exitcode: 1 for failure, 3 for invalid arguments @@ -79,6 +80,15 @@ while [[ $# != 0 ]]; do BUILD_DIR="$1" shift ;; + '--target-macos-version') + shift + if [[ $# == 0 ]]; then + echo "::error file=$0::--target-macos-version expects an argument" + exit 3 + fi + TARGET_MACOS_VERSION="$1" + shift + ;; *) echo "::error file=$0::unrecognized option: $1" exit 3 @@ -141,28 +151,27 @@ function ccachestatsverbose() { if [[ $RUNNER_OS == macOS ]]; then if [[ $TARGET_MACOS_VERSION ]]; then # CMAKE_OSX_DEPLOYMENT_TARGET is a vanilla cmake flag needed to compile to target macOS version - flags+=("-DCMAKE_OSX_DEPLOYMENT_TARGET=${TARGET_MACOS_VERSION}") + flags+=("-DCMAKE_OSX_DEPLOYMENT_TARGET=$TARGET_MACOS_VERSION") # vcpkg dependencies need a vcpkg triplet file to compile to the target macOS version # an easy way is to copy the x64-osx.cmake file and modify it - TRIPLETS_DIR="../cmake/triplets" - mkdir -p "$TRIPLETS_DIR" - # Replace dots with hyphens in triplet name for vcpkg compatibility - TRIPLET_VERSION=$(echo "${TARGET_MACOS_VERSION}" | sed 's/\./-/g') - TRIPLET_FILE="$TRIPLETS_DIR/x64-osx-${TRIPLET_VERSION}.cmake" - cp ../vcpkg/triplets/x64-osx.cmake "$TRIPLET_FILE" - echo "set(VCPKG_CMAKE_SYSTEM_VERSION ${TARGET_MACOS_VERSION})" >> "$TRIPLET_FILE" - echo "set(VCPKG_OSX_DEPLOYMENT_TARGET ${TARGET_MACOS_VERSION})" >> "$TRIPLET_FILE" - flags+=("-DVCPKG_OVERLAY_TRIPLETS=$TRIPLETS_DIR") - flags+=("-DVCPKG_TARGET_TRIPLET=x64-osx-${TRIPLET_VERSION}") - echo "::group::Generated triplet $TRIPLET_FILE" - cat "$TRIPLET_FILE" + triplets_dir="/tmp/cmake/triplets" + triplet_version=${TARGET_MACOS_VERSION//./-} + triplet_file="$triplets_dir/x64-osx-$triplet_version.cmake" + mkdir -p "$triplets_dir" + cp "../vcpkg/triplets/x64-osx.cmake" "$triplet_file" + echo "set(VCPKG_CMAKE_SYSTEM_VERSION $TARGET_MACOS_VERSION)" >>"$triplet_file" + echo "set(VCPKG_OSX_DEPLOYMENT_TARGET $TARGET_MACOS_VERSION)" >>"$triplet_file" + flags+=("-DVCPKG_OVERLAY_TRIPLETS=$triplets_dir") + flags+=("-DVCPKG_TARGET_TRIPLET=x64-osx-$triplet_version") + echo "::group::Generated triplet $triplet_file" + cat "$triplet_file" echo "::endgroup::" fi echo "::group::Signing Certificate" if [[ -n "$MACOS_CERTIFICATE_NAME" ]]; then - echo "$MACOS_CERTIFICATE" | base64 --decode > certificate.p12 + echo "$MACOS_CERTIFICATE" | base64 --decode >"certificate.p12" security create-keychain -p "$MACOS_CI_KEYCHAIN_PWD" build.keychain security default-keychain -s build.keychain security set-keychain-settings -t 3600 -l build.keychain diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index b0ffeaf43..2e4702b42 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -250,6 +250,7 @@ jobs: xcode: "16.4" type: Release make_package: 1 + override_target: 13 - target: 14 soc: Apple @@ -332,8 +333,7 @@ jobs: CMAKE_GENERATOR: '${{env.CMAKE_GENERATOR}}' VCPKG_DISABLE_METRICS: 1 VCPKG_BINARY_SOURCES: 'clear;files,${{ steps.vcpkg-cache.outputs.path }},readwrite' - # if Intel, set the target macOS version to matrix.target, otherwise empty string - TARGET_MACOS_VERSION: ${{ matrix.soc == 'Intel' && matrix.target || '' }} + TARGET_MACOS_VERSION: ${{ matrix.override_target }} run: .ci/compile.sh --server --test --ccache "$CCACHE_SIZE" --vcpkg - name: Sign app bundle