Windows fix #46
This file contains hidden or 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: CMake | |
on: [push, workflow_dispatch] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
CMAKE_BUILD_PARALLEL_LEVEL: 4 | |
jobs: | |
macos-universal-build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1.2 | |
with: | |
key: macos | |
- name: Build plugins | |
run: | | |
python3 ./build.py --compiler-launcher ccache | |
mv Build Build-macOS-Universal | |
- name: Archive Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Build-macOS-Universal | |
path: Build-macOS-Universal | |
windows-64-build: | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Set up MSVC environment | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x64 | |
- name: Install Ninja | |
uses: seanmiddleditch/gha-setup-ninja@v3 | |
- name: Build plugins | |
shell: bash | |
run: | | |
python3 ./build.py | |
mv Build Build-Win64 | |
- name: Archive Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Build-Win64 | |
path: Build-Win64 | |
windows-32-build: | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Build plugins | |
shell: bash | |
run: | | |
python3 ./build.py | |
mv Build Build-Win32 | |
- name: Archive Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Build-Win32 | |
path: Build-Win32 | |
linux-x64-build: | |
name: ${{ matrix.name }} | |
runs-on: ubuntu-latest | |
container: | |
image: ${{ matrix.os }} | |
options: --privileged | |
volumes: | |
- /sys/fs/cgroup:/sys/fs/cgroup | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: Ubuntu-22.04-x64 | |
os: ubuntu:22.04 | |
pacman: apt | |
- name: Ubuntu-24.04-x64 | |
os: ubuntu:24.04 | |
pacman: apt | |
- name: Debian-x64 | |
os: debian | |
pacman: apt | |
- name: Fedora-41-x64 | |
os: fedora:41 | |
pacman: dnf | |
- name: Fedora-42-x64 | |
os: fedora:42 | |
pacman: dnf | |
- name: OpenSUSE-Tumbleweed-x64 | |
os: opensuse/tumbleweed | |
pacman: zypper | |
- name: Arch-x64 | |
os: archlinux | |
pacman: pacman | |
steps: | |
- name: Install Dependencies (dnf) | |
if: ${{ matrix.pacman == 'dnf' }} | |
run: dnf install -y git cmake alsa-lib-devel libXinerama-devel freetype-devel curl libcurl-devel wget bzip2 gcc-c++ libXi-devel libXcomposite-devel freeglut-devel libXrandr-devel libXcursor-devel xz ccache python python3-pip jack-audio-connection-kit-devel libatomic unzip ninja-build | |
- name: Install Dependencies (apt) | |
if: ${{ matrix.pacman == 'apt' }} | |
run: apt update && DEBIAN_FRONTEND=noninteractive TZ="Europe/Amsterdam" apt install -y cmake git wget bzip2 build-essential libasound2-dev libjack-jackd2-dev curl libcurl4-openssl-dev libfreetype6-dev libx11-dev libxi-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxrandr-dev libxinerama-dev ccache python3 python3-pip freeglut3-dev unzip ninja-build | |
- name: Install Dependencies (zypper) | |
if: ${{ matrix.pacman == 'zypper' }} | |
run: zypper refresh && zypper install -y git rsync wget bzip2 xz tar cmake alsa-devel libXinerama-devel libXi-devel libcurl-devel libXcomposite-devel freeglut-devel libXrandr-devel libXcursor-devel freetype2-devel gcc gcc-c++ curl ccache python3 libjack-devel gawk unzip ninja | |
- name: Install Dependencies (pacman) | |
if: ${{ matrix.pacman == 'pacman' }} | |
run: pacman -Sy && pacman -S --noconfirm cmake wget bzip2 git alsa-lib freetype2 libx11 libxcursor libxi libxext libxinerama libxrandr libxrender webkit2gtk cmake make gcc pkgconf python python-pip curl ccache freeglut mesa glfw-x11 glew jack2 openssl unzip ninja && pacman --noconfirm -Syu | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Update cmake | |
working-directory: ${{github.workspace}} | |
run: ./.github/scripts/install-cmake.sh | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1.2 | |
with: | |
key: ${{ matrix.name }} | |
- name: Build plugins | |
run: | | |
python3 ./build.py --compiler-launcher ccache | |
mv Build Build-${{ matrix.name }} | |
- name: Archive Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Build-${{ matrix.name }} | |
path: Build-${{ matrix.name }} | |
linux-arm-build: | |
name: ${{ matrix.name }} | |
runs-on: ubuntu-24.04-arm | |
container: | |
image: ${{ matrix.os }} | |
options: --privileged | |
volumes: | |
- /sys/fs/cgroup:/sys/fs/cgroup | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: Ubuntu-22.04-aarch64 | |
os: ubuntu:22.04 | |
pacman: apt | |
- name: Ubuntu-24.04-aarch64 | |
os: ubuntu:24.04 | |
pacman: apt | |
- name: Debian-aarch64 | |
os: debian | |
pacman: apt | |
- name: Fedora-41-aarch64 | |
os: fedora:41 | |
pacman: dnf | |
- name: Fedora-42-aarch64 | |
os: fedora:42 | |
pacman: dnf | |
steps: | |
- name: Install Dependencies (dnf) | |
if: ${{ matrix.pacman == 'dnf' }} | |
run: dnf install -y git cmake alsa-lib-devel libXinerama-devel freetype-devel curl libcurl-devel wget bzip2 gcc-c++ libXi-devel libXcomposite-devel freeglut-devel libXrandr-devel libXcursor-devel xz ccache python python3-pip jack-audio-connection-kit-devel libatomic unzip ninja-build | |
- name: Install Dependencies (apt) | |
if: ${{ matrix.pacman == 'apt' }} | |
run: apt update && DEBIAN_FRONTEND=noninteractive TZ="Europe/Amsterdam" apt install -y cmake git wget bzip2 build-essential libasound2-dev libjack-jackd2-dev curl libcurl4-openssl-dev libfreetype6-dev libx11-dev libxi-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxrandr-dev libxinerama-dev ccache python3 python3-pip freeglut3-dev unzip ninja-build | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Update cmake | |
working-directory: ${{github.workspace}} | |
run: ./.github/scripts/install-cmake.sh | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1.2 | |
with: | |
key: ${{ matrix.name }} | |
- name: Build plugins | |
run: | | |
python3 ./build.py --compiler-launcher ccache | |
mv Build Build-${{ matrix.name }} | |
- name: Archive Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Build-${{ matrix.name }} | |
path: Build-${{ matrix.name }} |