version: "{build}" image: Visual Studio 2017 branches: only: - master - /release\/.*/ - appveyor - hunter configuration: - Release environment: matrix: - VS: 2017 - VS: 2017-32bit - VS: 2015 - GO: true cache: - C:\.hunter\_Base\Cache -> cmake\Hunter\init.cmake before_build: # Add ninja to PATH. This is done for VS2017 by vsdevcmd, but not for VS2015. - set PATH=%PATH%;%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja - if "%VS%" == "2017" (call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd" -arch=amd64) - if "%VS%" == "2017-32bit" (call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd" -arch=x86) - if "%VS%" == "2015" (call "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall" x64) - if defined VS cmake -S . -B build -G Ninja -Wno-dev -DTOOLCHAIN=cxx17-pic -DEVMC_TESTING=ON build_script: - ps: >- if ($env:VS) { cmake --build build --target package } elseif ($env:GO) { $env:PATH = "C:\msys64\mingw64\bin;$env:PATH" $env:GOPATH = "C:\Users\appveyor\go" mkdir $env:GOPATH gcc --version go env go get github.com/ethereum/go-ethereum/common copy include/evmc/evmc.h bindings/go/evmc copy include/evmc/helpers.h bindings/go/evmc copy include/evmc/loader.h bindings/go/evmc copy lib/loader/loader.c bindings/go/evmc go build ./bindings/go/evmc go generate ./bindings/go/evmc go test -v ./bindings/go/evmc } after_build: - ps: >- if ($env:VS) { cd build ctest -C $env:CONFIGURATION -j4 --schedule-random --output-on-failure } artifacts: - path: build\evmc-*.* name: package