# Appveyor's documentation is at https://www.appveyor.com/docs/build-phase/, # and a sample configuration file is at https://www.appveyor.com/docs/appveyor-yml/. # I have to admit its a bit complex and I don't fully understand it. version: 1.0.{build} clone_depth: 3 skip_tags: true configuration: - Debug - Release platform: - Win32 - x64 image: - Visual Studio 2017 - Visual Studio 2015 - Visual Studio 2013 environment: matrix: - BUILD_MODE: CMake - BUILD_MODE: MSBuild # Disable build through solution file build: off # Build through commands in script below test_script: - ps: >- if($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017" -and $env:BUILD_MODE -eq "CMake") { mkdir cmake-build cd cmake-build cmake -G "Visual Studio 15 2017" -DCMAKE_BUILD_TYPE=$env:configuration ..\ msbuild /t:Build cryptopp-static.vcxproj msbuild /t:Build cryptest.vcxproj robocopy $env:APPVEYOR_BUILD_FOLDER\cmake-build\$env:configuration\ $env:APPVEYOR_BUILD_FOLDER\ cryptest.exe cd $env:APPVEYOR_BUILD_FOLDER\ .\cryptest.exe v .\cryptest.exe tv all } elseif($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015" -and $env:BUILD_MODE -eq "CMake") { mkdir cmake-build cd cmake-build cmake -G "Visual Studio 14 2015" -DCMAKE_BUILD_TYPE=$env:configuration ..\ msbuild /t:Build cryptopp-static.vcxproj msbuild /t:Build cryptest.vcxproj robocopy $env:APPVEYOR_BUILD_FOLDER\cmake-build\$env:configuration\ $env:APPVEYOR_BUILD_FOLDER\ cryptest.exe cd $env:APPVEYOR_BUILD_FOLDER\ .\cryptest.exe v .\cryptest.exe tv all } elseif($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2013" -and $env:BUILD_MODE -eq "CMake") { mkdir cmake-build cd cmake-build cmake -G "Visual Studio 12 2013" -DCMAKE_BUILD_TYPE=$env:configuration ..\ msbuild /t:Build cryptopp-static.vcxproj msbuild /t:Build cryptest.vcxproj robocopy $env:APPVEYOR_BUILD_FOLDER\cmake-build\$env:configuration\ $env:APPVEYOR_BUILD_FOLDER\ cryptest.exe cd $env:APPVEYOR_BUILD_FOLDER\ .\cryptest.exe v .\cryptest.exe tv all } else { msbuild /t:Build /p:platform="$env:platform" /p:configuration="$env:configuration" cryptlib.vcxproj msbuild /t:Build /p:platform="$env:platform" /p:configuration="$env:configuration" cryptest.vcxproj msbuild /t:CopyCryptestToRoot cryptest.vcxproj .\cryptest.exe v .\cryptest.exe tv all } notifications: - provider: Email to: - cryptopp-build@googlegroups.com on_build_success: true on_build_failure: true