Added Linux CI build

This commit is contained in:
Adam Sawicki 2025-04-03 17:32:37 +02:00 committed by GitHub
parent d47cf4367e
commit 0183545f02
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 66 additions and 5 deletions

66
.github/workflows/linux.yaml vendored Normal file
View file

@ -0,0 +1,66 @@
name: Build code on Linux
on:
push:
pull_request:
types: [opened]
jobs:
linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cxx: [g++-12, clang++-15]
build_type: [Debug, Release]
include:
- cxx: g++-12
install: sudo apt install g++-12
- cxx: clang++-15
cxxflags: -stdlib=libc++
install: sudo apt install clang-15 libc++-15-dev libc++abi-15-dev
steps:
- uses: actions/checkout@v4
- name: Create Build Environment
run: |
sudo apt update
${{matrix.install}}
cmake -E make_directory ${{runner.workspace}}/build
- name: Prepare Vulkan SDK
shell: bash
run: |
curl -LS -o vulkansdk.tar.xz https://sdk.lunarg.com/sdk/download/1.4.309.0/linux/vulkansdk-linux-x86_64-1.4.309.0.tar.xz
mkdir -p vulkan_sdk
tar xf vulkansdk.tar.xz -C vulkan_sdk
rm -rf vulkansdk.tar.xz
export VULKAN_SDK=$GITHUB_WORKSPACE/vulkan_sdk/1.4.309.0/x86_64
export PATH=$VULKAN_SDK/bin:$PATH
export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
export VK_ICD_FILENAMES=$VULKAN_SDK/etc/vulkan/icd.d
export VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/layer.d
echo "VULKAN_SDK=$VULKAN_SDK" >> $GITHUB_ENV
echo "PATH=$VULKAN_SDK/bin:$PATH" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "VK_ICD_FILENAMES=$VULKAN_SDK/etc/vulkan/icd.d" >> $GITHUB_ENV
echo "VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/layer.d" >> $GITHUB_ENV
- name: Configure
working-directory: ${{runner.workspace}}/build
env:
CXX: ${{matrix.cxx}}
CXXFLAGS: ${{matrix.cxxflags}}
run: |
cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
-DVMA_BUILD_SAMPLES=YES \
$GITHUB_WORKSPACE
- name: Build
working-directory: ${{runner.workspace}}/build
run: |
threads=`nproc`
cmake --build . --config ${{matrix.build_type}} --parallel $threads

View file

@ -20,11 +20,6 @@
# THE SOFTWARE.
#
if (NOT WIN32)
message(STATUS "VmaSample application is only supported on Windows")
return()
endif()
option(VMA_STATIC_VULKAN_FUNCTIONS "Link statically with Vulkan API" ON)
option(VMA_DYNAMIC_VULKAN_FUNCTIONS "Fetch pointers to Vulkan functions internally (no static linking)" OFF)
option(VMA_DEBUG_ALWAYS_DEDICATED_MEMORY "Every allocation will have its own memory block" OFF)