Skip to content

f

f #222

Workflow file for this run

name: CMake
on: [push, pull_request]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1.13.0
with:
arch: x86
# Install CMake and Ninja
- name: Get CMake and Ninja
uses: lukka/get-cmake@v3.19.2
# Setup sccache directly
- name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.9
# Create CMakePresets.json for run-cmake
- name: Create CMake preset
run: |
@'
{
"version": 3,
"configurePresets": [
{
"name": "default",
"displayName": "Default",
"description": "Default build with sccache",
"generator": "Ninja",
"binaryDir": "${sourceDir}/bin",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_C_COMPILER_LAUNCHER": "sccache",
"CMAKE_CXX_COMPILER_LAUNCHER": "sccache"
}
}
],
"buildPresets": [
{
"name": "default",
"configurePreset": "default"
}
]
}
'@ | Out-File -FilePath CMakePresets.json -Encoding utf8
# Run CMake with caching, disable vcpkg
- name: Configure and Build
uses: lukka/run-cmake@v10
with:
configurePreset: 'default'
buildPreset: 'default'
env:
VCPKG_ROOT: ''
- name: Prepare artifacts
run: |
cd bin
if (!(Test-Path "output_III")) { mkdir output_III }
if (!(Test-Path "output_VC")) { mkdir output_VC }
if (!(Test-Path "output_SA")) { mkdir output_SA }
cp TrilogyChaosMod.III.asi output_III/TrilogyChaosMod.III.asi
cp TrilogyChaosMod.VC.asi output_VC/TrilogyChaosMod.VC.asi
cp TrilogyChaosMod.SA.asi output_SA/TrilogyChaosMod.SA.asi
- name: Upload III
uses: actions/upload-artifact@v4
with:
name: "TrilogyChaosMod.III"
path: bin/output_III
- name: Upload VC
uses: actions/upload-artifact@v4
with:
name: "TrilogyChaosMod.VC"
path: bin/output_VC
- name: Upload SA
uses: actions/upload-artifact@v4
with:
name: "TrilogyChaosMod.SA"
path: bin/output_SA