Deploy OpenVR runtime for Windows app

This commit is contained in:
2026-06-05 16:53:27 +02:00
parent 26a2349c5f
commit ee46a6497f
4 changed files with 29 additions and 6 deletions

View File

@@ -3,6 +3,7 @@ param(
[string]$Preset = "windows-msvc-default",
[string]$Configuration = "Debug",
[string]$Target = "PanoPainter",
[string]$CMakeCommand = "cmake",
[switch]$ReadinessOnly,
[switch]$AndroidNativeChecks,
[string[]]$PackageKinds = @(
@@ -355,7 +356,7 @@ if ($ReadinessOnly) {
exit $androidNativeValidation.exitCode
}
& cmake --build --preset $Preset --config $Configuration --target $Target
& $CMakeCommand --build --preset $Preset --config $Configuration --target $Target
$buildExitCode = $LASTEXITCODE
if ($buildExitCode -ne 0) {
$elapsed = [int]((Get-Date) - $started).TotalMilliseconds
@@ -365,6 +366,7 @@ if ($buildExitCode -ne 0) {
configuration = $Configuration
target = $Target
stage = "build"
cmakeCommand = $CMakeCommand
exitCode = $buildExitCode
elapsedMs = $elapsed
androidNativeValidation = $androidNativeValidation
@@ -374,10 +376,18 @@ if ($buildExitCode -ne 0) {
}
$binaryDir = Join-Path (Join-Path (Join-Path (Get-Location) "out/build/$Preset") $Configuration) "$Target.exe"
$dataDir = Join-Path (Join-Path (Join-Path (Get-Location) "out/build/$Preset") $Configuration) "data"
$targetDir = Split-Path -Parent $binaryDir
$dataDir = Join-Path $targetDir "data"
$curlDll = if ($Configuration -eq "Debug") { "libcurl_debug.dll" } else { "libcurl.dll" }
$checks = @(
[ordered]@{ name = "executable"; path = $binaryDir; exists = Test-Path -LiteralPath $binaryDir -PathType Leaf },
[ordered]@{ name = "data"; path = $dataDir; exists = Test-Path -LiteralPath $dataDir -PathType Container }
[ordered]@{ name = "data"; path = $dataDir; exists = Test-Path -LiteralPath $dataDir -PathType Container },
[ordered]@{ name = "BugTrapU-x64.dll"; path = (Join-Path $targetDir "BugTrapU-x64.dll"); exists = Test-Path -LiteralPath (Join-Path $targetDir "BugTrapU-x64.dll") -PathType Leaf },
[ordered]@{ name = $curlDll; path = (Join-Path $targetDir $curlDll); exists = Test-Path -LiteralPath (Join-Path $targetDir $curlDll) -PathType Leaf },
[ordered]@{ name = "libyuv.dll"; path = (Join-Path $targetDir "libyuv.dll"); exists = Test-Path -LiteralPath (Join-Path $targetDir "libyuv.dll") -PathType Leaf },
[ordered]@{ name = "libmp4v2.dll"; path = (Join-Path $targetDir "libmp4v2.dll"); exists = Test-Path -LiteralPath (Join-Path $targetDir "libmp4v2.dll") -PathType Leaf },
[ordered]@{ name = "openh264-2.0.0-win64.dll"; path = (Join-Path $targetDir "openh264-2.0.0-win64.dll"); exists = Test-Path -LiteralPath (Join-Path $targetDir "openh264-2.0.0-win64.dll") -PathType Leaf },
[ordered]@{ name = "openvr_api.dll"; path = (Join-Path $targetDir "openvr_api.dll"); exists = Test-Path -LiteralPath (Join-Path $targetDir "openvr_api.dll") -PathType Leaf }
)
$failed = @($checks | Where-Object { -not $_.exists })
@@ -392,6 +402,7 @@ $elapsedMs = [int]((Get-Date) - $started).TotalMilliseconds
preset = $Preset
configuration = $Configuration
target = $Target
cmakeCommand = $CMakeCommand
exitCode = $exitCode
elapsedMs = $elapsedMs
checks = $checks