Skip to content

Online scripts compatibility stuff pt. 2 #2941

Online scripts compatibility stuff pt. 2

Online scripts compatibility stuff pt. 2 #2941

name: Continuous Integration
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
name: Continuous Integration ${{ matrix.target_name }} ${{ matrix.toolset_name }} ${{ matrix.build_type }}
runs-on: windows-latest
strategy:
matrix:
build_type: [Debug, Release]
toolset_name: [MSVC, Ninja]
build_dll: [false, true]
include:
- toolset_name: MSVC
toolset: -A x64 -T v143
- toolset_name: Ninja
toolset: -G"Ninja Multi-Config"
cmake_opts: -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
- build_dll: false
additional_opts: -DBUILD_OVERLUNKY=ON -DBUILD_INFO_DUMP=ON -DBUILD_SPEL2_DLL=OFF
target_name: overlunky
- build_dll: true
additional_opts: -DBUILD_OVERLUNKY=OFF -DBUILD_INFO_DUMP=OFF -DBUILD_SPEL2_DLL=ON
target_name: spel2.dll
steps:
- uses: llvm/actions/install-ninja@main
- name: Install llvm 17
if: matrix.toolset_name == 'Ninja'
run: choco install llvm --version 17.0.6 --allow-downgrade -y
- uses: actions/checkout@v2
with:
fetch-depth: 1
submodules: true
- name: Remove Strawberry Perl from PATH
run: |
$env:PATH = $env:PATH -replace "C:\\Strawberry\\c\\bin;", ""
"PATH=$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: Configure
run: |
mkdir build
cd build
cmake .. -Wno-dev ${{ matrix.toolset }} ${{ matrix.additional_opts }} ${{ matrix.cmake_opts }}
- name: Build
run: |
cd build
cmake --build . --config ${{ matrix.build_type }}