chore: Update DEVLOG.md #51
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-latest, ubuntu-latest, windows-latest] | |
build-type: [Debug, MinSizeRel] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- uses: rlalik/setup-cpp-compiler@master | |
with: | |
compiler: latest | |
- uses: seanmiddleditch/gha-setup-ninja@master | |
# WORKAROUND: Install Vcpkg (submodule seems not working?) | |
- uses: actions/checkout@v4 | |
with: | |
repository: 'microsoft/vcpkg' | |
path: 'vcpkg' | |
- name: Set strings | |
id: strings | |
shell: bash | |
run: | | |
echo "build-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT" | |
- name: Bootstrap vcpkg on Unix | |
if: matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest' | |
run: | | |
${{ github.workspace }}/vcpkg/bootstrap-vcpkg.sh | |
- name: Bootstrap vcpkg on Windows | |
if: matrix.os == 'windows-latest' | |
run: | | |
${{ github.workspace }}/vcpkg/bootstrap-vcpkg.bat | |
- name: Install CMake and other dependencies on Ubuntu | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y cmake libxmu-dev libxi-dev libgl-dev libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev pkg-config | |
- name: Install CMake on macOS | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew install cmake | |
- name: Install CMake on Windows | |
if: matrix.os == 'windows-latest' | |
run: | | |
choco install cmake.portable | |
- name: CMake Configure | |
run: > | |
cmake -G Ninja | |
-B ${{ steps.strings.outputs.build-dir }} | |
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} | |
-S ${{ github.workspace }} | |
- name: CMake Build | |
run: cmake --build ${{ steps.strings.outputs.build-dir }} |