-
Notifications
You must be signed in to change notification settings - Fork 20
/
Generate-Bindings.ps1
56 lines (51 loc) · 1.29 KB
/
Generate-Bindings.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<#
.SYNOPSIS
Evergine bindings generator script, (c) 2024 Evergine Team
.DESCRIPTION
This script generates Vulkan bindings used in Evergine
It's meant to have the same behavior when executed locally as when it's executed in a CI pipeline.
.EXAMPLE
<script>
.LINK
https://evergine.com/
#>
param (
[string]$buildVerbosity = "normal",
[string]$buildConfiguration = "Release",
[string]$vulkanGenCsprojPath = "VulkanGen\VulkanGen\VulkanGen.csproj"
)
# Utility functions
function LogDebug($line)
{ Write-Host "##[debug] $line" -Foreground Blue -Background Black
}
# Show variables
LogDebug "############## VARIABLES ##############"
LogDebug "Build configuration.: $buildConfiguration"
LogDebug "Build verbosity.....: $buildVerbosity"
LogDebug "#######################################"
# Compile generator
LogDebug "START generator build process"
dotnet publish -v:$buildVerbosity -p:Configuration=$buildConfiguration $vulkanGenCsprojPath
if($?)
{
LogDebug "END generator build process"
}
else
{
LogDebug "ERROR; Generator build failed"
exit -1
}
# Run generator
LogDebug "START binding generator process"
pushd .\VulkanGen\VulkanGen\bin\Release\net8.0\
.\publish\VulkanGen.exe
if($?)
{
LogDebug "END binding generator process"
}
else
{
LogDebug "ERROR; Binding Generation failed"
exit -1
}
popd