| name: Build |
| |
| on: [push, pull_request] |
| |
| jobs: |
| Build: |
| name: ${{ matrix.platform.name }} |
| runs-on: ${{ matrix.platform.os }} |
| |
| defaults: |
| run: |
| shell: ${{ matrix.platform.shell }} |
| |
| strategy: |
| fail-fast: false |
| matrix: |
| platform: |
| - { name: Windows (mingw32), os: windows-latest, shell: 'msys2 {0}', msystem: mingw32, msys-env: mingw-w64-i686 } |
| - { name: Windows (mingw64), os: windows-latest, shell: 'msys2 {0}', msystem: mingw64, msys-env: mingw-w64-x86_64 } |
| - { name: Linux, os: ubuntu-20.04, shell: sh, flags: -GNinja } |
| - { name: MacOS, os: macos-latest, shell: sh } |
| |
| steps: |
| - name: Set up MSYS2 |
| if: matrix.platform.shell == 'msys2 {0}' |
| uses: msys2/setup-msys2@v2 |
| with: |
| msystem: ${{ matrix.platform.msystem }} |
| install: >- |
| ${{ matrix.platform.msys-env }}-gcc |
| ${{ matrix.platform.msys-env }}-cmake |
| ${{ matrix.platform.msys-env }}-ninja |
| ${{ matrix.platform.msys-env }}-pkg-config |
| |
| - name: Setup Linux dependencies |
| if: runner.os == 'Linux' |
| run: | |
| sudo apt-get update |
| sudo apt-get install wayland-protocols \ |
| pkg-config \ |
| ninja-build \ |
| libasound2-dev \ |
| libdbus-1-dev \ |
| libegl1-mesa-dev \ |
| libgl1-mesa-dev \ |
| libgles2-mesa-dev \ |
| libglu1-mesa-dev \ |
| libibus-1.0-dev \ |
| libpulse-dev \ |
| libsdl2-2.0-0 \ |
| libsndio-dev \ |
| libudev-dev \ |
| libwayland-dev \ |
| libwayland-client++0 \ |
| wayland-scanner++ \ |
| libwayland-cursor++0 \ |
| libx11-dev \ |
| libxcursor-dev \ |
| libxext-dev \ |
| libxi-dev \ |
| libxinerama-dev \ |
| libxkbcommon-dev \ |
| libxrandr-dev \ |
| libxss-dev \ |
| libxt-dev \ |
| libxv-dev \ |
| libxxf86vm-dev \ |
| libdrm-dev \ |
| libgbm-dev\ |
| libpulse-dev \ |
| libpango1.0-dev |
| sudo apt install meson |
| git clone --depth 1 https://gitlab.gnome.org/jadahl/libdecor.git --branch 0.1.0 |
| cd libdecor |
| meson build --buildtype release -Ddemo=false -Ddbus=disabled |
| ninja -C build |
| sudo meson install -C build |
| - uses: actions/checkout@v2 |
| - name: Configure CMake |
| run: cmake -B build -DSDL_TEST=ON ${{ matrix.platform.flags }} |
| - name: Build |
| run: cmake --build build/ --config Release |
| |