WIP: fix Vulkan-SDK installation. #199
Workflow file for this run
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 | |
env: | |
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" | |
on: | |
push: | |
paths: | |
- '**' | |
- '!README.md' | |
- '!LICENSE.txt' | |
- '!docs/**' | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest, macos-latest, ubuntu-24.04] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install build dependencies (macOS) | |
if: ${{ matrix.os == 'macos-latest' }} | |
run: brew install llvm ninja vulkan-headers glslang autoconf automake libtool nasm | |
- name: Install build dependencies (ubuntu-24.04) | |
if: ${{ matrix.os == 'ubuntu-24.04' }} | |
run: sudo apt-get install ninja-build libc++-dev libc++abi-dev libvulkan-dev glslc xorg-dev libtool libltdl-dev | |
- name: Setup vcpkg (macOS) | |
if: ${{ matrix.os == 'macos-latest' }} | |
run: | | |
git clone https://github.com/microsoft/vcpkg.git --depth 1 | |
cd vcpkg && ./bootstrap-vcpkg.sh | |
echo "VCPKG_ROOT=${{ github.workspace }}/vcpkg" >> $GITHUB_ENV | |
- name: Export GitHub Actions cache environment variables | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); | |
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); | |
- name: Enable Developer Command Prompt (Windows) | |
if: ${{ matrix.os == 'windows-latest' }} | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Workaround for CMake bug that cannot find __CMAKE::CXX23 target when using homebrew libc++ (macOS) | |
if: ${{ matrix.os == 'macos-latest' }} | |
run: sed -i '' 's|libc++.modules.json|../../c++/libc++.modules.json|g' /opt/homebrew/opt/cmake/share/cmake/Modules/Compiler/Clang-CXX-CXXImportStd.cmake # https://gitlab.kitware.com/cmake/cmake/-/issues/25965#note_1523575 | |
- name: Configure | |
run: | | |
mv .github/workflows/scripts/* . | |
cmake --preset=${{ runner.os }} | |
- name: Build | |
run: cmake --build build --config release | |
- name: Upload Binary as Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ runner.os }} | |
path: | | |
build/vk-gltf-viewer | |
build/vk-gltf-viewer.exe | |
build/*.dll |