UnionPatcher/build-mac.sh
Zaprit c45b9ec37e
Remove macOS staging directory requirement, and update to .NET 8.0 (#41)
* Code cleanup and update to .NET 8

* Fix macOS requiring staging directory to be selected.
Also places eboots on Desktop on macos, to avoid them being inside the app bundle.

* Fix keys discovery on mac

* Removed debug logging, made GetExecutablePath more robust.

* Created a script for building on mac, as creating a universal binary is somewhat involved

* Update UnionPatcher.Gui/Forms/ModeSelectionForm.cs

Co-authored-by: sudokoko <koko@sudokoko.xyz>

* Apply suggestions from code review

Co-authored-by: Josh <josh@slendy.pw>

---------

Co-authored-by: sudokoko <koko@sudokoko.xyz>
Co-authored-by: Josh <josh@slendy.pw>
2024-01-19 00:05:42 +00:00

21 lines
1.1 KiB
Bash
Executable file

# Script to build UnionPatcher for mac, builds a universal binary, and zips it up. also codesigns if $1 is specified
dotnet clean
dotnet publish UnionPatcher.Gui.MacOS --configuration Release /p:Platform="Any CPU" --self-contained -o macbuild
dotnet publish UnionPatcher.Gui.MacOS --configuration Release /p:Platform="Any CPU" --arch x64 --self-contained -o macbuildx86
rm -rf macbuilduniversal
mkdir macbuilduniversal
cp -r macbuild/UnionPatcher.Gui.MacOS.app macbuilduniversal/UnionPatcher.app
cp UnionPatcher.Gui.MacOS/Info.plist macbuilduniversal/UnionPatcher.app/Contents/Info.plist
rm -rf macbuilduniversal/UnionPatcher.app/Contents/MacOS/scetool/linux*
rm -rf macbuilduniversal/UnionPatcher.app/Contents/MacOS/scetool/win*
lipo -create -output macbuilduniversal/UnionPatcher.app/Contents/MacOS/LBPUnion.UnionPatcher.Gui.MacOS macbuildx86/LBPUnion.UnionPatcher.Gui.MacOS macbuild/LBPUnion.UnionPatcher.Gui.MacOS
touch macbuilduniversal/UnionPatcher.app
if [ -z ${1+x} ]; then
codesign -f --deep -s "$1" macbuilduniversal/UnionPatcher.app
fi
cd macbuilduniversal
zip -r UnionPatcher-macOS-universal.zip UnionPatcher.app