-
Notifications
You must be signed in to change notification settings - Fork 6
/
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.
.DESCRIPTION
This script generates a new version of the Binding for OpenXR 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]$openXRGenCsprojPath = "OpenXRGen\OpenXRGen\OpenXRGen.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 $openXRGenCsprojPath
if($?)
{
LogDebug "END generator build process"
}
else
{
LogDebug "ERROR; Generator build failed"
exit -1
}
# Run generator
LogDebug "START binding generator process"
pushd .\OpenXRGen\OpenXRGen\bin\Release\net8.0
.\publish\OpenXRGen.exe
if($?)
{
LogDebug "END binding generator process"
}
else
{
LogDebug "ERROR; Binding Generation failed"
exit -1
}
popd