#!/bin/bash # SPDX-License-Identifier: CC-BY-NC-ND-4.0 set -e merge_binaries() { X86DIR=$1 ARMDIR=$2 echo "Merging ARM64 binaries from $ARMDIR into fat binaries at $X86DIR..." IFS=" " pushd "$X86DIR" for X86BIN in $(find . -type f \( -name '*.dylib' -o -name '*.a' -o -perm +111 \)); do if file "$X86DIR/$X86BIN" | grep "Mach-O " >/dev/null; then ARMBIN="${ARMDIR}/${X86BIN}" echo "Merge $ARMBIN to $X86BIN..." lipo -create "$X86BIN" "$ARMBIN" -o "$X86BIN" fi done popd } if [ "$#" -ne 1 ]; then echo "Syntax: $0 " exit 1 fi export MACOSX_DEPLOYMENT_TARGET=11.0 NPROCS="$(getconf _NPROCESSORS_ONLN)" SCRIPTDIR=$(realpath $(dirname "${BASH_SOURCE[0]}")) INSTALLDIR="$1" if [ "${INSTALLDIR:0:1}" != "/" ]; then INSTALLDIR="$PWD/$INSTALLDIR" fi FREETYPE=2.13.3 HARFBUZZ=10.4.0 SDL3=3.2.14 ZSTD=1.5.7 LIBPNG=1.6.47 LIBJPEGTURBO=3.1.0 LIBWEBP=1.5.0 LIBZIP=1.11.3 FFMPEG=7.1.1 MOLTENVK=1.2.9 QT=6.9.0 CPUINFO=3ebbfd45645650c4940bf0f3b4d25ab913466bb0 DISCORD_RPC=cc59d26d1d628fbd6527aac0ac1d6301f4978b92 PLUTOSVG=bc845bb6b6511e392f9e1097b26f70cf0b3c33be SHADERC=4daf9d466ad00897f755163dd26f528d14e1db44 SOUNDTOUCH=463ade388f3a51da078dc9ed062bf28e4ba29da7 SPIRV_CROSS=vulkan-sdk-1.4.309.0 mkdir -p deps-build cd deps-build export PKG_CONFIG_PATH="$INSTALLDIR/lib/pkgconfig:$PKG_CONFIG_PATH" export LDFLAGS="-L$INSTALLDIR/lib $LDFLAGS" export CFLAGS="-I$INSTALLDIR/include $CFLAGS" export CXXFLAGS="-I$INSTALLDIR/include $CXXFLAGS" CMAKE_COMMON=( -DCMAKE_BUILD_TYPE=Release -DCMAKE_SHARED_LINKER_FLAGS="-dead_strip -dead_strip_dylibs" -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_INSTALL_NAME_DIR='$/lib' ) CMAKE_ARCH_X64=-DCMAKE_OSX_ARCHITECTURES="x86_64" CMAKE_ARCH_ARM64=-DCMAKE_OSX_ARCHITECTURES="arm64" CMAKE_ARCH_UNIVERSAL=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" # SBOM generation appears to be broken on MacOS, and I can't be arsed to debug it. CMAKE_COMMON_QT=( -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DQT_GENERATE_SBOM=OFF ) cat > SHASUMS <