Skip to content

Commit f1fd93d

Browse files
committed
[VKVM] Add Github CI workflow
1 parent c3d5f91 commit f1fd93d

20 files changed

+19238
-3
lines changed

.github/workflows/vkvm.yml

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
name: VKVM
2+
on:
3+
workflow_dispatch:
4+
push:
5+
branches:
6+
- vma
7+
paths:
8+
- .github/workflows/vkvm.yml
9+
jobs:
10+
windows-x64:
11+
name: Windows (x64)
12+
runs-on: windows-2019
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v4
16+
- name: Prepare Vulkan SDK
17+
uses: humbletim/setup-vulkan-sdk@v1.2.1
18+
with:
19+
vulkan-query-version: latest
20+
vulkan-components: Vulkan-Headers, Vulkan-Loader
21+
vulkan-use-cache: true
22+
- name: Build
23+
run: .\build.cmd
24+
working-directory: .\src\VKVM
25+
- name: Upload Windows native libs
26+
uses: actions/upload-artifact@v4
27+
with:
28+
name: windows-x64
29+
path: lib/Native/Aardvark.Rendering.Vulkan/windows/AMD64/
30+
linux-x64:
31+
name: Linux (x64)
32+
runs-on: ubuntu-22.04
33+
steps:
34+
- name: Checkout
35+
uses: actions/checkout@v4
36+
- name: Prepare Vulkan SDK
37+
uses: humbletim/setup-vulkan-sdk@v1.2.1
38+
with:
39+
vulkan-query-version: latest
40+
vulkan-components: Vulkan-Headers, Vulkan-Loader
41+
vulkan-use-cache: true
42+
- name: Build
43+
run: ./build.sh
44+
working-directory: ./src/VKVM
45+
- name: Upload Linux native libs
46+
uses: actions/upload-artifact@v4
47+
with:
48+
name: linux-x64
49+
path: lib/Native/Aardvark.Rendering.Vulkan/linux/AMD64/
50+
macos-x64:
51+
name: MacOS (x64)
52+
runs-on: macos-13
53+
steps:
54+
- name: Checkout
55+
uses: actions/checkout@v4
56+
- name: Prepare Vulkan SDK
57+
uses: humbletim/setup-vulkan-sdk@v1.2.1
58+
with:
59+
vulkan-query-version: latest
60+
vulkan-components: Vulkan-Headers, Vulkan-Loader
61+
vulkan-use-cache: true
62+
- name: Build
63+
run: ./build.sh
64+
working-directory: ./src/VKVM
65+
- name: Upload MacOS native libs
66+
uses: actions/upload-artifact@v4
67+
with:
68+
name: mac-x64
69+
path: lib/Native/Aardvark.Rendering.Vulkan/mac/AMD64/
70+
macos-arm64:
71+
name: MacOS (ARM64)
72+
runs-on: macos-14
73+
steps:
74+
- name: Checkout
75+
uses: actions/checkout@v4
76+
- name: Prepare Vulkan SDK
77+
uses: humbletim/setup-vulkan-sdk@v1.2.1
78+
with:
79+
vulkan-query-version: latest
80+
vulkan-components: Vulkan-Headers, Vulkan-Loader
81+
vulkan-use-cache: true
82+
- name: Build
83+
run: ./build.sh
84+
working-directory: ./src/VKVM
85+
- name: Upload MacOS native libs
86+
uses: actions/upload-artifact@v4
87+
with:
88+
name: mac-arm64
89+
path: lib/Native/Aardvark.Rendering.Vulkan/mac/ARM64/
90+
build:
91+
name: Build
92+
runs-on: windows-latest
93+
needs:
94+
- windows-x64
95+
- linux-x64
96+
- macos-x64
97+
- macos-arm64
98+
steps:
99+
- name: Checkout
100+
uses: actions/checkout@v4
101+
- name: Download MacOS dependencies (x64)
102+
uses: actions/download-artifact@v4
103+
with:
104+
name: mac-x64
105+
path: lib/Native/Aardvark.Rendering.Vulkan/mac/AMD64/
106+
- name: Download MacOS dependencies (arm64)
107+
uses: actions/download-artifact@v4
108+
with:
109+
name: mac-arm64
110+
path: lib/Native/Aardvark.Rendering.Vulkan/mac/ARM64/
111+
- name: Download Linux dependencies
112+
uses: actions/download-artifact@v4
113+
with:
114+
name: linux-x64
115+
path: lib/Native/Aardvark.Rendering.Vulkan/linux/AMD64/
116+
- name: Download Windows dependencies
117+
uses: actions/download-artifact@v4
118+
with:
119+
name: windows-x64
120+
path: lib/Native/Aardvark.Rendering.Vulkan/windows/AMD64/
121+
- name: Create Pull Request
122+
uses: peter-evans/create-pull-request@v7
123+
with:
124+
commit-message: "[VKVM] Update native libraries"
125+
branch: vkvm-ci-build
126+
title: "[VKVM] Update native libraries"
File renamed without changes.

src/vkvm/CMakeLists.txt renamed to src/VKVM/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.15)
22

33
project(vkvm LANGUAGES CXX)
44
if(WIN32)
55
set(OS windows)
66
SET(ARCH AMD64)
7+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
78
elseif(APPLE)
89
set(OS mac)
910
execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCH)
@@ -26,7 +27,7 @@ SET(CMAKE_BUILD_TYPE "MinSizeRel" CACHE INTERNAL "release mode")
2627
set(CMAKE_CXX_STANDARD 11)
2728
set(CMAKE_CXX_STANDARD_REQUIRED ON)
2829

29-
add_library(vkvm SHARED commands.h vkvm.h vkvm.cpp commands.cpp)
30+
add_library(vkvm SHARED commands.h vkvm.h vkvm.cpp commands.cpp vma.cpp)
3031

3132
find_package(Vulkan REQUIRED)
3233
target_include_directories(${PROJECT_NAME} PUBLIC ${Vulkan_INCLUDE_DIRS})
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

src/vkvm/vkvm.vcxproj renamed to src/VKVM/vkvm.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@
182182
<ClInclude Include="stdafx.h" />
183183
<ClInclude Include="targetver.h" />
184184
<ClInclude Include="vkvm.h" />
185+
<ClInclude Include="vma\vk_mem_alloc.h" />
185186
</ItemGroup>
186187
<ItemGroup>
187188
<ClCompile Include="commands.cpp" />
File renamed without changes.

src/vkvm/vma.cpp renamed to src/VKVM/vma.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@
1414
#endif
1515

1616
#define VMA_IMPLEMENTATION
17-
#include <vma/vk_mem_alloc.h>
17+
#include "vma/vk_mem_alloc.h"

0 commit comments

Comments
 (0)