Add VS2017 to AppVeyor test run

This requires moving the list of VS versions out of
autotest-appveyor.ps1 and into appveyor.yml.
This commit is contained in:
Arseny Kapoulkine 2017-06-18 21:21:58 -07:00
parent 7418bd0d79
commit 9357837d2e
2 changed files with 17 additions and 7 deletions

View File

@ -1,6 +1,6 @@
image:
- Visual Studio 2015
- Visual Studio 2017
- Visual Studio 2015
- Visual Studio 2017
version: "{branch}-{build}"
@ -11,10 +11,11 @@ install:
- ps: Import-Module CoApp
build_script:
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017"){.\scripts\nuget_build.ps1}
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017") { .\scripts\nuget_build.ps1 }
test_script:
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015"){.\tests\autotest-appveyor.ps1}
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") { .\tests\autotest-appveyor.ps1 9 10 11 12 14 }
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017") { .\tests\autotest-appveyor.ps1 15 }
artifacts:
- path: .\scripts\*.nupkg
- path: .\scripts\*.nupkg

View File

@ -12,13 +12,22 @@ function Invoke-CmdScript($scriptName)
$sources = @("src/pugixml.cpp") + (Get-ChildItem -Path "tests/*.cpp" -Exclude "fuzz_*.cpp")
$failed = $FALSE
foreach ($vs in 9,10,11,12,14)
foreach ($vs in $args)
{
foreach ($arch in "x86","x64")
{
Write-Output "# Setting up VS$vs $arch"
Invoke-CmdScript "C:\Program Files (x86)\Microsoft Visual Studio $vs.0\VC\vcvarsall.bat" $arch
if ($vs -eq 15)
{
$vsdevcmdarch = if ($arch -eq "x64") { "amd64" } else { "x86" }
Invoke-CmdScript "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" "-arch=$vsdevcmdarch"
}
else
{
Invoke-CmdScript "C:\Program Files (x86)\Microsoft Visual Studio $vs.0\VC\vcvarsall.bat" $arch
}
if (! $?) { throw "Error setting up VS$vs $arch" }
foreach ($defines in "standard", "PUGIXML_WCHAR_MODE", "PUGIXML_COMPACT")