forked from EvergineTeam/Vulkan.NET
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGenerate-Bindings.ps1
More file actions
56 lines (51 loc) · 1.29 KB
/
Generate-Bindings.ps1
File metadata and controls
56 lines (51 loc) · 1.29 KB
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