mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-02 13:01:27 +12:00
Move Mac builds to GH Actions
This commit is contained in:
parent
382e62c7d8
commit
cd7c9a8da4
13 changed files with 122 additions and 358 deletions
92
.ci/build-mac-arm64.sh
Normal file → Executable file
92
.ci/build-mac-arm64.sh
Normal file → Executable file
|
@ -1,66 +1,25 @@
|
||||||
#!/bin/sh -ex
|
#!/bin/sh -ex
|
||||||
|
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
brew_arm64_install_packages() {
|
|
||||||
for pkg in "$@"; do
|
|
||||||
echo "Fetching bottle for $pkg (arm64)..."
|
|
||||||
bottle_path="$("$BREW_ARM64_PATH/bin/brew" --cache --bottle-tag=arm64_sonoma "$pkg")"
|
|
||||||
if [ ! -f "$bottle_path" ]; then
|
|
||||||
if ! "$BREW_ARM64_PATH/bin/brew" fetch --force --verbose --debug --bottle-tag=arm64_sonoma "$pkg"; then
|
|
||||||
echo "Failed to fetch bottle for $pkg"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
bottle_path="$("$BREW_ARM64_PATH/bin/brew" --cache --bottle-tag=arm64_sonoma "$pkg")"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Installing $pkg (arm64)..."
|
|
||||||
"$BREW_ARM64_PATH/bin/brew" install --force --force-bottle --ignore-dependencies "$bottle_path" || true
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
export HOMEBREW_NO_AUTO_UPDATE=1
|
export HOMEBREW_NO_AUTO_UPDATE=1
|
||||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||||
export HOMEBREW_NO_INSTALL_CLEANUP=1
|
export HOMEBREW_NO_INSTALL_CLEANUP=1
|
||||||
|
|
||||||
/usr/local/bin/brew update
|
/opt/homebrew/bin/brew install -f --overwrite nasm ninja p7zip ccache pipenv gnutls freetype #create-dmg
|
||||||
sudo rm -rf /usr/local/Cellar/curl /usr/local/opt/curl
|
/opt/homebrew/bin/brew install -f ffmpeg@5
|
||||||
/usr/local/bin/brew install -f --overwrite curl
|
/opt/homebrew/bin/brew install "llvm@$LLVM_COMPILER_VER" glew cmake sdl3 vulkan-headers coreutils
|
||||||
/usr/local/bin/brew uninstall -f --ignore-dependencies ffmpeg
|
/opt/homebrew/bin/brew link -f "llvm@$LLVM_COMPILER_VER" ffmpeg@5
|
||||||
/usr/local/bin/brew install -f --build-from-source ffmpeg@5 || true
|
|
||||||
/usr/local/bin/brew install -f --overwrite python || true
|
|
||||||
/usr/local/bin/brew link --overwrite python || true
|
|
||||||
/usr/local/bin/brew install -f --overwrite nasm ninja p7zip ccache pipenv #create-dmg
|
|
||||||
/usr/local/bin/brew link -f curl || true
|
|
||||||
/usr/local/bin/brew install llvm@$LLVM_COMPILER_VER glew cmake sdl3 vulkan-headers coreutils
|
|
||||||
/usr/local/bin/brew link -f llvm@$LLVM_COMPILER_VER ffmpeg@5 || true
|
|
||||||
|
|
||||||
export BREW_ARM64_PATH="/opt/homebrew1"
|
|
||||||
sudo mkdir -p "$BREW_ARM64_PATH"
|
|
||||||
sudo chmod 777 "$BREW_ARM64_PATH"
|
|
||||||
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C "$BREW_ARM64_PATH"
|
|
||||||
|
|
||||||
#"$BREW_ARM64_PATH/bin/brew" update
|
|
||||||
# libvorbis requires Homebrew-installed curl, but we can't run it on x64, and we also need the aarch64 libs, so we swap the binary
|
|
||||||
brew_arm64_install_packages curl
|
|
||||||
mv /opt/homebrew1/opt/curl/bin/curl /opt/homebrew1/opt/curl/bin/curl.bak
|
|
||||||
ln -s /usr/local/opt/curl/bin/curl /opt/homebrew1/opt/curl/bin/curl
|
|
||||||
|
|
||||||
brew_arm64_install_packages 0mq aom aribb24 ca-certificates cjson dav1d ffmpeg@5 fontconfig freetype freetype2 gettext glew gmp gnutls lame libbluray libidn2 libnettle libogg libpng librist libsodium libsoxr libtasn libtasn1 libunistring libvmaf libvorbis libvpx libx11 libxau libxcb libxdmcp llvm@$LLVM_COMPILER_VER mbedtls molten-vk nettle opencore-amr openjpeg openssl opus p11-kit pkg-config pkgconfig pzstd rav1e sdl3 snappy speex srt svt-av1 theora vulkan-headers webp x264 x265 xz z3 zeromq zmq zstd
|
|
||||||
"$BREW_ARM64_PATH/bin/brew" link -f ffmpeg@5
|
|
||||||
ln -s "/opt/homebrew1/opt/llvm@$LLVM_COMPILER_VER/lib/unwind/libunwind.1.dylib" "/opt/homebrew1/opt/llvm@$LLVM_COMPILER_VER/lib/libunwind.1.dylib"
|
|
||||||
|
|
||||||
# moltenvk based on commit for 1.3.0 release
|
# moltenvk based on commit for 1.3.0 release
|
||||||
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/7255441cbcafabaa8950f67c7ec55ff499dbb2d3/Formula/m/molten-vk.rb
|
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/7255441cbcafabaa8950f67c7ec55ff499dbb2d3/Formula/m/molten-vk.rb
|
||||||
/usr/local/bin/brew install -f --overwrite ./molten-vk.rb
|
/opt/homebrew/bin/brew install -f --overwrite ./molten-vk.rb
|
||||||
export CXX=clang++
|
export CXX=clang++
|
||||||
export CC=clang
|
export CC=clang
|
||||||
|
|
||||||
export BREW_PATH;
|
export BREW_PATH;
|
||||||
BREW_PATH="$(brew --prefix)"
|
BREW_PATH="$(brew --prefix)"
|
||||||
export BREW_X64_PATH;
|
export BREW_BIN="/opt/homebrew/bin"
|
||||||
BREW_X64_PATH="$("/usr/local/bin/brew" --prefix)"
|
export BREW_SBIN="/opt/homebrew/sbin"
|
||||||
export BREW_BIN="/usr/local/bin"
|
|
||||||
export BREW_SBIN="/usr/local/sbin"
|
|
||||||
export CMAKE_EXTRA_OPTS='-DLLVM_TARGETS_TO_BUILD=arm64'
|
export CMAKE_EXTRA_OPTS='-DLLVM_TARGETS_TO_BUILD=arm64'
|
||||||
|
|
||||||
export WORKDIR;
|
export WORKDIR;
|
||||||
|
@ -75,36 +34,39 @@ if [ ! -d "/tmp/Qt/$QT_VER" ]; then
|
||||||
# nested Qt 6.9.0 URL workaround
|
# nested Qt 6.9.0 URL workaround
|
||||||
# sed -i '' "s/'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/'qt{0}_{0}{1}{2}'.format(major, minor, patch), 'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/g" qt-downloader
|
# sed -i '' "s/'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/'qt{0}_{0}{1}{2}'.format(major, minor, patch), 'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/g" qt-downloader
|
||||||
# sed -i '' "s/'{}\/{}\/qt{}_{}\/'/'{0}\/{1}\/qt{2}_{3}\/qt{2}_{3}\/'/g" qt-downloader
|
# sed -i '' "s/'{}\/{}\/qt{}_{}\/'/'{0}\/{1}\/qt{2}_{3}\/qt{2}_{3}\/'/g" qt-downloader
|
||||||
|
# archived Qt 6.7.3 URL workaround
|
||||||
|
sed -i '' "s/official_releases/archive/g" qt-downloader
|
||||||
cd "/tmp/Qt"
|
cd "/tmp/Qt"
|
||||||
"$BREW_X64_PATH/bin/pipenv" run pip3 install py7zr requests semantic_version lxml
|
arch -arm64 "$BREW_PATH/bin/pipenv" run pip3 uninstall py7zr requests semantic_version lxml
|
||||||
|
arch -arm64 "$BREW_PATH/bin/pipenv" run pip3 install py7zr requests semantic_version lxml --no-cache
|
||||||
mkdir -p "$QT_VER/macos" ; ln -s "macos" "$QT_VER/clang_64"
|
mkdir -p "$QT_VER/macos" ; ln -s "macos" "$QT_VER/clang_64"
|
||||||
# sed -i '' 's/args\.version \/ derive_toolchain_dir(args) \/ //g' "$WORKDIR/qt-downloader/qt-downloader" # Qt 6.9.0 workaround
|
# sed -i '' 's/args\.version \/ derive_toolchain_dir(args) \/ //g' "$WORKDIR/qt-downloader/qt-downloader" # Qt 6.9.0 workaround
|
||||||
"$BREW_X64_PATH/bin/pipenv" run "$WORKDIR/qt-downloader/qt-downloader" macos desktop "$QT_VER" clang_64 --opensource --addons qtmultimedia qtimageformats # -o "$QT_VER/clang_64"
|
arch -arm64 "$BREW_PATH/bin/pipenv" run "$WORKDIR/qt-downloader/qt-downloader" macos desktop "$QT_VER" clang_64 --opensource --addons qtmultimedia qtimageformats # -o "$QT_VER/clang_64"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd "$WORKDIR"
|
cd "$WORKDIR"
|
||||||
ditto "/tmp/Qt/$QT_VER" "qt-downloader/$QT_VER"
|
ditto "/tmp/Qt/$QT_VER" "qt-downloader/$QT_VER"
|
||||||
|
|
||||||
export Qt6_DIR="$WORKDIR/qt-downloader/$QT_VER/clang_64/lib/cmake/Qt$QT_VER_MAIN"
|
export Qt6_DIR="$WORKDIR/qt-downloader/$QT_VER/clang_64/lib/cmake/Qt$QT_VER_MAIN"
|
||||||
export SDL3_DIR="$BREW_ARM64_PATH/opt/sdl3/lib/cmake/SDL3"
|
export SDL3_DIR="$BREW_PATH/opt/sdl3/lib/cmake/SDL3"
|
||||||
|
|
||||||
export PATH="$BREW_X64_PATH/opt/llvm@$LLVM_COMPILER_VER/bin:$WORKDIR/qt-downloader/$QT_VER/clang_64/bin:$BREW_BIN:$BREW_SBIN:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Apple/usr/bin:$PATH"
|
export PATH="$BREW_PATH/opt/llvm@$LLVM_COMPILER_VER/bin:$WORKDIR/qt-downloader/$QT_VER/clang_64/bin:$BREW_BIN:$BREW_SBIN:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Apple/usr/bin:$PATH"
|
||||||
export LDFLAGS="-L$BREW_ARM64_PATH/lib $BREW_ARM64_PATH/opt/ffmpeg@5/lib/libavcodec.dylib $BREW_ARM64_PATH/opt/ffmpeg@5/lib/libavformat.dylib $BREW_ARM64_PATH/opt/ffmpeg@5/lib/libavutil.dylib $BREW_ARM64_PATH/opt/ffmpeg@5/lib/libswscale.dylib $BREW_ARM64_PATH/opt/ffmpeg@5/lib/libswresample.dylib $BREW_ARM64_PATH/opt/llvm@$LLVM_COMPILER_VER/lib/c++/libc++.1.dylib $BREW_ARM64_PATH/lib/libSDL3.dylib $BREW_ARM64_PATH/lib/libGLEW.dylib $BREW_ARM64_PATH/opt/llvm@$LLVM_COMPILER_VER/lib/libunwind.1.dylib -Wl,-rpath,$BREW_ARM64_PATH/lib"
|
export LDFLAGS="-L$BREW_PATH/lib $BREW_PATH/opt/ffmpeg@5/lib/libavcodec.dylib $BREW_PATH/opt/ffmpeg@5/lib/libavformat.dylib $BREW_PATH/opt/ffmpeg@5/lib/libavutil.dylib $BREW_PATH/opt/ffmpeg@5/lib/libswscale.dylib $BREW_PATH/opt/ffmpeg@5/lib/libswresample.dylib $BREW_PATH/opt/llvm@$LLVM_COMPILER_VER/lib/c++/libc++.1.dylib $BREW_PATH/lib/libSDL3.dylib $BREW_PATH/lib/libGLEW.dylib $BREW_PATH/opt/llvm@$LLVM_COMPILER_VER/lib/unwind/libunwind.1.dylib -Wl,-rpath,$BREW_PATH/lib"
|
||||||
export CPPFLAGS="-I$BREW_ARM64_PATH/include -I$BREW_X64_PATH/include -no-pie -D__MAC_OS_X_VERSION_MIN_REQUIRED=140000"
|
export CPPFLAGS="-I$BREW_PATH/include -I$BREW_PATH/include -no-pie -D__MAC_OS_X_VERSION_MIN_REQUIRED=140000"
|
||||||
export CFLAGS="-D__MAC_OS_X_VERSION_MIN_REQUIRED=140000"
|
export CFLAGS="-D__MAC_OS_X_VERSION_MIN_REQUIRED=140000"
|
||||||
export LIBRARY_PATH="$BREW_ARM64_PATH/lib"
|
export LIBRARY_PATH="$BREW_PATH/lib"
|
||||||
export LD_LIBRARY_PATH="$BREW_ARM64_PATH/lib"
|
export LD_LIBRARY_PATH="$BREW_PATH/lib"
|
||||||
|
|
||||||
export VULKAN_SDK
|
export VULKAN_SDK
|
||||||
VULKAN_SDK="$BREW_ARM64_PATH/opt/molten-vk"
|
VULKAN_SDK="$BREW_PATH/opt/molten-vk"
|
||||||
ln -s "$VULKAN_SDK/lib/libMoltenVK.dylib" "$VULKAN_SDK/lib/libvulkan.dylib" || true
|
ln -s "$VULKAN_SDK/lib/libMoltenVK.dylib" "$VULKAN_SDK/lib/libvulkan.dylib" || true
|
||||||
export VK_ICD_FILENAMES="$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json"
|
export VK_ICD_FILENAMES="$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json"
|
||||||
|
|
||||||
export LLVM_DIR
|
export LLVM_DIR
|
||||||
LLVM_DIR="$BREW_ARM64_PATH/opt/llvm@$LLVM_COMPILER_VER"
|
LLVM_DIR="$BREW_PATH/opt/llvm@$LLVM_COMPILER_VER"
|
||||||
# exclude ffmpeg, LLVM, and sdl from submodule update
|
# exclude ffmpeg, LLVM, opencv, and sdl from submodule update
|
||||||
# shellcheck disable=SC2046
|
# shellcheck disable=SC2046
|
||||||
git submodule -q update --init --depth=1 --jobs=8 $(awk '/path/ && !/ffmpeg/ && !/llvm/ && !/SDL/ { print $3 }' .gitmodules)
|
git submodule -q update --init --depth=1 --jobs=8 $(awk '/path/ && !/ffmpeg/ && !/llvm/ && !/opencv/ && !/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
|
||||||
|
@ -114,7 +76,7 @@ mkdir build && cd build || exit 1
|
||||||
|
|
||||||
export MACOSX_DEPLOYMENT_TARGET=14.0
|
export MACOSX_DEPLOYMENT_TARGET=14.0
|
||||||
|
|
||||||
"$BREW_X64_PATH/bin/cmake" .. \
|
"$BREW_PATH/bin/cmake" .. \
|
||||||
-DBUILD_RPCS3_TESTS=OFF \
|
-DBUILD_RPCS3_TESTS=OFF \
|
||||||
-DRUN_RPCS3_TESTS=OFF \
|
-DRUN_RPCS3_TESTS=OFF \
|
||||||
-DUSE_SDL=ON \
|
-DUSE_SDL=ON \
|
||||||
|
@ -139,13 +101,11 @@ export MACOSX_DEPLOYMENT_TARGET=14.0
|
||||||
-DUSE_SYSTEM_FAUDIO=OFF \
|
-DUSE_SYSTEM_FAUDIO=OFF \
|
||||||
-DUSE_SYSTEM_SDL=ON \
|
-DUSE_SYSTEM_SDL=ON \
|
||||||
-DUSE_SYSTEM_OPENCV=ON \
|
-DUSE_SYSTEM_OPENCV=ON \
|
||||||
$CMAKE_EXTRA_OPTS \
|
"$CMAKE_EXTRA_OPTS" \
|
||||||
-DLLVM_TARGET_ARCH=arm64 \
|
-DLLVM_TARGET_ARCH=arm64 \
|
||||||
-DCMAKE_OSX_ARCHITECTURES=arm64 \
|
-DCMAKE_OSX_ARCHITECTURES=arm64 \
|
||||||
-DCMAKE_IGNORE_PATH="$BREW_X64_PATH/lib" \
|
-DCMAKE_IGNORE_PATH="$BREW_PATH/lib" \
|
||||||
-DCMAKE_IGNORE_PREFIX_PATH=/usr/local/opt \
|
-DCMAKE_IGNORE_PREFIX_PATH=/opt/homebrew/opt \
|
||||||
-DCMAKE_SYSTEM_PROCESSOR=arm64 \
|
|
||||||
-DCMAKE_TOOLCHAIN_FILE=buildfiles/cmake/TCDarwinARM64.cmake \
|
|
||||||
-DCMAKE_CXX_FLAGS="-D__MAC_OS_X_VERSION_MIN_REQUIRED=140000" \
|
-DCMAKE_CXX_FLAGS="-D__MAC_OS_X_VERSION_MIN_REQUIRED=140000" \
|
||||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||||
-DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)" \
|
-DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)" \
|
||||||
|
|
28
.ci/build-mac.sh
Normal file → Executable file
28
.ci/build-mac.sh
Normal file → Executable file
|
@ -3,18 +3,16 @@
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
export HOMEBREW_NO_AUTO_UPDATE=1
|
export HOMEBREW_NO_AUTO_UPDATE=1
|
||||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||||
brew unlink certifi
|
export HOMEBREW_NO_INSTALL_CLEANUP=1
|
||||||
brew install -f --overwrite nasm ninja p7zip ccache pipenv #create-dmg
|
|
||||||
|
|
||||||
#/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/bin/brew update
|
arch -x86_64 /usr/local/bin/brew update
|
||||||
arch -x86_64 /usr/local/bin/brew install -f --overwrite python || arch -x86_64 /usr/local/bin/brew link --overwrite python
|
arch -x86_64 /usr/local/bin/brew install -f --overwrite python || arch -x86_64 /usr/local/bin/brew link --overwrite python
|
||||||
arch -x86_64 /usr/local/bin/brew uninstall -f --ignore-dependencies ffmpeg
|
arch -x86_64 /usr/local/bin/brew install -f --overwrite nasm ninja p7zip ccache pipenv gnutls freetype #create-dmg
|
||||||
arch -x86_64 /usr/local/bin/brew install -f --build-from-source ffmpeg@5
|
arch -x86_64 /usr/local/bin/brew install -f ffmpeg@5
|
||||||
arch -x86_64 /usr/local/bin/brew reinstall -f --build-from-source gnutls freetype
|
arch -x86_64 /usr/local/bin/brew install "llvm@$LLVM_COMPILER_VER" glew cmake sdl3 vulkan-headers coreutils
|
||||||
arch -x86_64 /usr/local/bin/brew install llvm@$LLVM_COMPILER_VER glew cmake sdl3 vulkan-headers coreutils
|
arch -x86_64 /usr/local/bin/brew link -f "llvm@$LLVM_COMPILER_VER" ffmpeg@5
|
||||||
arch -x86_64 /usr/local/bin/brew link -f llvm@$LLVM_COMPILER_VER ffmpeg@5
|
|
||||||
|
|
||||||
# moltenvk based on commit for 1.3.0 release
|
# moltenvk based on commit for 1.3.0 release
|
||||||
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/7255441cbcafabaa8950f67c7ec55ff499dbb2d3/Formula/m/molten-vk.rb
|
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/7255441cbcafabaa8950f67c7ec55ff499dbb2d3/Formula/m/molten-vk.rb
|
||||||
|
@ -22,8 +20,6 @@ arch -x86_64 /usr/local/bin/brew install -f --overwrite ./molten-vk.rb
|
||||||
export CXX=clang++
|
export CXX=clang++
|
||||||
export CC=clang
|
export CC=clang
|
||||||
|
|
||||||
export BREW_PATH;
|
|
||||||
BREW_PATH="$(brew --prefix)"
|
|
||||||
export BREW_X64_PATH;
|
export BREW_X64_PATH;
|
||||||
BREW_X64_PATH="$("/usr/local/bin/brew" --prefix)"
|
BREW_X64_PATH="$("/usr/local/bin/brew" --prefix)"
|
||||||
export BREW_BIN="/usr/local/bin"
|
export BREW_BIN="/usr/local/bin"
|
||||||
|
@ -42,11 +38,13 @@ if [ ! -d "/tmp/Qt/$QT_VER" ]; then
|
||||||
# nested Qt 6.9.0 URL workaround
|
# nested Qt 6.9.0 URL workaround
|
||||||
# sed -i '' "s/'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/'qt{0}_{0}{1}{2}'.format(major, minor, patch), 'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/g" qt-downloader
|
# sed -i '' "s/'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/'qt{0}_{0}{1}{2}'.format(major, minor, patch), 'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/g" qt-downloader
|
||||||
# sed -i '' "s/'{}\/{}\/qt{}_{}\/'/'{0}\/{1}\/qt{2}_{3}\/qt{2}_{3}\/'/g" qt-downloader
|
# sed -i '' "s/'{}\/{}\/qt{}_{}\/'/'{0}\/{1}\/qt{2}_{3}\/qt{2}_{3}\/'/g" qt-downloader
|
||||||
|
# archived Qt 6.7.3 URL workaround
|
||||||
|
sed -i '' "s/official_releases/archive/g" qt-downloader
|
||||||
cd "/tmp/Qt"
|
cd "/tmp/Qt"
|
||||||
"$BREW_X64_PATH/bin/pipenv" run pip3 install py7zr requests semantic_version lxml
|
arch -x86_64 "$BREW_X64_PATH/bin/pipenv" --python "$BREW_X64_PATH/bin/python3" run pip3 install py7zr requests semantic_version lxml
|
||||||
mkdir -p "$QT_VER/macos" ; ln -s "macos" "$QT_VER/clang_64"
|
mkdir -p "$QT_VER/macos" ; ln -s "macos" "$QT_VER/clang_64"
|
||||||
# sed -i '' 's/args\.version \/ derive_toolchain_dir(args) \/ //g' "$WORKDIR/qt-downloader/qt-downloader" # Qt 6.9.0 workaround
|
# sed -i '' 's/args\.version \/ derive_toolchain_dir(args) \/ //g' "$WORKDIR/qt-downloader/qt-downloader" # Qt 6.9.0 workaround
|
||||||
"$BREW_X64_PATH/bin/pipenv" run "$WORKDIR/qt-downloader/qt-downloader" macos desktop "$QT_VER" clang_64 --opensource --addons qtmultimedia qtimageformats # -o "$QT_VER/clang_64"
|
arch -x86_64 "$BREW_X64_PATH/bin/pipenv" --python "$BREW_X64_PATH/bin/python3" run "$WORKDIR/qt-downloader/qt-downloader" macos desktop "$QT_VER" clang_64 --opensource --addons qtmultimedia qtimageformats # -o "$QT_VER/clang_64"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd "$WORKDIR"
|
cd "$WORKDIR"
|
||||||
|
@ -76,6 +74,7 @@ git submodule -q update --init --depth=1 --jobs=8 $(awk '/path/ && !/ffmpeg/ &&
|
||||||
# 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
|
||||||
|
|
||||||
|
rm -rf build
|
||||||
mkdir build && cd build || exit 1
|
mkdir build && cd build || exit 1
|
||||||
|
|
||||||
export MACOSX_DEPLOYMENT_TARGET=14.0
|
export MACOSX_DEPLOYMENT_TARGET=14.0
|
||||||
|
@ -105,16 +104,17 @@ export MACOSX_DEPLOYMENT_TARGET=14.0
|
||||||
-DUSE_SYSTEM_FAUDIO=OFF \
|
-DUSE_SYSTEM_FAUDIO=OFF \
|
||||||
-DUSE_SYSTEM_SDL=ON \
|
-DUSE_SYSTEM_SDL=ON \
|
||||||
-DUSE_SYSTEM_OPENCV=ON \
|
-DUSE_SYSTEM_OPENCV=ON \
|
||||||
$CMAKE_EXTRA_OPTS \
|
"$CMAKE_EXTRA_OPTS" \
|
||||||
-DLLVM_TARGET_ARCH=X86_64 \
|
-DLLVM_TARGET_ARCH=X86_64 \
|
||||||
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
|
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
|
||||||
-DCMAKE_IGNORE_PATH="$BREW_PATH/lib" \
|
-DCMAKE_IGNORE_PATH="$BREW_X64_PATH/lib" \
|
||||||
|
-DCMAKE_IGNORE_PREFIX_PATH=/usr/local/opt \
|
||||||
-DCMAKE_CXX_FLAGS="-D__MAC_OS_X_VERSION_MIN_REQUIRED=140000" \
|
-DCMAKE_CXX_FLAGS="-D__MAC_OS_X_VERSION_MIN_REQUIRED=140000" \
|
||||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||||
-DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)" \
|
-DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)" \
|
||||||
-G Ninja
|
-G Ninja
|
||||||
|
|
||||||
"$BREW_PATH/bin/ninja"; build_status=$?;
|
"$BREW_X64_PATH/bin/ninja"; build_status=$?;
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
|
12
.ci/deploy-mac-arm64.sh
Normal file → Executable file
12
.ci/deploy-mac-arm64.sh
Normal file → Executable file
|
@ -16,9 +16,9 @@ echo "AVVER=$AVVER" >> ../.ci/ci-vars.env
|
||||||
cd bin
|
cd bin
|
||||||
mkdir "rpcs3.app/Contents/lib/" || true
|
mkdir "rpcs3.app/Contents/lib/" || true
|
||||||
|
|
||||||
cp "$(realpath /opt/homebrew1/opt/llvm@$LLVM_COMPILER_VER/lib/c++/libc++abi.1.0.dylib)" "rpcs3.app/Contents/Frameworks/libc++abi.1.dylib"
|
cp "$(realpath /opt/homebrew/opt/llvm@$LLVM_COMPILER_VER/lib/c++/libc++abi.1.0.dylib)" "rpcs3.app/Contents/Frameworks/libc++abi.1.dylib"
|
||||||
cp "$(realpath /opt/homebrew1/lib/libsharpyuv.0.dylib)" "rpcs3.app/Contents/lib/libsharpyuv.0.dylib"
|
cp "$(realpath /opt/homebrew/lib/libsharpyuv.0.dylib)" "rpcs3.app/Contents/lib/libsharpyuv.0.dylib"
|
||||||
cp "$(realpath /opt/homebrew1/lib/libintl.8.dylib)" "rpcs3.app/Contents/lib/libintl.8.dylib"
|
cp "$(realpath /opt/homebrew/lib/libintl.8.dylib)" "rpcs3.app/Contents/lib/libintl.8.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" \
|
||||||
|
@ -33,10 +33,8 @@ rm -rf "rpcs3.app/Contents/Frameworks/QtPdf.framework" \
|
||||||
|
|
||||||
# Hack
|
# Hack
|
||||||
install_name_tool \
|
install_name_tool \
|
||||||
-delete_rpath /opt/homebrew1/lib \
|
|
||||||
-delete_rpath /opt/homebrew/lib \
|
-delete_rpath /opt/homebrew/lib \
|
||||||
-delete_rpath /opt/homebrew1/opt/llvm@$LLVM_COMPILER_VER/lib \
|
-delete_rpath /opt/homebrew/opt/llvm@$LLVM_COMPILER_VER/lib RPCS3.app/Contents/MacOS/rpcs3
|
||||||
-delete_rpath /usr/local/lib RPCS3.app/Contents/MacOS/rpcs3
|
|
||||||
#-delete_rpath /opt/homebrew1/Cellar/sdl3/3.2.8/lib
|
#-delete_rpath /opt/homebrew1/Cellar/sdl3/3.2.8/lib
|
||||||
|
|
||||||
# Need to do this rename hack due to case insensitive filesystem
|
# Need to do this rename hack due to case insensitive filesystem
|
||||||
|
@ -67,7 +65,7 @@ echo "IconIndex=0" >> Quickstart.url
|
||||||
#SHA256SUM=$(shasum -a 256 "$DMG_FILEPATH" | awk '{ print $1 }')
|
#SHA256SUM=$(shasum -a 256 "$DMG_FILEPATH" | awk '{ print $1 }')
|
||||||
|
|
||||||
ARCHIVE_FILEPATH="$BUILD_ARTIFACTSTAGINGDIRECTORY/rpcs3-v${COMM_TAG}-${COMM_COUNT}-${COMM_HASH}_macos_arm64.7z"
|
ARCHIVE_FILEPATH="$BUILD_ARTIFACTSTAGINGDIRECTORY/rpcs3-v${COMM_TAG}-${COMM_COUNT}-${COMM_HASH}_macos_arm64.7z"
|
||||||
"$BREW_X64_PATH/bin/7z" a -mx9 "$ARCHIVE_FILEPATH" RPCS3.app Quickstart.url
|
"$BREW_PATH/bin/7z" a -mx9 "$ARCHIVE_FILEPATH" RPCS3.app Quickstart.url
|
||||||
FILESIZE=$(stat -f %z "$ARCHIVE_FILEPATH")
|
FILESIZE=$(stat -f %z "$ARCHIVE_FILEPATH")
|
||||||
SHA256SUM=$(shasum -a 256 "$ARCHIVE_FILEPATH" | awk '{ print $1 }')
|
SHA256SUM=$(shasum -a 256 "$ARCHIVE_FILEPATH" | awk '{ print $1 }')
|
||||||
|
|
||||||
|
|
0
.ci/deploy-mac.sh
Normal file → Executable file
0
.ci/deploy-mac.sh
Normal file → Executable file
0
.ci/export-cirrus-vars.sh
Normal file → Executable file
0
.ci/export-cirrus-vars.sh
Normal file → Executable file
0
.ci/get_keys-windows.sh
Normal file → Executable file
0
.ci/get_keys-windows.sh
Normal file → Executable file
0
.ci/optimize-mac.sh
Normal file → Executable file
0
.ci/optimize-mac.sh
Normal file → Executable file
77
.github/workflows/rpcs3.yml
vendored
77
.github/workflows/rpcs3.yml
vendored
|
@ -104,6 +104,83 @@ jobs:
|
||||||
export AVVER="${COMM_TAG}-${COMM_COUNT}"
|
export AVVER="${COMM_TAG}-${COMM_COUNT}"
|
||||||
.ci/github-upload.sh
|
.ci/github-upload.sh
|
||||||
|
|
||||||
|
Mac_Build:
|
||||||
|
# Only run push event on master branch of main repo, but run all PRs
|
||||||
|
if: github.event_name != 'push' || (github.repository == 'RPCS3/rpcs3' && github.ref_name == 'master')
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- name: Intel
|
||||||
|
build_sh: "arch -X86_64 .ci/build-mac.sh"
|
||||||
|
UPLOAD_COMMIT_HASH: 8e21bdbc40711a3fccd18fbf17b742348b0f4281
|
||||||
|
UPLOAD_REPO_FULL_NAME: "rpcs3/rpcs3-binaries-mac"
|
||||||
|
- name: Apple Silicon
|
||||||
|
build_sh: ".ci/build-mac-arm64.sh"
|
||||||
|
UPLOAD_COMMIT_HASH: 51ae32f468089a8169aaf1567de355ff4a3e0842
|
||||||
|
UPLOAD_REPO_FULL_NAME: "rpcs3/rpcs3-binaries-mac-arm64"
|
||||||
|
name: RPCS3 Mac ${{ matrix.name }}
|
||||||
|
runs-on: macos-14
|
||||||
|
env:
|
||||||
|
CCACHE_DIR: "/tmp/ccache_dir"
|
||||||
|
CI_HAS_ARTIFACTS: true
|
||||||
|
QT_VER: '6.7.3'
|
||||||
|
QT_VER_MAIN: '6'
|
||||||
|
LLVM_COMPILER_VER: '19'
|
||||||
|
RELEASE_MESSAGE: "../GitHubReleaseMessage.txt"
|
||||||
|
UPLOAD_COMMIT_HASH: ${{ matrix.UPLOAD_COMMIT_HASH }}
|
||||||
|
UPLOAD_REPO_FULL_NAME: ${{ matrix.UPLOAD_REPO_FULL_NAME }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@main
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Setup Cache
|
||||||
|
uses: actions/cache@main
|
||||||
|
with:
|
||||||
|
path: ${{ env.CCACHE_DIR }}
|
||||||
|
key: ${{ runner.os }}-ccache-${{ matrix.name }}-${{github.run_id}}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-ccache-${{ matrix.name }}-
|
||||||
|
|
||||||
|
- name: Setup Qt Cache
|
||||||
|
uses: actions/cache@main
|
||||||
|
with:
|
||||||
|
path: "/tmp/Qt"
|
||||||
|
key: ${{ runner.os }}-qt-${{ matrix.name }}-${{ env.QT_VER }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-qt-${{ matrix.name }}-${{ env.QT_VER }}
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
${{ matrix.build_sh }}
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@main
|
||||||
|
with:
|
||||||
|
name: RPCS3 for Mac (${{ matrix.name }})
|
||||||
|
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}
|
||||||
|
compression-level: 0
|
||||||
|
|
||||||
|
- name: Export Variables
|
||||||
|
run: |
|
||||||
|
while IFS='=' read -r key val; do
|
||||||
|
# Skip lines that are empty or start with '#'
|
||||||
|
[[ -z "$key" || "$key" =~ ^# ]] && continue
|
||||||
|
echo "$key=$val" >> "${{ github.env }}"
|
||||||
|
done < .ci/ci-vars.env
|
||||||
|
|
||||||
|
- name: Deploy master build to GitHub Releases
|
||||||
|
if: |
|
||||||
|
github.event_name != 'pull_request' &&
|
||||||
|
github.repository == 'RPCS3/rpcs3' &&
|
||||||
|
github.ref == 'refs/heads/master'
|
||||||
|
env:
|
||||||
|
RPCS3_TOKEN: ${{ secrets.RPCS3_TOKEN }}
|
||||||
|
run: |
|
||||||
|
.ci/github-upload.sh
|
||||||
|
|
||||||
Windows_Build:
|
Windows_Build:
|
||||||
# Only run push event on master branch of main repo, but run all PRs
|
# Only run push event on master branch of main repo, but run all PRs
|
||||||
if: github.event_name != 'push' || (github.repository == 'RPCS3/rpcs3' && github.ref_name == 'master')
|
if: github.event_name != 'push' || (github.repository == 'RPCS3/rpcs3' && github.ref_name == 'master')
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
RPCS3
|
RPCS3
|
||||||
=====
|
=====
|
||||||
|
|
||||||
[](https://dev.azure.com/nekotekina/nekotekina/_build?definitionId=8&_a=summary&repositoryFilter=4)
|
|
||||||
[](https://cirrus-ci.com/github/RPCS3/rpcs3)
|
[](https://cirrus-ci.com/github/RPCS3/rpcs3)
|
||||||
[](https://github.com/RPCS3/rpcs3/actions/workflows/rpcs3.yml)
|
[](https://github.com/RPCS3/rpcs3/actions/workflows/rpcs3.yml)
|
||||||
[](https://discord.gg/rpcs3)
|
[](https://discord.gg/rpcs3)
|
||||||
|
|
|
@ -1,260 +0,0 @@
|
||||||
trigger:
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- master
|
|
||||||
tags:
|
|
||||||
exclude:
|
|
||||||
- '*'
|
|
||||||
pr:
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- master
|
|
||||||
jobs:
|
|
||||||
# - job: Linux_Build
|
|
||||||
# strategy:
|
|
||||||
# matrix:
|
|
||||||
# Clang:
|
|
||||||
# COMPILER: clang
|
|
||||||
# GCC:
|
|
||||||
# COMPILER: gcc
|
|
||||||
# variables:
|
|
||||||
# CCACHE_DIR: $(Pipeline.Workspace)/ccache
|
|
||||||
# CI_HAS_ARTIFACTS: true
|
|
||||||
# UPLOAD_COMMIT_HASH: d812f1254a1157c80fd402f94446310560f54e5f
|
|
||||||
# UPLOAD_REPO_FULL_NAME: "RPCS3/rpcs3-binaries-linux"
|
|
||||||
# DEPLOY_APPIMAGE: true
|
|
||||||
# APPDIR: "/rpcs3/build/appdir"
|
|
||||||
# ARTDIR: "/root/artifacts"
|
|
||||||
# RELEASE_MESSAGE: "/rpcs3/GitHubReleaseMessage.txt"
|
|
||||||
|
|
||||||
# pool:
|
|
||||||
# vmImage: 'ubuntu-latest'
|
|
||||||
|
|
||||||
# steps:
|
|
||||||
# - task: Cache@2
|
|
||||||
# inputs:
|
|
||||||
# key: ccache | $(Agent.OS) | $(COMPILER) | $(Build.SourceVersion)
|
|
||||||
# restoreKeys: |
|
|
||||||
# ccache | $(Agent.OS) | $(COMPILER)
|
|
||||||
# path: $(CCACHE_DIR)
|
|
||||||
# displayName: ccache
|
|
||||||
|
|
||||||
# - bash: |
|
|
||||||
# docker pull --quiet rpcs3/rpcs3-ci-jammy:1.6
|
|
||||||
# docker run \
|
|
||||||
# -v $(pwd):/rpcs3 \
|
|
||||||
# --env-file .ci/docker.env \
|
|
||||||
# -v $CCACHE_DIR:/root/.ccache \
|
|
||||||
# -v $BUILD_ARTIFACTSTAGINGDIRECTORY:/root/artifacts \
|
|
||||||
# rpcs3/rpcs3-ci-jammy:1.6 \
|
|
||||||
# /rpcs3/.ci/build-linux.sh
|
|
||||||
# displayName: Docker setup and build
|
|
||||||
|
|
||||||
# - publish: $(Build.ArtifactStagingDirectory)
|
|
||||||
# condition: succeeded()
|
|
||||||
# artifact: RPCS3 for Linux ($(COMPILER))
|
|
||||||
|
|
||||||
# - bash: |
|
|
||||||
# COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ./rpcs3/rpcs3_version.cpp)
|
|
||||||
# COMM_COUNT=$(git rev-list --count HEAD)
|
|
||||||
# COMM_HASH=$(git rev-parse --short=8 HEAD)
|
|
||||||
|
|
||||||
# export AVVER="${COMM_TAG}-${COMM_COUNT}"
|
|
||||||
|
|
||||||
# .ci/github-upload.sh
|
|
||||||
# condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.Repository.Name'], 'RPCS3/rpcs3'), eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['COMPILER'], 'clang'))
|
|
||||||
# displayName: Push build to GitHub
|
|
||||||
# env:
|
|
||||||
# RPCS3_TOKEN: $(RPCS3-Token)
|
|
||||||
|
|
||||||
# - job: Windows_Build
|
|
||||||
# variables:
|
|
||||||
# COMPILER: msvc
|
|
||||||
# QT_VER_MAIN: '6'
|
|
||||||
# QT_VER: '6.9.0'
|
|
||||||
# QT_VER_MSVC: 'msvc2022'
|
|
||||||
# QT_DATE: '202503301022'
|
|
||||||
# QTDIR: C:\Qt\$(QT_VER)\$(QT_VER_MSVC)_64
|
|
||||||
# LLVM_VER: '19.1.7'
|
|
||||||
# VULKAN_VER: '1.3.268.0'
|
|
||||||
# VULKAN_SDK_SHA: '8459ef49bd06b697115ddd3d97c9aec729e849cd775f5be70897718a9b3b9db5'
|
|
||||||
# VULKAN_SDK: C:\VulkanSDK\$(VULKAN_VER)
|
|
||||||
# CCACHE_SHA: '6252f081876a9a9f700fae13a5aec5d0d486b28261d7f1f72ac11c7ad9df4da9'
|
|
||||||
# CCACHE_BIN_DIR: 'C:\ccache_bin'
|
|
||||||
# CCACHE_DIR: 'C:\ccache'
|
|
||||||
# CCACHE_INODECACHE: 'true'
|
|
||||||
# CCACHE_SLOPPINESS: 'time_macros'
|
|
||||||
# DEPS_CACHE_DIR: ./dependency_cache
|
|
||||||
# UPLOAD_COMMIT_HASH: 7d09e3be30805911226241afbb14f8cdc2eb054e
|
|
||||||
# UPLOAD_REPO_FULL_NAME: "RPCS3/rpcs3-binaries-win"
|
|
||||||
|
|
||||||
# pool:
|
|
||||||
# vmImage: "windows-latest"
|
|
||||||
|
|
||||||
# steps:
|
|
||||||
# - bash: .ci/get_keys-windows.sh
|
|
||||||
# displayName: Get Cache Keys
|
|
||||||
|
|
||||||
# - task: Cache@2
|
|
||||||
# inputs:
|
|
||||||
# key: ccache | $(Agent.OS) | $(COMPILER) | "$(Build.SourceVersion)"
|
|
||||||
# path: $(CCACHE_DIR)
|
|
||||||
# restoreKeys:
|
|
||||||
# ccache | $(Agent.OS) | $(COMPILER)
|
|
||||||
# displayName: Build Ccache
|
|
||||||
|
|
||||||
# - task: Cache@2
|
|
||||||
# inputs:
|
|
||||||
# key: $(Agent.OS) | $(COMPILER) | "$(QT_VER)" | $(VULKAN_SDK_SHA) | $(CCACHE_SHA) | llvm.lock
|
|
||||||
# path: $(DEPS_CACHE_DIR)
|
|
||||||
# displayName: Dependencies Cache
|
|
||||||
|
|
||||||
# - bash: .ci/setup-windows.sh
|
|
||||||
# displayName: Download and unpack dependencies
|
|
||||||
|
|
||||||
# - bash: .ci/export-azure-vars.sh
|
|
||||||
# displayName: Export Variables
|
|
||||||
|
|
||||||
# - task: VSBuild@1
|
|
||||||
# inputs:
|
|
||||||
# solution: 'rpcs3.sln'
|
|
||||||
# maximumCpuCount: true
|
|
||||||
# platform: x64
|
|
||||||
# configuration: 'Release'
|
|
||||||
# msbuildArgs: /p:CLToolPath=$(CCACHE_BIN_DIR) /p:UseMultiToolTask=true /p:CustomAfterMicrosoftCommonTargets="$(Build.SourcesDirectory)\buildfiles\msvc\ci_only.targets"
|
|
||||||
# displayName: Compile RPCS3
|
|
||||||
|
|
||||||
# - bash: .ci/deploy-windows.sh
|
|
||||||
# displayName: Pack up build artifacts
|
|
||||||
|
|
||||||
# - publish: $(Build.ArtifactStagingDirectory)
|
|
||||||
# condition: succeeded()
|
|
||||||
# artifact: RPCS3 for Windows
|
|
||||||
|
|
||||||
# - bash: .ci/github-upload.sh
|
|
||||||
# condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.Repository.Name'], 'RPCS3/rpcs3'), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
|
|
||||||
# displayName: Push build to GitHub
|
|
||||||
# env:
|
|
||||||
# RPCS3_TOKEN: $(RPCS3-Token)
|
|
||||||
|
|
||||||
- job: Mac_Build_x86_64
|
|
||||||
timeoutInMinutes: 180
|
|
||||||
variables:
|
|
||||||
CCACHE_DIR: "/tmp/ccache_dir"
|
|
||||||
CCACHE_MAXSIZE: 300M
|
|
||||||
CI_HAS_ARTIFACTS: true
|
|
||||||
UPLOAD_COMMIT_HASH: 51ae32f468089a8169aaf1567de355ff4a3e0842
|
|
||||||
UPLOAD_REPO_FULL_NAME: "RPCS3/rpcs3-binaries-mac"
|
|
||||||
RELEASE_MESSAGE: "../GitHubReleaseMessage.txt"
|
|
||||||
ARTDIR: $(Build.ArtifactStagingDirectory)
|
|
||||||
QT_VER: '6.7.3'
|
|
||||||
QT_VER_MAIN: '6'
|
|
||||||
LLVM_COMPILER_VER: '19'
|
|
||||||
|
|
||||||
pool:
|
|
||||||
vmImage: "macOS-14"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- task: Cache@2
|
|
||||||
inputs:
|
|
||||||
key: ccache | "$(Agent.OS)" | "$(Agent.OSArchitecture)" | "$(Build.SourceVersion)"
|
|
||||||
path: $(CCACHE_DIR)
|
|
||||||
restoreKeys: |
|
|
||||||
ccache | "$(Agent.OS)" | "$(Agent.OSArchitecture)"
|
|
||||||
displayName: Ccache cache
|
|
||||||
|
|
||||||
- task: Cache@2
|
|
||||||
inputs:
|
|
||||||
key: qt | "$(Agent.OS)" | "$(Agent.OSArchitecture)" | "$(QT_VER)"
|
|
||||||
path: /tmp/Qt
|
|
||||||
restoreKeys: |
|
|
||||||
qt | "$(Agent.OS)" | "$(Agent.OSArchitecture)" | "$(QT_VER)"
|
|
||||||
displayName: Qt cache
|
|
||||||
|
|
||||||
# - task: Cache@2
|
|
||||||
# inputs:
|
|
||||||
# key: brew | "$(Agent.OS)"
|
|
||||||
# path: /Users/runner/Library/Caches/Homebrew
|
|
||||||
# restoreKeys: |
|
|
||||||
# brew | "$(Agent.OS)"
|
|
||||||
# displayName: Homebrew cache
|
|
||||||
|
|
||||||
- bash: |
|
|
||||||
chmod +x ".ci/build-mac.sh"
|
|
||||||
chmod +x ".ci/deploy-mac.sh"
|
|
||||||
chmod +x ".ci/optimize-mac.sh"
|
|
||||||
".ci/build-mac.sh"
|
|
||||||
displayName: Build macOS (x86_64)
|
|
||||||
|
|
||||||
- publish: $(Build.ArtifactStagingDirectory)
|
|
||||||
condition: succeeded()
|
|
||||||
artifact: RPCS3 for Mac (Intel)
|
|
||||||
|
|
||||||
- bash: |
|
|
||||||
source './.ci/export-cirrus-vars.sh'
|
|
||||||
.ci/github-upload.sh
|
|
||||||
condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.Repository.Name'], 'RPCS3/rpcs3'), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
|
|
||||||
displayName: Push build to GitHub
|
|
||||||
env:
|
|
||||||
RPCS3_TOKEN: $(RPCS3-Token)
|
|
||||||
|
|
||||||
- job: Mac_Build_arm64
|
|
||||||
timeoutInMinutes: 180
|
|
||||||
variables:
|
|
||||||
CCACHE_DIR: "/tmp/ccache_dir"
|
|
||||||
CCACHE_MAXSIZE: 300M
|
|
||||||
CI_HAS_ARTIFACTS: true
|
|
||||||
UPLOAD_COMMIT_HASH: 8e21bdbc40711a3fccd18fbf17b742348b0f4281
|
|
||||||
UPLOAD_REPO_FULL_NAME: "RPCS3/rpcs3-binaries-mac-arm64"
|
|
||||||
RELEASE_MESSAGE: "../GitHubReleaseMessage.txt"
|
|
||||||
ARTDIR: $(Build.ArtifactStagingDirectory)
|
|
||||||
QT_VER: '6.7.3'
|
|
||||||
QT_VER_MAIN: '6'
|
|
||||||
LLVM_COMPILER_VER: '19'
|
|
||||||
|
|
||||||
pool:
|
|
||||||
vmImage: "macOS-14"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- task: Cache@2
|
|
||||||
inputs:
|
|
||||||
key: ccache | "$(Agent.OS)" | "$(Agent.OSArchitecture)" | "$(Build.SourceVersion)"
|
|
||||||
path: $(CCACHE_DIR)
|
|
||||||
restoreKeys: |
|
|
||||||
ccache | "$(Agent.OS)" | "$(Agent.OSArchitecture)"
|
|
||||||
displayName: Ccache cache
|
|
||||||
|
|
||||||
- task: Cache@2
|
|
||||||
inputs:
|
|
||||||
key: qt | "$(Agent.OS)" | "$(Agent.OSArchitecture)" | "$(QT_VER)"
|
|
||||||
path: /tmp/Qt
|
|
||||||
restoreKeys: |
|
|
||||||
qt | "$(Agent.OS)" | "$(Agent.OSArchitecture)" | "$(QT_VER)"
|
|
||||||
displayName: Qt cache
|
|
||||||
|
|
||||||
# - task: Cache@2
|
|
||||||
# inputs:
|
|
||||||
# key: brew | "$(Agent.OS)"
|
|
||||||
# path: /Users/runner/Library/Caches/Homebrew
|
|
||||||
# restoreKeys: |
|
|
||||||
# brew | "$(Agent.OS)"
|
|
||||||
# displayName: Homebrew cache
|
|
||||||
|
|
||||||
- bash: |
|
|
||||||
chmod +x ".ci/build-mac-arm64.sh"
|
|
||||||
chmod +x ".ci/deploy-mac-arm64.sh"
|
|
||||||
chmod +x ".ci/optimize-mac.sh"
|
|
||||||
".ci/build-mac-arm64.sh"
|
|
||||||
displayName: Build macOS (arm64)
|
|
||||||
|
|
||||||
- publish: $(Build.ArtifactStagingDirectory)
|
|
||||||
condition: succeeded()
|
|
||||||
artifact: RPCS3 for Mac (Apple Silicon)
|
|
||||||
|
|
||||||
- bash: |
|
|
||||||
source './.ci/export-cirrus-vars.sh'
|
|
||||||
.ci/github-upload.sh
|
|
||||||
condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.Repository.Name'], 'RPCS3/rpcs3'), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
|
|
||||||
displayName: Push build to GitHub
|
|
||||||
env:
|
|
||||||
RPCS3_TOKEN: $(RPCS3-Token)
|
|
|
@ -1,2 +0,0 @@
|
||||||
set(CMAKE_SYSTEM_NAME Darwin)
|
|
||||||
set(CMAKE_SYSTEM_PROCESSOR arm64)
|
|
|
@ -2130,7 +2130,6 @@
|
||||||
<None Include="..\.ci\deploy-mac.sh" />
|
<None Include="..\.ci\deploy-mac.sh" />
|
||||||
<None Include="..\.ci\deploy-windows.sh" />
|
<None Include="..\.ci\deploy-windows.sh" />
|
||||||
<None Include="..\.ci\docker.env" />
|
<None Include="..\.ci\docker.env" />
|
||||||
<None Include="..\.ci\export-azure-vars.sh" />
|
|
||||||
<None Include="..\.ci\export-cirrus-vars.sh" />
|
<None Include="..\.ci\export-cirrus-vars.sh" />
|
||||||
<None Include="..\.ci\get_keys-windows.sh" />
|
<None Include="..\.ci\get_keys-windows.sh" />
|
||||||
<None Include="..\.ci\github-upload.sh" />
|
<None Include="..\.ci\github-upload.sh" />
|
||||||
|
@ -2138,7 +2137,6 @@
|
||||||
<None Include="..\.ci\optimize-mac.sh" />
|
<None Include="..\.ci\optimize-mac.sh" />
|
||||||
<None Include="..\.ci\setup-windows.sh" />
|
<None Include="..\.ci\setup-windows.sh" />
|
||||||
<None Include="..\.github\workflows\rpcs3.yml" />
|
<None Include="..\.github\workflows\rpcs3.yml" />
|
||||||
<None Include="..\azure-pipelines.yml" />
|
|
||||||
<None Include="..\bin\GuiConfigs\Classic (Bright).qss" />
|
<None Include="..\bin\GuiConfigs\Classic (Bright).qss" />
|
||||||
<None Include="..\bin\GuiConfigs\Darker Style by TheMitoSan.qss" />
|
<None Include="..\bin\GuiConfigs\Darker Style by TheMitoSan.qss" />
|
||||||
<None Include="..\bin\GuiConfigs\Envy.qss" />
|
<None Include="..\bin\GuiConfigs\Envy.qss" />
|
||||||
|
|
|
@ -1809,9 +1809,6 @@
|
||||||
<None Include="..\.cirrus.yml">
|
<None Include="..\.cirrus.yml">
|
||||||
<Filter>CI</Filter>
|
<Filter>CI</Filter>
|
||||||
</None>
|
</None>
|
||||||
<None Include="..\azure-pipelines.yml">
|
|
||||||
<Filter>CI</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\.ci\build-freebsd.sh">
|
<None Include="..\.ci\build-freebsd.sh">
|
||||||
<Filter>CI</Filter>
|
<Filter>CI</Filter>
|
||||||
</None>
|
</None>
|
||||||
|
@ -1830,9 +1827,6 @@
|
||||||
<None Include="..\.ci\deploy-windows.sh">
|
<None Include="..\.ci\deploy-windows.sh">
|
||||||
<Filter>CI</Filter>
|
<Filter>CI</Filter>
|
||||||
</None>
|
</None>
|
||||||
<None Include="..\.ci\export-azure-vars.sh">
|
|
||||||
<Filter>CI</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\.ci\export-cirrus-vars.sh">
|
<None Include="..\.ci\export-cirrus-vars.sh">
|
||||||
<Filter>CI</Filter>
|
<Filter>CI</Filter>
|
||||||
</None>
|
</None>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue