ci: Install macOS Vulkan dependencies from official SDK release. (#13)
This commit is contained in:
@ -3,11 +3,12 @@
|
||||
brew update
|
||||
brew unlink python@2 || true
|
||||
rm '/usr/local/bin/2to3' || true
|
||||
brew install qt5 molten-vk glslang vulkan-loader p7zip ccache ninja || true
|
||||
brew install qt5 p7zip ccache ninja wget || true
|
||||
pip3 install macpack
|
||||
|
||||
export SDL_VER=2.0.16
|
||||
export FFMPEG_VER=4.4
|
||||
export VULKAN_SDK_VER=1.3.236.0
|
||||
|
||||
mkdir tmp
|
||||
cd tmp/
|
||||
@ -21,3 +22,9 @@ cp -rv $(pwd)/sdl-${SDL_VER}/* /
|
||||
wget https://github.com/SachinVin/ext-macos-bin/raw/main/ffmpeg/ffmpeg-${FFMPEG_VER}.7z
|
||||
7z x ffmpeg-${FFMPEG_VER}.7z
|
||||
cp -rv $(pwd)/ffmpeg-${FFMPEG_VER}/* /
|
||||
|
||||
# install Vulkan SDK
|
||||
wget https://sdk.lunarg.com/sdk/download/1.3.236.0/mac/vulkansdk-macos-${VULKAN_SDK_VER}.dmg
|
||||
hdiutil attach vulkansdk-macos-${VULKAN_SDK_VER}.dmg
|
||||
sudo /Volumes/vulkansdk-macos-${VULKAN_SDK_VER}/InstallVulkan.app/Contents/MacOS/InstallVulkan install --accept-licenses --confirm-command --default-answer com.lunarg.vulkan.core com.lunarg.vulkan.usr
|
||||
hdiutil detach /Volumes/vulkansdk-macos-${VULKAN_SDK_VER}
|
||||
|
@ -15,7 +15,7 @@ cp build/bin/Release/citra-room "$REV_NAME"
|
||||
BUNDLE_PATH="$REV_NAME/citra-qt.app"
|
||||
BUNDLE_CONTENTS_PATH="$BUNDLE_PATH/Contents"
|
||||
BUNDLE_EXECUTABLE_PATH="$BUNDLE_CONTENTS_PATH/MacOS/citra-qt"
|
||||
BUNDLE_LIB_PATH="$BUNDLE_CONTENTS_PATH/lib"
|
||||
BUNDLE_FRAMEWORKS_PATH="$BUNDLE_CONTENTS_PATH/Frameworks"
|
||||
BUNDLE_RESOURCES_PATH="$BUNDLE_CONTENTS_PATH/Resources"
|
||||
|
||||
CITRA_STANDALONE_PATH="$REV_NAME/citra"
|
||||
@ -29,13 +29,13 @@ $(brew --prefix)/opt/qt5/bin/macdeployqt $BUNDLE_PATH -executable=$BUNDLE_EXECUT
|
||||
macpack $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
|
||||
VULKAN_SDK_PATH=~/VulkanSDK/*/macOS
|
||||
cp $VULKAN_SDK_PATH/lib/libvulkan.dylib $BUNDLE_FRAMEWORKS_PATH
|
||||
cp $VULKAN_SDK_PATH/lib/libMoltenVK.dylib $BUNDLE_FRAMEWORKS_PATH
|
||||
cp $VULKAN_SDK_PATH/lib/libVkLayer_*.dylib $BUNDLE_FRAMEWORKS_PATH
|
||||
cp -r $VULKAN_SDK_PATH/share/vulkan $BUNDLE_RESOURCES_PATH
|
||||
find $BUNDLE_RESOURCES_PATH/vulkan -type f -name "*.json" -exec sed -i'' -e 's/..\/..\/..\/lib/..\/..\/..\/Frameworks/g' {} \;
|
||||
install_name_tool -add_rpath "@loader_path/../Frameworks/" $BUNDLE_EXECUTABLE_PATH
|
||||
|
||||
# workaround for libc++
|
||||
install_name_tool -change @loader_path/../Frameworks/libc++.1.0.dylib /usr/lib/libc++.1.dylib $BUNDLE_EXECUTABLE_PATH
|
||||
|
Reference in New Issue
Block a user