1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-10 09:32:29 +01:00
Files
OpenRCT2/scripts/create-macos-universal
Michał Janiszewski 66665c8a81 Use macos-15-built libraries v40 (#24939)
* Use macos-15-built libraries v40

Windows version is the same as v38, no need to update

* Use macos-15 in CI

* Build libopenrct2 statically

* Skip creating universal libopenrct2.dylib as it no longer exists

* Force static linking on macOS
2025-08-26 07:04:30 +02:00

30 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
echo "Creating macOS universal app bundle"
# create app skeleton
mkdir OpenRCT2-universal.app
mkdir OpenRCT2-universal.app/Contents
# copy all resources (most will overwrite)
mkdir OpenRCT2-universal.app/Contents/Resources
# Note: g2.dat is expected to only be in one (matching OS of build machine)
rsync -ah x64/OpenRCT2.app/Contents/Resources/* OpenRCT2-universal.app/Contents/Resources/
rsync -ah arm64/OpenRCT2.app/Contents/Resources/* OpenRCT2-universal.app/Contents/Resources/
# create a universal binary
mkdir OpenRCT2-universal.app/Contents/MacOS
lipo -create x64/OpenRCT2.app/Contents/MacOS/OpenRCT2 arm64/OpenRCT2.app/Contents/MacOS/OpenRCT2 -output OpenRCT2-universal.app/Contents/MacOS/OpenRCT2
# copy frameworks
mkdir OpenRCT2-universal.app/Contents/Frameworks
# the Frameworks are identical and are already universal dylibs
rsync -ah x64/OpenRCT2.app/Contents/Frameworks/* OpenRCT2-universal.app/Contents/Frameworks
# handle Info.plist
defaults import $PWD/OpenRCT2-universal.app/Contents/Info $PWD/x64/OpenRCT2.app/Contents/Info.plist $PWD/arm64/OpenRCT2.app/Contents/Info.plist
arm64_min_ver=$(defaults read $PWD/arm64/OpenRCT2.app/Contents/Info LSMinimumSystemVersion)
x64_min_ver=$(defaults read $PWD/x64/OpenRCT2.app/Contents/Info LSMinimumSystemVersion)
defaults write $PWD/OpenRCT2-universal.app/Contents/Info LSMinimumSystemVersionByArchitecture -dict x86_64 ${x64_min_ver} arm64 ${arm64_min_ver}