Skip to content

API cleanup

API cleanup #18

Workflow file for this run

# This starter workflow is for a CMake project running on multiple platforms. There is a different starter workflow if you just want a single platform.
# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml
name: Build
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
linux:
name: Linux Release
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
c_compiler: [gcc, clang]
include:
- c_compiler: gcc
cpp_compiler: g++
- c_compiler: clang
cpp_compiler: clang++
steps:
- uses: actions/checkout@v3
- name: Dependencies
run: sudo apt install build-essential coreutils xorg-dev libglu1-mesa-dev xpra xserver-xorg-video-dummy freeglut3-dev
- name: Configure
run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/${{ matrix.c_compiler }} -DCMAKE_CXX_COMPILER=/usr/bin/${{ matrix.cpp_compiler }}
- name: Build
run: cmake --build ${{ github.workspace }}/build -j $(nproc)
- name: Test
run: ${{ github.workspace }}/build/shrink_morph_cli
macOS:
name: macOS Release
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Dependencies
run: brew install coreutils
- name: Configure
run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=Release
- name: Build
run: cmake --build ${{ github.workspace }}/build -j $(nproc)
- name: Test
run: ${{ github.workspace }}/build/shrink_morph_cli
windows:
name: Windows Release
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: >
cmake -B ${{ github.workspace }}/build
-G "Visual Studio 17 2022"
-T ClangCL
-DCMAKE_CONFIGURATION_TYPES="Release"
- name: Build
# Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
run: cmake --build ${{ github.workspace }}/build --config Release
- name: Test
run: ${{ github.workspace }}\build\Release\shrink_morph_cli.exe