@@ -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
@@ -201,11 +203,11 @@ function Setup-Vulkan-Headers {
201
203
- B" $build_dir " `
202
204
- S" $Vulkan_Vendor_Dir /Vulkan-Headers"
203
205
204
- cmake -- install " $build_dir " -- prefix " $build_dir "
206
+ cmake -- build " $build_dir " -- target install
205
207
206
208
Make- Dir $Vulkan_Include_Dir
207
209
208
- Get-ChildItem " $Vulkan_Vendor_Dir /Vulkan-Headers/build/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
209
211
}
210
212
211
213
function Setup-Vulkan-Loader {
@@ -220,16 +222,17 @@ function Setup-Vulkan-Loader {
220
222
221
223
cmake `
222
224
$CMAKE_COMPILER `
225
+ - G " $Generator " `
223
226
- DCMAKE_INSTALL_PREFIX= " $build_dir " `
224
- - DVULKAN_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir /Vulkan-Headers/build" `
227
+ - DVULKAN_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir /Vulkan-Headers/build/install " `
225
228
- S" $Vulkan_Vendor_Dir /Vulkan-Loader" `
226
229
- B" $build_dir "
227
230
228
- cmake -- build " $build_dir " -- parallel $env: NUMBER_OF_PROCESSORS -- config Release
231
+ cmake -- build " $build_dir " -- parallel $env: NUMBER_OF_PROCESSORS
229
232
230
233
Make- Dir $Vulkan_Lib_Dir
231
234
232
- 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
233
236
}
234
237
235
238
function Setup-Robin-Hood-Hashing {
@@ -292,23 +295,38 @@ function Setup-Spirv-Tools {
292
295
- DCMAKE_BUILD_TYPE= Release `
293
296
- DSPIRV_SKIP_TESTS= ON `
294
297
- DSPIRV_WERROR= OFF `
295
- - DSPIRV- Headers_SOURCE_DIR= " $Vulkan_Vendor_Dir / SPIRV-Headers" `
296
- - DCMAKE_INSTALL_PREFIX= " $build_dir \install" `
297
- - 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" `
298
301
- B" $build_dir "
299
302
300
- cmake `
301
- $CMAKE_COMPILER `
302
- - DCMAKE_BUILD_TYPE= Release `
303
- - DSPIRV_SKIP_TESTS= ON `
304
- - DSPIRV_WERROR= OFF `
305
- - DSPIRV- Headers_SOURCE_DIR= " $Vulkan_Vendor_Dir /SPIRV-Headers" `
306
- - DCMAKE_INSTALL_PREFIX= " $build_dir \install" `
307
- - S" $Vulkan_Vendor_Dir \SPIRV-Tools" `
308
- - B" $build_dir "
309
303
cmake -- build $build_dir -- parallel $env: NUMBER_OF_PROCESSORS -- target install -- config Release
310
304
}
311
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
+
312
330
function Setup-Validation-Layers {
313
331
Write-Output " Setting up Vulkan Validation Layers..."
314
332
Write-Output " Cloning Vulkan ValidationLayers..."
@@ -321,16 +339,17 @@ function Setup-Validation-Layers {
321
339
322
340
Make- Dir $build_dir
323
341
324
- cmake `
325
- $CMAKE_COMPILER `
326
- - DVULKAN_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir /Vulkan-Headers/build" `
327
- - DGLSLANG_INSTALL_DIR= " $Vulkan_Vendor_Dir /glslang/build" `
328
- - DSPIRV_HEADERS_INSTALL_DIR= " $Vulkan_Vendor_Dir /SPIRV-Headers/build/install" `
329
- - DSPIRV_TOOLS_INSTALL_DIR= " $Vulkan_Vendor_Dir /SPIRV-Tools/build/install" `
330
- - DROBIN_HOOD_HASHING_INSTALL_DIR= " $Vulkan_Vendor_Dir /robin-hood-hashing/build/install" `
331
- - DCMAKE_INSTALL_PREFIX= " $build_dir " `
332
- - DBUILD_TESTS= OFF `
333
- - 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" `
334
353
- B" $build_dir "
335
354
336
355
cmake -- build $build_dir -- parallel $env: NUMBER_OF_PROCESSORS -- target install -- config Release
@@ -347,26 +366,27 @@ if (Test-Path "$Vulkan_Lib_Dir") { Remove-Item -Path "$Vulkan_Lib_Dir" -Recurse
347
366
if (Test-Path " $Vulkan_Vendor_Dir /vulkan/include" ) { Remove-Item - Path " $Vulkan_Vendor_Dir /vulkan/include" - Recurse - Force }
348
367
if (Test-Path " $Vendor_Dir /include" ) { Remove-Item - Path " $Vendor_Dir /include" - Recurse - Force }
349
368
350
- # Setup-Utest
351
- # Setup-Zlib
352
- # Setup-LibPng
353
- # Setup-FreeType
354
- # Setup-Glfw
355
- # Setup-Spirv -Headers
356
- # Setup-Spirv-Tools
357
- # Setup-Glslang
358
- # Setup-Volk
359
- # Setup-Vulkan-Headers
360
- # Setup-Vulkan-Loader
369
+ Setup- Utest
370
+ Setup- Zlib
371
+ Setup- LibPng
372
+ Setup- FreeType
373
+ Setup- Glfw
374
+ Setup- Vulkan - Headers
375
+ Setup- Spirv- Headers
376
+ Setup- Spirv - Tools
377
+ Setup- Glslang
378
+ Setup- Volk
379
+ Setup- Vulkan- Loader
361
380
362
381
if ($Include_Validation_Layers )
363
382
{
364
- # Setup-Robin-Hood-Hashing
383
+ Setup- Robin- Hood- Hashing
384
+ Setup- Vulkan- Utility- Libraries
365
385
Setup- Validation- Layers
366
386
367
- # Write-Output "Configuring environment file..."
368
- # if (!(Test-Path "$Root_Dir/.env")) { New-Item -Path "$Root_Dir/.env" -ItemType file }
369
- # Set-Content -Path "$Root_Dir/.env" -Value "VK_LAYER_PATH=$Bin_Dir\examples\render\build\lib\explicit_layer.d"
387
+ Write-Output " Configuring environment file..."
388
+ if (! (Test-Path " $Root_Dir /.env" )) { New-Item - Path " $Root_Dir /.env" - ItemType file }
389
+ Set-Content - Path " $Root_Dir /.env" - Value " VK_LAYER_PATH=$Bin_Dir \examples\render\build\lib\explicit_layer.d"
370
390
}
371
391
372
392
Write-Output " Siege setup complete"
0 commit comments