evmc/appveyor.yml

63 lines
1.8 KiB
YAML

version: "{build}"
image: Visual Studio 2017
branches:
only:
- master
- /release\/.*/
- appveyor
- hunter
configuration:
- Release
environment:
matrix:
- VS: 2019
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- 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%" == "2019" (call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\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