Fixes #76
Workflow file for this run
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 | |
on: [push, pull_request] | |
jobs: | |
build-current-toolchain: | |
name: 'Current ${{ matrix.toolchain.name }}' | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: ${{ matrix.toolchain.shell }} | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: | |
- { name: 'MSVC', shell: 'sh', setup-cmake: true, setup-ninja: true, setup-msvc: true } | |
# TODO: Add back eventually, but exclude 3rdparty code from warnings as errors | |
# - { name: 'msys2 mingw32', shell: 'msys2 {0}', msystem: mingw32, msys-env: mingw-w64-i686, clang-tidy: true, werror: true } | |
# - { name: 'msys2 clang32', shell: 'msys2 {0}', msystem: clang32, msys-env: mingw-w64-clang-i686, clang-tidy: true, werror: true, no-dx5-libs: true } | |
steps: | |
# Figure out how to build for 32-bit arch | |
# - name: Set up SDL | |
# id: sdl | |
# uses: libsdl-org/setup-sdl@main | |
# with: | |
# version: sdl3-head | |
- name: Set up MSYS2 | |
if: ${{ !!matrix.toolchain.msystem }} | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{ matrix.toolchain.msystem }} | |
install: >- | |
${{ matrix.toolchain.msys-env }}-cc | |
${{ matrix.toolchain.msys-env }}-cmake | |
${{ matrix.toolchain.msys-env }}-ninja | |
${{ matrix.toolchain.msys-env }}-clang-tools-extra | |
- name: Setup cmake | |
if: matrix.toolchain.setup-cmake | |
uses: jwlawson/[email protected] | |
- name: Setup ninja | |
if: matrix.toolchain.setup-ninja | |
uses: ashutoshvarma/setup-ninja@master | |
- name: Setup vcvars | |
if: matrix.toolchain.setup-msvc | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: amd64_x86 # Use the 64-bit x64-native cross tools to build 32-bit x86 code | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Build | |
# Add -DDOWNLOAD_DEPENDENCIES=OFF once setup-sdl works | |
run: | | |
cmake -S . -B build -GNinja \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
-DISLE_USE_DX5_LIBS=${{ !matrix.toolchain.no-dx5-libs }} \ | |
-DENABLE_CLANG_TIDY=${{ !!matrix.toolchain.clang-tidy }} \ | |
-DISLE_WERROR=${{ !!matrix.toolchain.werror }} \ | |
-Werror=dev | |
cmake --build build -- -k0 |