[CmdletBinding()] param( [string[]]$Presets = @("android-arm64"), [string[]]$Targets = @("pp_foundation", "pp_assets", "pano_cli", "pp_foundation_binary_stream_tests", "pp_foundation_parse_tests", "pp_foundation_trace_tests", "pp_assets_image_format_tests") ) $ErrorActionPreference = "Stop" $started = Get-Date $results = @() $overallExitCode = 0 foreach ($preset in $Presets) { & cmake --preset $preset $configureExitCode = $LASTEXITCODE if ($configureExitCode -ne 0) { $overallExitCode = $configureExitCode $results += [ordered]@{ preset = $preset stage = "configure" exitCode = $configureExitCode } continue } $buildArgs = @("--build", "--preset", $preset) foreach ($target in $Targets) { $buildArgs += @("--target", $target) } & cmake @buildArgs $buildExitCode = $LASTEXITCODE if ($buildExitCode -ne 0 -and $overallExitCode -eq 0) { $overallExitCode = $buildExitCode } $results += [ordered]@{ preset = $preset stage = "build" targets = $Targets exitCode = $buildExitCode } } $elapsed = [int]((Get-Date) - $started).TotalMilliseconds [ordered]@{ command = "platform-build" exitCode = $overallExitCode elapsedMs = $elapsed results = $results } | ConvertTo-Json -Compress -Depth 6 exit $overallExitCode