Skip to content

Switch from makefiles & generated vcproj to CMake #36

Switch from makefiles & generated vcproj to CMake

Switch from makefiles & generated vcproj to CMake #36

Workflow file for this run

name: C/C++ CI
on:
push:
branches: [ "master", "dev" ]
pull_request:
branches: [ "master", "dev" ]
jobs:
linux_ubuntu_20_04:
name: (Ubuntu 20.04) GCC ${{ matrix.gcc-version }}.x
runs-on: ubuntu-20.04
strategy:
matrix:
gcc-version: [9, 10, 11, 13] # 12 doesn't work for some reason
steps:
- uses: actions/checkout@v4
- name: Install GCC ${{ matrix.gcc-version }}
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update
sudo apt install -y gcc-${{ matrix.gcc-version }} g++-${{ matrix.gcc-version }}
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ matrix.gcc-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ matrix.gcc-version }}
sudo update-alternatives --set gcc /usr/bin/gcc-${{ matrix.gcc-version }}
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libsdl2-dev cmake ninja-build
- name: Build quaesar
env:
CC: gcc-${{ matrix.gcc-version }}
CXX: gcc++-${{ matrix.gcc-version }}
run: mkdir temp && cd temp && cmake .. -G Ninja && ninja
linux_clang_ubuntu_20_04:
runs-on: ubuntu-20.04
name: (Ubuntu 20.04) Clang ${{ matrix.clang-version }}.x
strategy:
matrix:
clang-version: [8, 9, 10, 11]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Clang ${{ matrix.clang-version }}
run: |
sudo apt-get update
sudo apt-get install -y clang-${{ matrix.clang-version }}
sudo apt-get install -y clang++-${{ matrix.clang-version }}
- name: Select Clang ${{ matrix.clang-version }}
run: |
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ matrix.clang-version }} 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${{ matrix.clang-version }} 100
clang --version # Display the version of clang for debugging
clang++ --version # Display the version of clang for debugging
- name: Install dependencies
run: sudo apt-get install -y libsdl2-dev
- name: Build quaesar
env:
CC: clang-${{ matrix.clang-version }}
CXX: clang++-${{ matrix.clang-version }}
run: make -j$(nproc)
linux_clang_ubuntu_22_04:
runs-on: ubuntu-22.04
name: (Ubuntu 22.04) Clang ${{ matrix.clang-version }}.x
strategy:
matrix:
clang-version: [12, 13, 14, 15]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Clang ${{ matrix.clang-version }}
run: |
sudo apt-get update
sudo apt-get install -y clang-${{ matrix.clang-version }}
sudo apt-get install -y clang++-${{ matrix.clang-version }}
- name: Select Clang ${{ matrix.clang-version }}
run: |
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ matrix.clang-version }} 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${{ matrix.clang-version }} 100
clang --version # Display the version of clang for debugging
clang++ --version # Display the version of clang for debugging
- name: Install dependencies
run: sudo apt-get install -y libsdl2-dev
- name: Build quaesar
env:
CC: clang-${{ matrix.clang-version }}
CXX: clang++-${{ matrix.clang-version }}
run: make -j$(nproc)
macos:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-11, macos-12, macos-13, macos-14]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: brew install sdl2
- name: Build quaesar
run: make -j$(nproc)
windows:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-2019, windows-2022]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup MSBuild path
uses: microsoft/[email protected]
- name: Build Solution (Debug, x64)
run: msbuild build/quaesar.sln /p:Configuration=Debug /p:Platform="x64"