mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-01-14 18:37:27 +00:00
build-mac: Improve build time for macOS
Co-Authored-By: Megamouse <studienricky89@googlemail.com>
This commit is contained in:
parent
8f178b2c29
commit
0e10f12ec0
@ -4,10 +4,13 @@ brew install -f --overwrite nasm ninja git p7zip create-dmg ccache pipenv
|
|||||||
|
|
||||||
#/usr/sbin/softwareupdate --install-rosetta --agree-to-license
|
#/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 /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/bin/brew update
|
||||||
arch -x86_64 /usr/local/homebrew/bin/brew install -f --overwrite llvm@16 sdl2 glew cmake
|
arch -x86_64 /usr/local/bin/brew install -f --overwrite llvm@16 sdl2 glew cmake faudio vulkan-headers
|
||||||
arch -x86_64 /usr/local/homebrew/bin/brew link -f llvm@16
|
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 MACOSX_DEPLOYMENT_TARGET=12.0
|
||||||
export CXX=clang++
|
export CXX=clang++
|
||||||
export CC=clang
|
export CC=clang
|
||||||
@ -15,7 +18,7 @@ export CC=clang
|
|||||||
export BREW_PATH;
|
export BREW_PATH;
|
||||||
BREW_PATH="$(brew --prefix)"
|
BREW_PATH="$(brew --prefix)"
|
||||||
export BREW_X64_PATH;
|
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_BIN="/usr/local/bin"
|
||||||
export BREW_SBIN="/usr/local/sbin"
|
export BREW_SBIN="/usr/local/sbin"
|
||||||
export CMAKE_EXTRA_OPTS='-DLLVM_TARGETS_TO_BUILD=X86'
|
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 LIBRARY_PATH="$BREW_X64_PATH/lib"
|
||||||
export LD_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
|
# 3rdparty fixes
|
||||||
sed -i '' "s/extern const double NSAppKitVersionNumber;/const double NSAppKitVersionNumber = 1343;/g" 3rdparty/hidapi/hidapi/mac/hid.c
|
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_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 \
|
-DLLVM_INCLUDE_UTILS=OFF -DLLVM_USE_PERF=OFF -DLLVM_ENABLE_Z3_SOLVER=OFF \
|
||||||
-DUSE_NATIVE_INSTRUCTIONS=OFF \
|
-DUSE_NATIVE_INSTRUCTIONS=OFF \
|
||||||
-DUSE_SYSTEM_MVK=OFF \
|
-DUSE_SYSTEM_MVK=ON \
|
||||||
|
-DUSE_SYSTEM_FAUDIO=ON \
|
||||||
|
-DUSE_SYSTEM_SDL=ON \
|
||||||
$CMAKE_EXTRA_OPTS \
|
$CMAKE_EXTRA_OPTS \
|
||||||
-DLLVM_TARGET_ARCH=X86_64 -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_IGNORE_PATH="$BREW_PATH/lib" \
|
-DLLVM_TARGET_ARCH=X86_64 -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_IGNORE_PATH="$BREW_PATH/lib" \
|
||||||
-G Ninja
|
-G Ninja
|
||||||
|
@ -15,7 +15,7 @@ echo "AVVER=$AVVER" >> ../.ci/ci-vars.env
|
|||||||
cd bin
|
cd bin
|
||||||
mkdir "rpcs3.app/Contents/lib/"
|
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" \
|
rm -rf "rpcs3.app/Contents/Frameworks/QtPdf.framework" \
|
||||||
"rpcs3.app/Contents/Frameworks/QtQml.framework" \
|
"rpcs3.app/Contents/Frameworks/QtQml.framework" \
|
||||||
|
Loading…
Reference in New Issue
Block a user