diff --git a/appveyor.yml b/appveyor.yml index 581366d..e0349f6 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,37 +1,125 @@ version: '{branch}.{build}' -os: Windows Server 2012 R2 + +image: +# b_toolset: v143 + - Visual Studio 2022 + + # VS2015 also used for earlier VS builds + # aka os: Windows Server 2012 R2 + - Visual Studio 2015 + + # aka os: Windows Server 2016 +# b_toolset: v141 + - Visual Studio 2017 + + # aka os: Windows Server 2019 +# b_toolset: v142 + - Visual Studio 2019 platform: x64 -# There should be a better way to set-up a build matrix. environment: matrix: - b_toolset: Windows7.1SDK - b_config: Debug - - - b_toolset: Windows7.1SDK - b_config: Release - - - b_toolset: v120 - b_config: Debug - b_toolset: v120 - b_config: Release - b_toolset: v140 - b_config: Debug - - b_toolset: v140 - b_config: Release + - b_toolset: v141 + + - b_toolset: v142 + + - b_toolset: v143 + +configuration: + - Debug + - Release build_script: -- cmake -T %b_toolset% -DCMAKE_BUILD_TYPE=%b_config% -DCMAKE_INSTALL_PREFIX=t_install . +- cmake -T %b_toolset% -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DCMAKE_INSTALL_PREFIX=t_install . - cmake --build . --target install +matrix: + exclude: + # Skip release builds for all except the newest image + - image: Visual Studio 2015 + configuration: Release + + # In the "old" image, new toolsets aren't available: + - image: Visual Studio 2015 + b_toolset: v141 + + - image: Visual Studio 2015 + b_toolset: v142 + + - image: Visual Studio 2015 + b_toolset: v143 + + # ---- + + - image: Visual Studio 2017 + configuration: Release + + # In the "new" images, exclude all toolsets except the relevant + # one for that image: + + - image: Visual Studio 2017 + b_toolset: Windows7.1SDK + + - image: Visual Studio 2017 + b_toolset: v120 + + - image: Visual Studio 2017 + b_toolset: v140 + + - image: Visual Studio 2017 + b_toolset: v142 + + - image: Visual Studio 2017 + b_toolset: v143 + + # ---- + + - image: Visual Studio 2019 + configuration: Release + + - image: Visual Studio 2019 + b_toolset: Windows7.1SDK + + - image: Visual Studio 2019 + b_toolset: v120 + + - image: Visual Studio 2019 + b_toolset: v140 + + - image: Visual Studio 2019 + b_toolset: v141 + + - image: Visual Studio 2019 + b_toolset: v143 + + # ---- + + - image: Visual Studio 2022 + b_toolset: Windows7.1SDK + + - image: Visual Studio 2022 + b_toolset: v120 + + - image: Visual Studio 2022 + b_toolset: v140 + + - image: Visual Studio 2022 + b_toolset: v141 + + - image: Visual Studio 2022 + b_toolset: v142 + after_build: - cd t_install -- 7z a ../json-c.win32.%b_toolset%.%b_config%.zip * +- 7z a ../json-c.win32.%b_toolset%.%CONFIGURATION%.zip * artifacts: -- path: json-c.win32.%b_toolset%.%b_config%.zip - name: json-c.win32.%b_toolset%.%b_config%.zip +- path: json-c.win32.%b_toolset%.%CONFIGURATION%.zip + name: json-c.win32.%b_toolset%.%CONFIGURATION%.zip