build.ps1 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. $ErrorActionPreference = 'Stop'
  2. dotnet --info
  3. $proj = 'NatTypeTester'
  4. $exe = "$proj.exe"
  5. $net_tfm = 'net6.0-windows10.0.22621.0'
  6. $configuration = 'Release'
  7. $output_dir = "$PSScriptRoot\$proj\bin\$configuration"
  8. $proj_path = "$PSScriptRoot\$proj\$proj.csproj"
  9. $generic_outdir = "$output_dir\$net_tfm\generic"
  10. function Build-Generic {
  11. Write-Host 'Building generic'
  12. $outdir = $generic_outdir
  13. $publishDir = "$outdir\publish"
  14. Remove-Item $publishDir -Recurse -Force -Confirm:$false -ErrorAction Ignore
  15. dotnet publish -c $configuration -f $net_tfm $proj_path -o $publishDir
  16. if ($LASTEXITCODE) { exit $LASTEXITCODE }
  17. & "$PSScriptRoot\Build\DotNetDllPathPatcher.ps1" "$publishDir\$exe" bin
  18. if ($LASTEXITCODE) { exit $LASTEXITCODE }
  19. Remove-Item "$publishDir\$exe"
  20. }
  21. function Build {
  22. param([string]$arch)
  23. $rid = "win-$arch"
  24. Write-Host "Building $rid"
  25. $outdir = "$output_dir\$net_tfm\$rid"
  26. $publishDir = "$outdir\publish"
  27. Remove-Item $publishDir -Recurse -Force -Confirm:$false -ErrorAction Ignore
  28. dotnet publish -c $configuration -f $net_tfm -r $rid --no-self-contained true $proj_path
  29. if ($LASTEXITCODE) { exit $LASTEXITCODE }
  30. & "$PSScriptRoot\Build\DotNetDllPathPatcher.ps1" "$publishDir\$exe" bin
  31. if ($LASTEXITCODE) { exit $LASTEXITCODE }
  32. Move-Item "$publishDir\$exe" "$generic_outdir\publish\$proj-$arch.exe"
  33. }
  34. Build-Generic
  35. Build x64
  36. Build x86
  37. Build arm64