[ci] add macos scripts

Signed-off-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
crueter 2025-07-27 22:09:50 -04:00
parent 711a305929
commit fffc093b48
Signed by untrusted user: crueter
GPG key ID: 425ACD2D4830EBC6
2 changed files with 64 additions and 0 deletions

29
.ci/macos/build.sh Executable file
View file

@ -0,0 +1,29 @@
#!/bin/sh
export LIBVULKAN_PATH="/opt/homebrew/lib/libvulkan.1.dylib"
if [ -z "$BUILD_TYPE" ]; then
export BUILD_TYPE="Release"
fi
if [ "$DEVEL" != "true" ]; then
export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DENABLE_QT_UPDATE_CHECKER=ON)
fi
mkdir -p build
cd build
cmake .. -GNinja \
-DYUZU_TESTS=OFF \
-DYUZU_USE_BUNDLED_QT=OFF \
-DENABLE_QT_TRANSLATION=ON \
-DYUZU_ENABLE_LTO=ON \
-DUSE_DISCORD_PRESENCE=ON \
-DYUZU_CMD=OFF \
-DYUZU_ROOM_STANDALONE=OFF \
-DCMAKE_CXX_FLAGS="-w" \
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \
-DYUZU_USE_PRECOMPILED_HEADERS=OFF \
"${EXTRA_CMAKE_FLAGS[@]}"
ninja

35
.ci/macos/package.sh Executable file
View file

@ -0,0 +1,35 @@
#!/bin/sh
# credit: escary and hauntek
cd build
APP=./bin/eden.app
macdeployqt "$APP"
macdeployqt "$APP" -always-overwrite
# FixMachOLibraryPaths
find "$APP/Contents/Frameworks" ""$APP/Contents/MacOS"" -type f \( -name "*.dylib" -o -perm +111 \) | while read file; do
if file "$file" | grep -q "Mach-O"; then
otool -L "$file" | awk '/@rpath\// {print $1}' | while read lib; do
lib_name="${lib##*/}"
new_path="@executable_path/../Frameworks/$lib_name"
install_name_tool -change "$lib" "$new_path" "$file"
done
if [[ "$file" == *.dylib ]]; then
lib_name="${file##*/}"
new_id="@executable_path/../Frameworks/$lib_name"
install_name_tool -id "$new_id" "$file"
fi
fi
done
codesign --deep --force --verify --verbose --sign - "$APP"
ZIP_NAME="eden-macos.zip"
mkdir -p artifacts
mv $APP .
7z a -tzip "$ZIP_NAME" eden.app
mv "$ZIP_NAME" artifacts/
mv artifacts ../../