@@ -10,9 +10,9 @@ param (
1010)
1111
1212[string ] $Root_Dir = (pwd)
13- [string ] $Vulkan_Version = " v1 .3.250 "
14- [string ] $Spirv_Version = " sdk-1.3.250.1 "
15- [string ] $Glslang_Version = " 12.2 .0"
13+ [string ] $Vulkan_Version = " vulkan-sdk-1 .3.296.0 "
14+ [string ] $Spirv_Version = " vulkan- sdk-1.3.296.0 "
15+ [string ] $Glslang_Version = " vulkan-sdk-1.3.296 .0"
1616[string ] $Robin_Hood_Hashing_Version = " 3.11.5"
1717[string ] $Generator = " MinGW Makefiles"
1818[string ] $Vendor_Dir = " $Root_Dir /vendor" .Replace(' \' , ' /' )
@@ -46,7 +46,7 @@ function Update-Submodule {
4646
4747function Checkout-Tags {
4848 param ([string ] $Path = @ (), [string ] $Tag = @ ())
49- git - C " $Path " fetch -- all -- tags ; git - C " $Path " checkout tags/ " $Tag "
49+ git - C " $Path " fetch -- all -- tags -- force ; git - C " $Path " checkout tags/ " $Tag "
5050}
5151
5252function Setup-Utest {
@@ -165,7 +165,9 @@ function Setup-Glslang {
165165 $CMAKE_COMPILER `
166166 - DBUILD_EXTERNAL= OFF `
167167 - DCMAKE_INSTALL_PREFIX= " $build_dir " `
168- - DCMAKE_BUILD_TYPE= Release `
168+ - DCMAKE_BUILD_TYPE= Release ` `
169+ - DSPIRV- Tools- opt_INCLUDE_DIRS= " $Vulkan_Vendor_Dir \SPIRV-Tools\build\install\include" `
170+ - DALLOW_EXTERNAL_SPIRV_TOOLS= 1 `
169171 - S" $Vendor_Dir /glslang" `
170172 - B" $build_dir "
171173
@@ -196,17 +198,16 @@ function Setup-Vulkan-Headers {
196198 Make- Dir $build_dir
197199
198200 cmake `
199- - G " $Generator " `
200201 $CMAKE_COMPILER `
201202 - DCMAKE_INSTALL_PREFIX= " $build_dir /install" `
202203 - B" $build_dir " `
203204 - S" $Vulkan_Vendor_Dir /Vulkan-Headers"
204205
205- mingw32 - make - C $build_dir install - j " $ env: NUMBER_OF_PROCESSORS "
206+ cmake -- build " $build_dir " -- target install
206207
207208 Make- Dir $Vulkan_Include_Dir
208209
209- Get-ChildItem " $Vulkan_Vendor_Dir /Vulkan-Headers/build/install/include" | Copy-Item - Destination $Vulkan_Include_Dir - Recurse
210+ Get-ChildItem " $Vulkan_Vendor_Dir /Vulkan-Headers/build/install/include" | Copy-Item - Destination $Vulkan_Include_Dir - Recurse - Force
210211}
211212
212213function Setup-Vulkan-Loader {
@@ -221,16 +222,17 @@ function Setup-Vulkan-Loader {
221222
222223 cmake `
223224 $CMAKE_COMPILER `
225+ - G " $Generator " `
224226 - DCMAKE_INSTALL_PREFIX= " $build_dir " `
225227 - DVULKAN_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir /Vulkan-Headers/build/install" `
226228 - S" $Vulkan_Vendor_Dir /Vulkan-Loader" `
227229 - B" $build_dir "
228230
229- cmake -- build " $build_dir " -- parallel $env: NUMBER_OF_PROCESSORS -- config Release
231+ cmake -- build " $build_dir " -- parallel $env: NUMBER_OF_PROCESSORS
230232
231233 Make- Dir $Vulkan_Lib_Dir
232234
233- Copy-Item - Path " $build_dir /loader/Release/ *" - Destination $Vulkan_Lib_Dir - Include " *.dll" - Recurse
235+ Copy-Item - Path " $build_dir /loader/*" - Destination " $Vulkan_Lib_Dir " - Include " *.dll" - Recurse
234236}
235237
236238function Setup-Robin-Hood-Hashing {
@@ -289,28 +291,42 @@ function Setup-Spirv-Tools {
289291 Make- Dir $build_dir
290292
291293 cmake `
292- .. `
293294 $CMAKE_COMPILER `
294295 - DCMAKE_BUILD_TYPE= Release `
295296 - DSPIRV_SKIP_TESTS= ON `
296297 - DSPIRV_WERROR= OFF `
297- - DSPIRV- Headers_SOURCE_DIR= " $Vulkan_Vendor_Dir / SPIRV-Headers" `
298- - DCMAKE_INSTALL_PREFIX= " $build_dir \install" `
299- - S" $Vulkan_Vendor_Dir \SPIRV-Tools" `
298+ - DSPIRV- Headers_SOURCE_DIR= " $Vulkan_Vendor_Dir \\ SPIRV-Headers" `
299+ - DCMAKE_INSTALL_PREFIX= " $build_dir \\ install" `
300+ - S" $Vulkan_Vendor_Dir \\ SPIRV-Tools" `
300301 - B" $build_dir "
301302
302- cmake `
303- $CMAKE_COMPILER `
304- - DCMAKE_BUILD_TYPE= Release `
305- - DSPIRV_SKIP_TESTS= ON `
306- - DSPIRV_WERROR= OFF `
307- - DSPIRV- Headers_SOURCE_DIR= " $Vulkan_Vendor_Dir /SPIRV-Headers" `
308- - DCMAKE_INSTALL_PREFIX= " $build_dir \install" `
309- - S" $Vulkan_Vendor_Dir \SPIRV-Tools" `
310- - B" $build_dir "
311303 cmake -- build $build_dir -- parallel $env: NUMBER_OF_PROCESSORS -- target install -- config Release
312304}
313305
306+ function Setup-Vulkan-Utility-Libraries
307+ {
308+ Write-Output " Setting up Vulkan Utility Libraries..."
309+ Write-Output " Cloning Vulkan Utility Libraries..."
310+
311+ Update-Submodule vulkan\Vulkan- Utility- Libraries
312+
313+ Checkout- Tags " $Vulkan_Vendor_Dir \Vulkan-Utility-Libraries" " $Vulkan_Version "
314+
315+ Write-Output " Building Vulkan Validation Layers..."
316+ [string ] $build_dir = " $Vulkan_Vendor_Dir \Vulkan-Utility-Libraries/build"
317+
318+ cmake `
319+ $CMAKE_COMPILER `
320+ - S " ${Vulkan_Vendor_Dir} \Vulkan-Utility-Libraries" `
321+ - B " $build_dir " `
322+ - DCMAKE_BUILD_TYPE= Release `
323+ - DUPDATE_DEPS= OFF `
324+ - DVULKAN_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir \Vulkan-Headers\build\install" `
325+ - DCMAKE_INSTALL_PREFIX= " $build_dir \install"
326+
327+ cmake -- build $build_dir -- target install -- config Release -- parallel $env: NUMBER_OF_PROCESSORS
328+ }
329+
314330function Setup-Validation-Layers {
315331 Write-Output " Setting up Vulkan Validation Layers..."
316332 Write-Output " Cloning Vulkan ValidationLayers..."
@@ -323,16 +339,17 @@ function Setup-Validation-Layers {
323339
324340 Make- Dir $build_dir
325341
326- cmake `
327- $CMAKE_COMPILER `
328- - DVULKAN_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir /Vulkan-Headers/build/install" `
329- - DGLSLANG_INSTALL_DIR= " $Vulkan_Vendor_Dir /glslang/build/install" `
330- - DSPIRV_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir /SPIRV-Headers/build/install" `
331- - DSPIRV_TOOLS_INSTALL_DIR= " $Vulkan_Vendor_Dir /SPIRV-Tools/build/install" `
332- - DROBIN_HOOD_HASHING_INSTALL_DIR= " $Vulkan_Vendor_Dir /robin-hood-hashing/build/install" `
333- - DCMAKE_INSTALL_PREFIX= " $build_dir " `
334- - DBUILD_TESTS= OFF `
335- - S" $Vulkan_Vendor_Dir /Vulkan-ValidationLayers" `
342+ cmake `
343+ $CMAKE_COMPILER `
344+ - DVULKAN_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir /Vulkan-Headers/build/install" `
345+ - DGLSLANG_INSTALL_DIR= " $Vulkan_Vendor_Dir /glslang/build" `
346+ - DSPIRV_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir /SPIRV-Headers/build/install" `
347+ - DSPIRV_TOOLS_INSTALL_DIR= " $Vulkan_Vendor_Dir /SPIRV-Tools/build/install" `
348+ - DROBIN_HOOD_HASHING_INSTALL_DIR= " $Vulkan_Vendor_Dir /robin-hood-hashing/build/install" `
349+ - DVULKAN_UTILITY_LIBRARIES_INSTALL_DIR= " $Vulkan_Vendor_Dir /Vulkan-Utility-Libraries/build/install" `
350+ - DCMAKE_INSTALL_PREFIX= " $build_dir " `
351+ - DBUILD_TESTS= OFF `
352+ - S" $Vulkan_Vendor_Dir /Vulkan-ValidationLayers" `
336353 - B" $build_dir "
337354
338355 cmake -- build $build_dir -- parallel $env: NUMBER_OF_PROCESSORS -- target install -- config Release
@@ -354,16 +371,17 @@ Setup-Zlib
354371Setup- LibPng
355372Setup- FreeType
356373Setup- Glfw
374+ Setup- Vulkan- Headers
375+ Setup- Spirv- Headers
376+ Setup- Spirv- Tools
357377Setup- Glslang
358378Setup- Volk
359- Setup- Vulkan- Headers
360379Setup- Vulkan- Loader
361380
362381if ($Include_Validation_Layers )
363382{
364383 Setup- Robin- Hood- Hashing
365- Setup- Spirv- Headers
366- Setup- Spirv- Tools
384+ Setup- Vulkan- Utility- Libraries
367385 Setup- Validation- Layers
368386
369387 Write-Output " Configuring environment file..."
0 commit comments