diff --git a/.ci/build-mac.sh b/.ci/build-mac.sh index eb8212d796..7946f59701 100755 --- a/.ci/build-mac.sh +++ b/.ci/build-mac.sh @@ -4,10 +4,13 @@ brew install -f --overwrite nasm ninja git p7zip create-dmg ccache pipenv #/usr/sbin/softwareupdate --install-rosetta --agree-to-license arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -arch -x86_64 /usr/local/homebrew/bin/brew update -arch -x86_64 /usr/local/homebrew/bin/brew install -f --overwrite llvm@16 sdl2 glew cmake -arch -x86_64 /usr/local/homebrew/bin/brew link -f llvm@16 +arch -x86_64 /usr/local/bin/brew update +arch -x86_64 /usr/local/bin/brew install -f --overwrite llvm@16 sdl2 glew cmake faudio vulkan-headers +arch -x86_64 /usr/local/bin/brew link -f llvm@16 +# moltenvk based on commit for 1.2.4 release +wget https://raw.githubusercontent.com/Homebrew/homebrew-core/b233d4f9f40f26d81da11140defbfd578cfe4a69/Formula/molten-vk.rb +arch -x86_64 /usr/local/bin/brew install -f --overwrite ./molten-vk.rb #export MACOSX_DEPLOYMENT_TARGET=12.0 export CXX=clang++ export CC=clang @@ -15,7 +18,7 @@ export CC=clang export BREW_PATH; BREW_PATH="$(brew --prefix)" export BREW_X64_PATH; -BREW_X64_PATH="$("/usr/local/homebrew/bin/brew" --prefix)" +BREW_X64_PATH="$("/usr/local/bin/brew" --prefix)" export BREW_BIN="/usr/local/bin" export BREW_SBIN="/usr/local/sbin" export CMAKE_EXTRA_OPTS='-DLLVM_TARGETS_TO_BUILD=X86' @@ -40,7 +43,16 @@ export CPPFLAGS="-I$BREW_X64_PATH/include -msse -msse2 -mcx16 -no-pie" export LIBRARY_PATH="$BREW_X64_PATH/lib" export LD_LIBRARY_PATH="$BREW_X64_PATH/lib" -git submodule update --init --recursive --depth 1 +export VULKAN_SDK +VULKAN_SDK="$BREW_X64_PATH/opt/molten-vk" +ln -s "$VULKAN_SDK/lib/libMoltenVK.dylib" "$VULKAN_SDK/lib/libvulkan.dylib" +export VK_ICD_FILENAMES="$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json" + +export LLVM_DIR +LLVM_DIR="BREW_X64_PATH/opt/llvm@16" +# exclude FAudio, SPIRV and LLVM, and sdl from submodule update +# shellcheck disable=SC2046 +git submodule -q update --init --depth=1 --jobs=8 $(awk '/path/ && !/FAudio/ && !/llvm/ && !/SPIRV/ && !/SDL/ { print $3 }' .gitmodules) # 3rdparty fixes sed -i '' "s/extern const double NSAppKitVersionNumber;/const double NSAppKitVersionNumber = 1343;/g" 3rdparty/hidapi/hidapi/mac/hid.c @@ -53,7 +65,9 @@ mkdir build && cd build || exit 1 -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF \ -DLLVM_INCLUDE_UTILS=OFF -DLLVM_USE_PERF=OFF -DLLVM_ENABLE_Z3_SOLVER=OFF \ -DUSE_NATIVE_INSTRUCTIONS=OFF \ - -DUSE_SYSTEM_MVK=OFF \ + -DUSE_SYSTEM_MVK=ON \ + -DUSE_SYSTEM_FAUDIO=ON \ + -DUSE_SYSTEM_SDL=ON \ $CMAKE_EXTRA_OPTS \ -DLLVM_TARGET_ARCH=X86_64 -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_IGNORE_PATH="$BREW_PATH/lib" \ -G Ninja diff --git a/.ci/deploy-mac.sh b/.ci/deploy-mac.sh index cb904b3e54..08697c3c8b 100755 --- a/.ci/deploy-mac.sh +++ b/.ci/deploy-mac.sh @@ -15,7 +15,7 @@ echo "AVVER=$AVVER" >> ../.ci/ci-vars.env cd bin mkdir "rpcs3.app/Contents/lib/" -cp "/usr/local/Homebrew/opt/llvm@16/lib/c++/libc++abi.1.0.dylib" "rpcs3.app/Contents/lib/libc++abi.1.dylib" +cp "/usr/local/opt/llvm@16/lib/c++/libc++abi.1.0.dylib" "rpcs3.app/Contents/lib/libc++abi.1.dylib" rm -rf "rpcs3.app/Contents/Frameworks/QtPdf.framework" \ "rpcs3.app/Contents/Frameworks/QtQml.framework" \