diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 000000000..883cbd35d --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,39 @@ +name: Build +on: [push, workflow_dispatch] + +jobs: + build: + name: ${{ matrix.name }} + runs-on: ${{ matrix.runs-on }} + strategy: + fail-fast: false + matrix: + include: + - name: Build - Ubuntu + runs-on: ubuntu-latest + compiler: clang + cxx-compiler: clang++ + + - name: Build - macOS + runs-on: macos-latest + cmake-args: -D CMAKE_OSX_DEPLOYMENT_TARGET=10.13 + + - name: Build - Windows + runs-on: windows-latest + cmake-args: -D CMAKE_GENERATOR_PLATFORM=x64 -D CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Install packages (Ubuntu) + if: runner.os == 'Linux' + run: sudo apt-get install -y ninja-build + + - name: Compiling source code + run: | + cmake -S . -B build ${{ matrix.cmake-args }} -D BUILD_SHARED_LIBS=OFF -D CMAKE_BUILD_TYPE=MinSizeRel + cmake --build build --config MinSizeRel + env: + CC: ${{ matrix.compiler }} + CXX: ${{ matrix.cxx-compiler }}