@@ -10,9 +10,9 @@ param (
10
10
)
11
11
12
12
[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"
16
16
[string ] $Robin_Hood_Hashing_Version = " 3.11.5"
17
17
[string ] $Generator = " MinGW Makefiles"
18
18
[string ] $Vendor_Dir = " $Root_Dir /vendor" .Replace(' \' , ' /' )
@@ -46,7 +46,7 @@ function Update-Submodule {
46
46
47
47
function Checkout-Tags {
48
48
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 "
50
50
}
51
51
52
52
function Setup-Utest {
@@ -165,7 +165,9 @@ function Setup-Glslang {
165
165
$CMAKE_COMPILER `
166
166
- DBUILD_EXTERNAL= OFF `
167
167
- 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 `
169
171
- S" $Vendor_Dir /glslang" `
170
172
- B" $build_dir "
171
173
@@ -196,17 +198,16 @@ function Setup-Vulkan-Headers {
196
198
Make- Dir $build_dir
197
199
198
200
cmake `
199
- - G " $Generator " `
200
201
$CMAKE_COMPILER `
201
202
- DCMAKE_INSTALL_PREFIX= " $build_dir /install" `
202
203
- B" $build_dir " `
203
204
- S" $Vulkan_Vendor_Dir /Vulkan-Headers"
204
205
205
- mingw32 - make - C $build_dir install - j " $ env: NUMBER_OF_PROCESSORS "
206
+ cmake -- build " $build_dir " -- target install
206
207
207
208
Make- Dir $Vulkan_Include_Dir
208
209
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
210
211
}
211
212
212
213
function Setup-Vulkan-Loader {
@@ -221,16 +222,17 @@ function Setup-Vulkan-Loader {
221
222
222
223
cmake `
223
224
$CMAKE_COMPILER `
225
+ - G " $Generator " `
224
226
- DCMAKE_INSTALL_PREFIX= " $build_dir " `
225
227
- DVULKAN_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir /Vulkan-Headers/build/install" `
226
228
- S" $Vulkan_Vendor_Dir /Vulkan-Loader" `
227
229
- B" $build_dir "
228
230
229
- cmake -- build " $build_dir " -- parallel $env: NUMBER_OF_PROCESSORS -- config Release
231
+ cmake -- build " $build_dir " -- parallel $env: NUMBER_OF_PROCESSORS
230
232
231
233
Make- Dir $Vulkan_Lib_Dir
232
234
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
234
236
}
235
237
236
238
function Setup-Robin-Hood-Hashing {
@@ -289,28 +291,42 @@ function Setup-Spirv-Tools {
289
291
Make- Dir $build_dir
290
292
291
293
cmake `
292
- .. `
293
294
$CMAKE_COMPILER `
294
295
- DCMAKE_BUILD_TYPE= Release `
295
296
- DSPIRV_SKIP_TESTS= ON `
296
297
- 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" `
300
301
- B" $build_dir "
301
302
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 "
311
303
cmake -- build $build_dir -- parallel $env: NUMBER_OF_PROCESSORS -- target install -- config Release
312
304
}
313
305
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
+
314
330
function Setup-Validation-Layers {
315
331
Write-Output " Setting up Vulkan Validation Layers..."
316
332
Write-Output " Cloning Vulkan ValidationLayers..."
@@ -323,16 +339,17 @@ function Setup-Validation-Layers {
323
339
324
340
Make- Dir $build_dir
325
341
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" `
336
353
- B" $build_dir "
337
354
338
355
cmake -- build $build_dir -- parallel $env: NUMBER_OF_PROCESSORS -- target install -- config Release
@@ -354,16 +371,17 @@ Setup-Zlib
354
371
Setup- LibPng
355
372
Setup- FreeType
356
373
Setup- Glfw
374
+ Setup- Vulkan- Headers
375
+ Setup- Spirv- Headers
376
+ Setup- Spirv- Tools
357
377
Setup- Glslang
358
378
Setup- Volk
359
- Setup- Vulkan- Headers
360
379
Setup- Vulkan- Loader
361
380
362
381
if ($Include_Validation_Layers )
363
382
{
364
383
Setup- Robin- Hood- Hashing
365
- Setup- Spirv- Headers
366
- Setup- Spirv- Tools
384
+ Setup- Vulkan- Utility- Libraries
367
385
Setup- Validation- Layers
368
386
369
387
Write-Output " Configuring environment file..."
0 commit comments