mkxp-sunshine/make-oneshot-mac.command
DepressedTWM 885b56b3dc Test
2026-08-01 00:10:23 +04:00

80 lines
2.5 KiB
Bash
Executable file

#!/bin/sh
set -ueo pipefail
cd `dirname $0`
# User-configurable variables
mac_version="1.1.1"
ONESHOT_PATH=$HOME/Library/Application\ Support/Steam/steamapps/common/OneShot
use_qmake=True
echo "Compiling Sunshine engine for macOS...\n"
if [[ $use_qmake == True ]]
then
echo "-> Generate makefile..."
qmake MRIVERSION=3.3
echo "-> Compile engine..."
make -j"${nproc}"
echo "-> Compile steamshim..."
# cd steamshim_parent
# mkdir build && cd build
# cmake ..
# STEAMWORKS=./steamworks make -j${make_threads}
# cd ../..
else
echo "WARNING: Conan/CMake method not ready yet."
fi
echo "-> Compile journal..."
pyinstaller journal/unix/journal.spec --onefile --windowed
# Create app bundles
echo "-> Create app bundles..."
OSX_App="OneShot.app"
ContentsDir="$OSX_App/Contents"
LibrariesDir="$OSX_App/Contents/Libraries"
ResourcesDir="$OSX_App/Contents/Resources"
# create directories in the @target@.app bundle
if [ ! -e $LibrariesDir ]
then
mkdir -p "$LibrariesDir"
fi
if [ ! -e $ResourcesDir ]
then
mkdir -p "$ResourcesDir"
fi
cp steamshim_parent/steamshim ./OneShot.app/Contents/Resources/steamshim
# cp patches/mac/libsteam_api.dylib ./OneShot.app/Contents/Libraries/libsteam_api.dylib
cp -f journal/unix/macOS/Python dist/_______.app/Contents/MacOS/Python
install_name_tool -change @loader_path/libsteam_api.dylib "$( cd "$(dirname "$0")" ; pwd -P )"/steamworks/redistributable_bin/osx32/libsteam_api.dylib ./OneShot.app/Contents/Resources/steamshim
cmake -P patches/mac/CompleteBundle.cmake
cp assets/icon.icns ./OneShot.app/Contents/Resources/icon.icns
cp steam_appid.txt ./OneShot.app/Contents/Resources/steam_appid.txt
cp patches/mac/oneshot.sh ./OneShot.app/Contents/MacOS/oneshot.sh
mv OneShot.app/Contents/MacOS/OneShot OneShot.app/Contents/Resources/OneShot
cp -r dist/_______.app _______.app
# Set version number
echo "-> Set version number..."
rm -f OneShot.app/Contents/Info.plist
rm -f _______.app/Contents/Info.plist
m4 patches/mac/Info.plist.in -DONESHOTMACVERSION=$mac_version > OneShot.app/Contents/Info.plist
m4 patches/mac/JournalInfo.plist.in -DONESHOTMACVERSION=$mac_version > _______.app/Contents/Info.plist
# Compile scripts
echo "-> Compile xScripts.rxdata..."
ruby rpgscript.rb ./scripts "$ONESHOT_PATH"
cp "$ONESHOT_PATH/Data/xScripts.rxdata" .
echo "-> Install OneShot apps to Steam directory..."
cp -rf "./OneShot.app" "$ONESHOT_PATH"
cp -rf "./_______.app" "$ONESHOT_PATH"
# Cleanup
echo "-> Cleanup files..."
# make clean
rm -rf journal/unix/__pycache__
rm -rf build
rm -rf dist