Write UUID transformation more portably #13
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: CMake Build Matrix | |
on: [push, pull_request] | |
env: | |
CMAKE_VERSION: 3.28.0 # Oldest supported | |
NINJA_VERSION: 1.12.1 # Latest | |
BUILD_TYPE: Release | |
CCACHE_VERSION: 4.10.2 # Latest | |
NINJA_STATUS: "[%f/%t %o/sec] " | |
jobs: | |
build: | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { | |
name: "Windows Latest MSVC", artifact: "Windows-MSVC.7z", | |
os: windows-2019, | |
cc: "cl", cxx: "cl", | |
environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat", | |
gpu_var: "Off", | |
openmp_var: "Off" | |
} | |
- { | |
name: "macOS Latest Clang", artifact: "macOS.7z", | |
os: macos-latest, | |
cc: "clang", cxx: "clang++", | |
gpu_var: "Off", | |
openmp_var: "Off" | |
} | |
- { | |
name: "macOS Latest GCC 14 with OpenCL", artifact: "macOS-gcc-OpenCL.7z", | |
os: macos-latest, | |
cc: "gcc-14", cxx: "g++-14", | |
gpu_var: "OpenCL", | |
openmp_var: "On" | |
} | |
env: | |
CC: ${{ matrix.config.cc }} | |
CXX: ${{ matrix.config.cxx }} | |
CI_JOB_ID: ${{ github.sha }} # Tell CMake it's running in CI | |
OPENMP_VAR: ${{ matrix.config.openmp_var }} | |
GPU_VAR: ${{ matrix.config.gpu_var }} | |
ENVIRONMENT_SCRIPT: ${{ matrix.config.environment_script }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
show-progress: false | |
- name: Download Ninja, CMake, and CCache | |
run: cmake -P .github/scripts/download-ninja-cmake.cmake | |
- name: ccache cache files | |
uses: actions/cache@v4 | |
with: | |
path: .ccache | |
key: ${{ matrix.config.name }}-ccache-${{ github.sha }} | |
restore-keys: | | |
${{ matrix.config.name }}-ccache- | |
- name: Configure | |
run: cmake -P .github/scripts/configure.cmake | |
- name: Build | |
run: cmake -P .github/scripts/build.cmake | |
- name: Run tests | |
run: cmake -P .github/scripts/test.cmake | |