enh: AppVeyor builds with different toolchains (copied from gtest project)
diff --git a/appveyor.yml b/appveyor.yml
index 756e5cb..a5110e5 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,43 +1,68 @@
 # Configuration for continuous integration service at appveyor.com
 
-shallow_clone: true
+version: '{build}'
 
-# Operating system (build VM template)
 os: Visual Studio 2015
 
-# scripts that are called at very beginning, before repo cloning
-init:
-
-# clone directory
-clone_folder: c:\projects\gflags
-
-matrix:
-  fast_finish: true
+environment:
+  matrix:
+  - Toolset: v140
+  - Toolset: v120
+  - Toolset: v110
+  - Toolset: v100
+  - Toolset: v90
 
 platform:
   - Win32
+  - x64
 
 configuration:
-  - Debug
   - Release
 
-install:
-  # show all available env vars
-  - set
-  - echo cmake on AppVeyor, %configuration%-%platform%
-  - cmake -version
-  - call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
+matrix:
+  exclude:
+    - Toolset: v90
+      platform: x64
+    - Toolset: v100
+      platform: x64
+
+build:
+  verbosity: minimal
+
+before_build:
+- ps: |
+    Write-Output "Configuration: $env:CONFIGURATION"
+    Write-Output "Platform: $env:PLATFORM"
+    $generator = switch ($env:TOOLSET)
+    {
+        "v140" {"Visual Studio 14 2015"}
+        "v120" {"Visual Studio 12 2013"}
+        "v110" {"Visual Studio 11 2012"}
+        "v100" {"Visual Studio 10 2010"}
+        "v90" {"Visual Studio 9 2008"}
+    }
+    if ($env:PLATFORM -eq "x64")
+    {
+        $generator = "$generator Win64"
+    }
 
 build_script:
-  - cd c:\projects\gflags
-  - mkdir out && cd out
-  - cmake -G "Visual Studio 14 2015"
-    -D CMAKE_BUILD_TYPE=%configuration%
-    -D GFLAGS_BUILD_TESTING=ON
-    -D GFLAGS_BUILD_SHARED_LIBS=ON
-    -D GFLAGS_BUILD_STATIC_LIBS=ON
-    ..
-  - cmake --build . --config %configuration%
+- ps: |
+    md _build -Force | Out-Null
+    cd _build
+
+    & cmake -G "$generator" -D CMAKE_CONFIGURATION_TYPES="Debug;Release" -D GFLAGS_BUILD_TESTING=ON -D GFLAGS_BUILD_SHARED_LIBS=ON -D GFLAGS_BUILD_STATIC_LIBS=ON ..
+    if ($LastExitCode -ne 0) {
+        throw "Exec: $ErrorMessage"
+    }
+    & cmake --build . --config $env:CONFIGURATION
+    if ($LastExitCode -ne 0) {
+        throw "Exec: $ErrorMessage"
+    }
 
 test_script:
-  - ctest -C %configuration%
+- ps: |
+    & ctest -C $env:CONFIGURATION --output-on-failure
+    if ($LastExitCode -ne 0) {
+        throw "Exec: $ErrorMessage"
+    }