|
|
|
name: build
|
|
|
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
include:
|
|
|
|
- os: ubuntu-latest
|
|
|
|
cc: gcc
|
|
|
|
cxx: g++
|
|
|
|
- os: ubuntu-latest
|
|
|
|
cc: clang
|
|
|
|
cxx: clang++
|
|
|
|
env:
|
|
|
|
CC: ${{ matrix.cc }}
|
|
|
|
CXX: ${{ matrix.cxx }}
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Get SDL2 headers
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
with:
|
|
|
|
repository: libsdl-org/SDL
|
|
|
|
ref: release-2.0.9
|
|
|
|
path: SDL2
|
|
|
|
- name: Link SDL2 headers into system path
|
|
|
|
run: |
|
|
|
|
sudo ln -s "$GITHUB_WORKSPACE/SDL2/include" /usr/local/include/SDL2
|
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
if: startsWith(matrix.os, 'ubuntu')
|
|
|
|
run: |
|
|
|
|
sudo apt-get -y install gcc-multilib g++-multilib
|
|
|
|
|
|
|
|
- name: Build with xash3d-fwgs input
|
|
|
|
run: |
|
|
|
|
cmake -B build -S . -DCMAKE_EXE_LINKER_FLAGS="-Wl,--no-undefined" && cmake --build build --target all
|
|
|
|
- name: Build with goldsource input
|
|
|
|
run: |
|
|
|
|
cmake -B build-gs -S . -DCMAKE_EXE_LINKER_FLAGS="-Wl,--no-undefined" -DGOLDSOURCE_SUPPORT=ON && cmake --build build-gs --target all
|
|
|
|
|
|
|
|
- name: Build with mingw
|
|
|
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.cc, 'gcc')
|
|
|
|
run: |
|
|
|
|
sudo apt-get install -y mingw-w64-i686-dev binutils-mingw-w64-i686 gcc-mingw-w64-i686 g++-mingw-w64-i686
|
|
|
|
cmake -B build-mingw -S . -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_COMPILER=i686-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=i686-w64-mingw32-g++
|
|
|
|
cmake --build build-mingw --target all
|
|
|
|
|