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 Gadolinium 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/{gadolinium,resources} upload - name: Upload artifacts uses: actions/upload-artifact@master with: name: gadolinium-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 Gadolinium 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/gadolinium.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: gadolinium-windows path: upload if-no-files-found: error