ci: Bundle MoltenVK with macOS builds.
This commit is contained in:
@ -3,7 +3,7 @@
|
|||||||
brew update
|
brew update
|
||||||
brew unlink python@2 || true
|
brew unlink python@2 || true
|
||||||
rm '/usr/local/bin/2to3' || true
|
rm '/usr/local/bin/2to3' || true
|
||||||
brew install qt5 p7zip ccache ninja || true
|
brew install qt5 molten-vk vulkan-loader p7zip ccache ninja || true
|
||||||
pip3 install macpack
|
pip3 install macpack
|
||||||
|
|
||||||
export SDL_VER=2.0.16
|
export SDL_VER=2.0.16
|
||||||
|
@ -12,20 +12,37 @@ cp build/bin/Release/citra "$REV_NAME"
|
|||||||
cp -r build/bin/Release/citra-qt.app "$REV_NAME"
|
cp -r build/bin/Release/citra-qt.app "$REV_NAME"
|
||||||
cp build/bin/Release/citra-room "$REV_NAME"
|
cp build/bin/Release/citra-room "$REV_NAME"
|
||||||
|
|
||||||
# move libs into folder for deployment
|
BUNDLE_PATH="$REV_NAME/citra-qt.app"
|
||||||
python3 -m macpack.patcher "${REV_NAME}/citra-qt.app/Contents/MacOS/citra-qt" -d "../Frameworks"
|
BUNDLE_CONTENTS_PATH="$BUNDLE_PATH/Contents"
|
||||||
# move qt frameworks into app bundle for deployment
|
BUNDLE_EXECUTABLE_PATH="$BUNDLE_CONTENTS_PATH/MacOS/citra-qt"
|
||||||
$(brew --prefix)/opt/qt5/bin/macdeployqt "${REV_NAME}/citra-qt.app" -executable="${REV_NAME}/citra-qt.app/Contents/MacOS/citra-qt"
|
BUNDLE_LIB_PATH="$BUNDLE_CONTENTS_PATH/lib"
|
||||||
|
BUNDLE_RESOURCES_PATH="$BUNDLE_CONTENTS_PATH/Resources"
|
||||||
|
|
||||||
|
CITRA_STANDALONE_PATH="$REV_NAME/citra"
|
||||||
|
|
||||||
# move libs into folder for deployment
|
# move libs into folder for deployment
|
||||||
python3 -m macpack.patcher "${REV_NAME}/citra" -d "libs"
|
python3 -m macpack.patcher $BUNDLE_EXECUTABLE_PATH -d "../Frameworks"
|
||||||
|
# move qt frameworks into app bundle for deployment
|
||||||
|
$(brew --prefix)/opt/qt5/bin/macdeployqt $BUNDLE_PATH -executable=$BUNDLE_EXECUTABLE_PATH
|
||||||
|
|
||||||
|
# move libs into folder for deployment
|
||||||
|
python3 -m macpack.patcher $CITRA_STANDALONE_PATH -d "libs"
|
||||||
|
|
||||||
|
# bundle MoltenVK
|
||||||
|
VULKAN_LOADER_PATH=$(brew --prefix vulkan-loader)
|
||||||
|
MOLTENVK_PATH=$(brew --prefix molten-vk)
|
||||||
|
mkdir $BUNDLE_LIB_PATH
|
||||||
|
cp $VULKAN_LOADER_PATH/lib/libvulkan.dylib $BUNDLE_LIB_PATH
|
||||||
|
cp $MOLTENVK_PATH/lib/libMoltenVK.dylib $BUNDLE_LIB_PATH
|
||||||
|
cp -r $MOLTENVK_PATH/share/vulkan $BUNDLE_RESOURCES_PATH
|
||||||
|
install_name_tool -add_rpath "@loader_path/../lib/" $BUNDLE_EXECUTABLE_PATH
|
||||||
|
|
||||||
# workaround for libc++
|
# workaround for libc++
|
||||||
install_name_tool -change @loader_path/../Frameworks/libc++.1.0.dylib /usr/lib/libc++.1.dylib "${REV_NAME}/citra-qt.app/Contents/MacOS/citra-qt"
|
install_name_tool -change @loader_path/../Frameworks/libc++.1.0.dylib /usr/lib/libc++.1.dylib $BUNDLE_EXECUTABLE_PATH
|
||||||
install_name_tool -change @loader_path/libs/libc++.1.0.dylib /usr/lib/libc++.1.dylib "${REV_NAME}/citra"
|
install_name_tool -change @loader_path/libs/libc++.1.0.dylib /usr/lib/libc++.1.dylib $CITRA_STANDALONE_PATH
|
||||||
|
|
||||||
# Make the launching script executable
|
# Make the launching script executable
|
||||||
chmod +x ${REV_NAME}/citra-qt.app/Contents/MacOS/citra-qt
|
chmod +x $BUNDLE_EXECUTABLE_PATH
|
||||||
|
|
||||||
# Verify loader instructions
|
# Verify loader instructions
|
||||||
find "$REV_NAME" -type f -exec otool -L {} \;
|
find "$REV_NAME" -type f -exec otool -L {} \;
|
||||||
|
Reference in New Issue
Block a user