summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArseny Kapoulkine <arseny.kapoulkine@gmail.com>2017-06-18 22:34:08 -0700
committerGitHub <noreply@github.com>2017-06-18 22:34:08 -0700
commit867bd2583bf0abc374a096a8c4f41b9b1f38d3a4 (patch)
tree09b74d392342edb181af8a100b562d91935ffb14
parentade869ea58a2c43cc6c9981a9e6d97127a19cd92 (diff)
parent9357837d2e4331a29bdab77120d5baaaec05de50 (diff)
Merge pull request #150 from zeux/nuget
Add VS2017 to AppVeyor test run
-rw-r--r--appveyor.yml11
-rw-r--r--scripts/nuget_build.ps144
-rw-r--r--tests/autotest-appveyor.ps113
3 files changed, 35 insertions, 33 deletions
diff --git a/appveyor.yml b/appveyor.yml
index a42990f..51adf2e 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -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 \ No newline at end of file
+ - path: .\scripts\*.nupkg
diff --git a/scripts/nuget_build.ps1 b/scripts/nuget_build.ps1
index bcb774f..a8e3017 100644
--- a/scripts/nuget_build.ps1
+++ b/scripts/nuget_build.ps1
@@ -1,33 +1,25 @@
+function Run-Command
+{
+ Invoke-Expression $args[0]
+ if ($LastExitCode) { exit $LastExitCode }
+}
+
Push-Location
$scriptdir = Split-Path $MyInvocation.MyCommand.Path
cd $scriptdir
-"%VS141COMNTOOLS%\VsMSBuildCmd.bat"
-msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo
-If(!$?){exit 1}
-msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo
-If(!$?){exit 1}
+Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo"
+Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo"
Write-NuGetPackage nuget.autopkg
-If(!$?){exit 1}
Pop-Location
diff --git a/tests/autotest-appveyor.ps1 b/tests/autotest-appveyor.ps1
index 0b8717c..e3805c7 100644
--- a/tests/autotest-appveyor.ps1
+++ b/tests/autotest-appveyor.ps1
@@ -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")