Skip to content

Fixed: MSVC build

Fixed: MSVC build #53

Workflow file for this run

name: build
on: [push, pull_request]
jobs:
linux:
timeout-minutes: 10
strategy:
matrix:
compiler:
- pkg: g++-7
exe: g++-7
- pkg: g++-8
exe: g++-8
- pkg: g++-9
exe: g++-9
- pkg: g++
exe: g++
- pkg: clang-7
exe: clang++-7
- pkg: clang-8
exe: clang++-8
- pkg: clang-9
exe: clang++-9
- pkg: clang-10
exe: clang++-10
- pkg: clang-11
exe: clang++-11
- pkg: clang
exe: clang++
build_type: [Release, Debug]
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Install compiler
run: |
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe" | sudo tee /etc/apt/sources.list
sudo apt update
sudo apt install -y software-properties-common ${{matrix.compiler.pkg}}
- name: Configure CMake
env:
CXX: ${{matrix.compiler.exe}}
run: |
cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DGAIA_BUILD_UNITTEST=ON -DGAIA_BUILD_EXAMPLES=ON -DGAIA_BUILD_BENCHMARK=OFF -DGAIA_GENERATE_CC=OFF -S . -B ${{github.workspace}}/build
- name: Build
env:
CXX: ${{matrix.compiler.exe}}
run: |
cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}}
- name: Test
working-directory:
run: |
${{github.workspace}}/build/src/test/gaia_test
linux-libcpp:
timeout-minutes: 10
strategy:
matrix:
compiler:
- pkg: clang-7
exe: clang++-7
- pkg: clang-8
exe: clang++-8
- pkg: clang-9
exe: clang++-9
- pkg: clang-10
exe: clang++-10
- pkg: clang-11
exe: clang++-11
- pkg: clang
exe: clang++
build_type: [Release, Debug]
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Install compiler
run: |
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe" | sudo tee /etc/apt/sources.list
sudo apt update
sudo apt install -y software-properties-common ${{matrix.compiler.pkg}}
- name: Configure CMake
env:
CXX: ${{matrix.compiler.exe}}
run: |
cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DGAIA_BUILD_UNITTEST=ON -DGAIA_BUILD_EXAMPLES=ON -DGAIA_BUILD_BENCHMARK=OFF -DGAIA_GENERATE_CC=OFF -S . -B ${{github.workspace}}/build
- name: Build
env:
CXX: ${{matrix.compiler.exe}}
run: |
cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}}
- name: Test
working-directory:
run: |
${{github.workspace}}/build/src/test/gaia_test
windows:
timeout-minutes: 10
strategy:
matrix:
toolset: [clang-cl, default, v141, v142]
include:
- toolset: clang-cl
toolset_option: -T"ClangCl"
- toolset: v141
toolset_option: -T"v141"
- toolset: v142
toolset_option: -T"v142"
build_type: [Release, Debug]
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Configure CMake
run: |
cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DGAIA_BUILD_UNITTEST=OFF -DGAIA_BUILD_EXAMPLES=ON -DGAIA_BUILD_BENCHMARK=OFF -DGAIA_GENERATE_CC=OFF -S . -B ${{github.workspace}}/build
- name: Build
run: |
cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}}
# Catch2 doesn't build with certain versions of MSVC in debug mode due to linker issues.
# I'm not going to mess with it now so let's just disable tests for WIN for the time being.
# - name: Test
# working-directory:
# run: |
# ${{github.workspace}}/build/src/test/${{matrix.build_type}}/gaia_test.exe
macos:
timeout-minutes: 10
strategy:
matrix:
build_type: [Release, Debug]
runs-on: macOS-latest
steps:
- uses: actions/checkout@v4
- name: Configure CMake
run: |
cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DGAIA_BUILD_UNITTEST=ON -DGAIA_BUILD_EXAMPLES=ON -DGAIA_BUILD_BENCHMARK=OFF -DGAIA_GENERATE_CC=OFF -S . -B ${{github.workspace}}/build
- name: Build
run: |
cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}}
- name: Test
working-directory:
run: |
${{github.workspace}}/build/src/test/gaia_test
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}