version: 'openfusion-{branch}-{build}' image: - Visual Studio 2019 - Ubuntu2004 platform: - x64 configuration: - Release for: - matrix: only: - image: Ubuntu2004 build_script: - ps: | $versions = "104", "728" foreach ($version in $versions) { Write-Output "Cleaning old output" Invoke-Expression "make clean" if ($LASTEXITCODE -ne "0") { Write-Error "make clean failed for version $version" -ErrorAction Stop } Write-Output "Building version $version" Invoke-Expression "make PROTOCOL_VERSION=$version" if ($LASTEXITCODE -ne "0") { Write-Error "make failed for version $version" -ErrorAction Stop } Rename-Item -Path "bin/fusion" -newName "$version-fusion" Write-Output "Built version $version" } artifacts: - path: bin name: ubuntu20_04-bin-x64 type: zip - matrix: only: - image: Visual Studio 2019 build_script: - ps: | $versions = "104", "728" $configurations = "Release", "Debug" # AppVeyor uses VS2019 Community $vsPath = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community" Import-Module "$vsPath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation foreach ($version in $versions) { if (Test-Path -LiteralPath "build") { Remove-Item "build" -Recurse Write-Output "Deleted existing build folder" } Invoke-Expression "cmake -B build -DPROTOCOL_VERSION=$version" if ($LASTEXITCODE -ne "0") { Write-Error "cmake generation failed for version $version" -ErrorAction Stop } Write-Output "Generated build files for version $version" foreach ($configuration in $configurations) { Write-Output "Building version $version $configuration" Invoke-Expression "msbuild build\OpenFusion.sln /p:Configuration=$configuration" if ($LASTEXITCODE -ne "0") { Write-Error "msbuild build failed for version $version" -ErrorAction Stop } Rename-Item -Path "bin/$configuration" -newName "$version-$configuration" Write-Output "Built version $version $configuration" } } artifacts: - path: bin name: windows-vs2019-bin-x64 type: zip