Build RPCSX #259
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build RPCSX | |
on: | |
workflow_dispatch: | |
jobs: | |
build-rpcsx: | |
runs-on: ubuntu-latest | |
env: | |
clang_ver: 17 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
repository: RPCSX/rpcsx # qurious-pixel/rpcsx # | |
ref: master # devel # v20231111 # | |
submodules: recursive | |
- name: Checkout AppImage Repo | |
uses: actions/checkout@v4 | |
with: | |
clean: false | |
path: ci | |
- name: Checkout UI Repo | |
uses: actions/checkout@v4 | |
with: | |
repository: qurious-pixel/RPCSX_UI_REDESIGN | |
ref: pkg_extract | |
clean: false | |
path: ui | |
- name: Setup dependencies | |
run: | | |
sudo apt update | |
sudo apt install -y cmake build-essential libunwind-dev yad \ | |
libglfw3-dev libvulkan-dev vulkan-validationlayers-dev libsox-dev \ | |
spirv-tools glslang-tools libspirv-cross-c-shared-dev libfuse2 ninja-build \ | |
qt6-base-dev | |
- name: Setup Clang | |
run: | | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x ./llvm.sh | |
sudo ./llvm.sh ${{ env.clang_ver }} | |
- name: Setup Vulkan Headers | |
run: | | |
VULKANVER=1.3.269 | |
curl -sSfLo Vulkan-Headers.tar.gz https://github.com/KhronosGroup/Vulkan-Headers/archive/v${VULKANVER}.tar.gz | |
tar -xf Vulkan-Headers*.tar.gz | |
cd Vulkan-Headers*/ | |
mkdir build && cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr | |
make -j$(nproc) | |
sudo make install | |
- name: Setup SPIRV Cross | |
run: | | |
git clone https://github.com/KhronosGroup/SPIRV-Cross | |
cd SPIRV-Cross | |
mkdir build && cd build | |
cmake .. | |
cmake --build . | |
sudo make install | |
- name: Setup Cryptopp | |
run: | | |
git clone https://github.com/weidai11/cryptopp.git | |
cd cryptopp | |
make -j$(nproc) && sudo make install | |
- name: Setup Zlib-ng | |
run: | | |
git clone https://github.com/zlib-ng/zlib-ng.git | |
cd zlib-ng | |
./configure && make -j$(nproc) && sudo make install | |
- name: Build RPCSX | |
run: | | |
cmake -Bbuild -DCMAKE_BUILD_TYPE=Release -GNinja && \ | |
cmake --build build --parallel | |
ls -al build/bin | |
- name: Build RPCSX UI | |
run: | | |
cd ui/ | |
/usr/lib/qt6/bin/qmake | |
CXX=clang++-${{ env.clang_ver }} make -j$(nproc) | |
- name: Package RPCSX AppImage | |
run: | | |
chmod +x ci/.github/assets/appimage.sh | |
ci/.github/assets/appimage.sh | |
mkdir -p artifacts | |
cp rpcsx.AppImage artifacts/ | |
#cp build/bin/rpcsx-* artifacts/ | |
- name: Upload RPCSX | |
uses: actions/upload-artifact@v4 | |
with: | |
name: rpcsx | |
path: artifacts | |
if-no-files-found: error |