Skip to content

Commit 546a55e

Browse files
committed
Move windows vulkan build to its own ps1 file
1 parent cd476b2 commit 546a55e

3 files changed

Lines changed: 58 additions & 14 deletions

File tree

.github/workflows/build.yml

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,9 @@ jobs:
3535
Expand-Archive -Path SDL3-devel-3.2.18-VC.zip
3636
echo "SDL3_DIR=$(pwd)\SDL3-devel-3.2.18-VC\SDL3-3.2.18\" >>${env:GITHUB_ENV}
3737
38-
# VulkanSDK (retrieve minimal bits of the SDK from git)
39-
$vulkanVersion = "1.4.326"
40-
# 1. Get the vulkan headers, we will treat that folder as the sdk folder to avoid having to copy headers around
41-
Invoke-WebRequest -Uri "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/v$($vulkanVersion).zip" -OutFile Vulkan-Headers-$($vulkanVersion).zip
42-
Expand-Archive -Path Vulkan-Headers-$($vulkanVersion).zip
43-
echo "VULKAN_SDK=$(pwd)\Vulkan-Headers-$($vulkanVersion)\Vulkan-Headers-$($vulkanVersion)" >>${env:GITHUB_ENV}
44-
# 2. Get and build the vulkan loader source code (UPDATE_DEPS=On will make it automatically fetch its dependencies)
45-
Invoke-WebRequest -Uri "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/v$($vulkanVersion).zip" -OutFile Vulkan-Loader-$($vulkanVersion).zip
46-
Expand-Archive -Path Vulkan-Loader-$($vulkanVersion).zip
47-
cmake -S Vulkan-Loader-$($vulkanVersion)\Vulkan-Loader-$($vulkanVersion) -B VulkanLoader-build -D UPDATE_DEPS=On
48-
cmake --build VulkanLoader-build
49-
# 3. Copy the built lib/dll to the expected place
50-
mkdir Vulkan-Headers-$($vulkanVersion)\Vulkan-Headers-$($vulkanVersion)\Lib
51-
copy VulkanLoader-build\loader\Debug\vulkan-1.* Vulkan-Headers-$($vulkanVersion)\Vulkan-Headers-$($vulkanVersion)\Lib\
38+
Invoke-WebRequest -Uri "https://github.com/ocornut/imgui/files/3789205/vulkan-sdk-1.1.121.2.zip" -OutFile vulkan-sdk-1.1.121.2.zip
39+
Expand-Archive -Path vulkan-sdk-1.1.121.2.zip
40+
echo "VULKAN_SDK=$(pwd)\vulkan-sdk-1.1.121.2\" >>${env:GITHUB_ENV}
5241
5342
- name: Fix Projects
5443
shell: powershell
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Set default vulkan version if none provided
2+
if (-not $env:VULKAN_TAG) { $env:VULKAN_TAG = "1.4.326" }
3+
4+
# Create output folder
5+
mkdir vulkanArtifact
6+
7+
# Download Vulkan Headers
8+
9+
Invoke-WebRequest -Uri "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/v$($env:VULKAN_TAG).zip" -OutFile Vulkan-Headers-$($env:VULKAN_TAG).zip
10+
Expand-Archive -Path Vulkan-Headers-$($env:VULKAN_TAG).zip
11+
12+
# Copy Vulkan Headers to artifact folder
13+
14+
cp -R Vulkan-Headers-$($env:VULKAN_TAG)\Vulkan-Headers-$($env:VULKAN_TAG)\include vulkanArtifact\Include
15+
16+
# Download Vulkan Loader
17+
18+
Invoke-WebRequest -Uri "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/v$($env:VULKAN_TAG).zip" -OutFile Vulkan-Loader-$($env:VULKAN_TAG).zip
19+
Expand-Archive -Path Vulkan-Loader-$($env:VULKAN_TAG).zip
20+
21+
# Build Vulkan Loader x64
22+
23+
cmake -S Vulkan-Loader-$($env:VULKAN_TAG)\Vulkan-Loader-$($env:VULKAN_TAG) -B VulkanLoader-build64 -D UPDATE_DEPS=On -A x64
24+
cmake --build VulkanLoader-build64
25+
mkdir vulkanArtifact\Lib
26+
copy VulkanLoader-build64\loader\Debug\vulkan-1.lib vulkanArtifact\Lib
27+
28+
# Build Vulkan Loader win32
29+
30+
cmake -S Vulkan-Loader-$($env:VULKAN_TAG)\Vulkan-Loader-$($env:VULKAN_TAG) -B VulkanLoader-build32 -D UPDATE_DEPS=On -A Win32
31+
cmake --build VulkanLoader-build32
32+
mkdir vulkanArtifact\Lib32
33+
copy VulkanLoader-build32\loader\Debug\vulkan-1.lib vulkanArtifact\Lib32
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: build-windows-vulkan-libs
2+
3+
on: workflow_dispatch
4+
5+
jobs:
6+
Windows:
7+
runs-on: windows-2025
8+
env:
9+
VULKAN_TAG: 1.4.326
10+
steps:
11+
- uses: actions/checkout@v4
12+
13+
- name: Build Vulkan libs
14+
shell: powershell
15+
run: .github/workflows/build_windows_vulkan_libs.ps1
16+
17+
- uses: actions/upload-artifact@v4
18+
with:
19+
name: vulkan_windows_libs_${{ env.VULKAN_TAG }}
20+
path: vulkanArtifact
21+
overwrite: 'true'
22+

0 commit comments

Comments
 (0)