Files
kaizen/.github/workflows/build.yml
2023-06-04 21:34:14 +02:00

66 lines
2.1 KiB
YAML

name: build
on: push
jobs:
build-linux:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@master
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -y build-essential libgtk-3-dev libsdl2-dev git ninja-build nlohmann-json3-dev
sudo apt-get install -y vulkan-tools libvulkan1 libvulkan-dev vulkan-validationlayers-dev spirv-tools
git clone --recursive https://github.com/fmtlib/fmt
cd fmt
cmake -B build
cd build
sudo make install
- name: Build Kaizen
run: |
cmake \
-G Ninja \
-B build \
-DCMAKE_BUILD_TYPE=Release \
-S src
ninja -j$(nproc) -C build
- name: Collect artifacts
run: |
mkdir upload
cp -r build/{kaizen,resources} upload
- name: Upload artifacts
uses: actions/upload-artifact@master
with:
name: kaizen-linux
path: upload
if-no-files-found: error
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@master
with:
submodules: recursive
- name: Setup dependencies
run: |
vcpkg install sdl2[vulkan]:x64-windows
vcpkg install fmt:x64-windows
vcpkg install nlohmann-json:x64-windows
- name: Build Kaizen
run: |
cmake -B build -T clangcl -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -S src
cmake --build build --config Release
- name: Collect artifacts
run: |
mkdir upload
cp build/Release/kaizen.exe upload
mkdir upload/resources
cp build/resources/* upload/resources
cp build/Release/SDL2.dll upload
cp build/Release/fmt.dll upload
- name: Upload artifacts
uses: actions/upload-artifact@master
with:
name: kaizen-windows
path: upload
if-no-files-found: error