mirror of https://github.com/status-im/evmc.git
63 lines
1.8 KiB
YAML
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
|