Skip to content

add libpatterns to makefile #279

add libpatterns to makefile

add libpatterns to makefile #279

Workflow file for this run

name: CI
on:
push:
branches: [ "master" ]
pull_request:
jobs:
linux-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install dependencies
run: |
sudo apt update
sudo apt install clang-19 libxxhash-dev libxbyak-dev \
libcglm-dev libfdk-aac-dev
# SDL build dependencies
sudo apt install build-essential git make \
pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev \
libaudio-dev libjack-dev libsndio-dev libx11-dev libxext-dev \
libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev \
libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev \
libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev fcitx-libs-dev \
libpipewire-0.3-dev libwayland-dev libdecor-0-dev liburing-dev
git clone https://github.com/libsdl-org/SDL.git
cd SDL
mkdir build
cd build
cmake ..
sudo make install
- name: build
run: make USER=1
- name: create appimage
run: |
sudo apt install libfuse2
./.github/linux-appimage.sh
- uses: actions/upload-artifact@v4
with:
name: Tanuki3DS-linux-binary
path: ./ctremu
- uses: actions/upload-artifact@v4
with:
name: Tanuki3DS-linux-appimage
path: ./Tanuki3DS-x86_64.AppImage
linux-arm-build:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: install dependencies
run: |
sudo apt update
sudo apt install clang-19 libxxhash-dev libcglm-dev libfdk-aac-dev
# SDL build dependencies
sudo apt install build-essential git make \
pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev \
libaudio-dev libjack-dev libsndio-dev libx11-dev libxext-dev \
libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev \
libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev \
libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev fcitx-libs-dev \
libpipewire-0.3-dev libwayland-dev libdecor-0-dev liburing-dev
git clone https://github.com/libsdl-org/SDL.git
cd SDL
mkdir build
cd build
cmake ..
sudo make install
cd ../..
git clone https://github.com/fujitsu/xbyak_aarch64.git
cd xbyak_aarch64
sudo make install
- name: build
run: make USER=1
- name: create appimage
run: |
sudo apt install libfuse2
./.github/linux-appimage.sh
- uses: actions/upload-artifact@v4
with:
name: Tanuki3DS-linux-arm-binary
path: ./ctremu
- uses: actions/upload-artifact@v4
with:
name: Tanuki3DS-linux-arm-appimage
path: ./Tanuki3DS-aarch64.AppImage
macos-x86-build:
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- name: install dependencies
run: |
brew update
brew install llvm sdl3 xxhash xbyak cglm fdk-aac \
|| brew link --overwrite python
- name: build
run: make USER=1
# taken from panda3ds
- name: create app bundle
run: |
brew install dylibbundler imagemagick || brew link --overwrite python
./.github/mac-bundle.sh
codesign --force -s - -vvvv Tanuki3DS.app
zip -r Tanuki3DS-macos-x86_64 Tanuki3DS.app
- uses: actions/upload-artifact@v4
with:
name: Tanuki3DS-macos-x86_64
path: ./Tanuki3DS-macos-x86_64.zip
macos-arm-build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: install dependencies
run: |
brew update
brew install llvm sdl3 xxhash cglm fdk-aac
git clone https://github.com/fujitsu/xbyak_aarch64.git
cd xbyak_aarch64
sudo make install
- name: build
run: make USER=1
# taken from panda3ds
- name: create app bundle
run: |
brew install dylibbundler imagemagick
./.github/mac-bundle.sh
codesign --force -s - -vvvv Tanuki3DS.app
zip -r Tanuki3DS-macos-arm64 Tanuki3DS.app
- uses: actions/upload-artifact@v4
with:
name: Tanuki3DS-macos-arm64
path: ./Tanuki3DS-macos-arm64.zip
windows-build:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
- uses: actions/checkout@v4
- name: install dependencies
run: |
pacman -Sy
pacman --noconfirm -S git make \
mingw-w64-x86_64-{clang,lld,sdl3,xxhash,cglm,fdk-aac}
git clone https://github.com/herumi/xbyak.git
cd xbyak
make install
- name: build
run: make USER=1
- name: package libs
run: ./.github/windows-libs.sh
- uses: actions/upload-artifact@v4
with:
name: Tanuki3DS-windows
path: Tanuki3DS