forked from unicorn-engine/unicorn
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.appveyor.yml
65 lines (60 loc) · 3.4 KB
/
.appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Appveyor configuration file for CI build of Unicorn Engine on Windows
environment:
CYG_MIRROR: http://cygwin.mirror.constant.com
CYG_PACKAGES: make,gcc-core,clang,pkg-config,libpcre-devel,cmake,python27-setuptools,ruby,mingw64-i686-gcc-core,mingw64-x86_64-gcc-core
MSYS_PACKAGES: mingw-w64-x86_64-cmocka mingw-w64-i686-cmocka mingw-w64-x86_64-python3-setuptools mingw-w64-i686-python3-setuptools mingw-w64-i686-ntldd mingw-w64-x86_64-ntldd
matrix:
- MSYSTEM: MINGW64
BASH: C:\msys64\usr\bin\bash
MSYS_CACHE: C:\msys64\var\cache\pacman\pkg
CC: x86_64-w64-mingw32-gcc
- MSYSTEM: MINGW32
BASH: C:\msys64\usr\bin\bash
MSYS_CACHE: C:\msys64\var\cache\pacman\pkg
CC: i686-w64-mingw32-gcc
- CYG_ROOT: C:\cygwin64
CYG_CACHE: C:\cygwin64\var\cache\setup
CYG_SETUP: setup-x86_64.exe
BASH: C:\cygwin64\bin\bash
CC: gcc
- CYG_ROOT: C:\cygwin
CYG_CACHE: C:\cygwin\var\cache\setup
CYG_SETUP: setup-x86.exe
BASH: C:\cygwin\bin\bash
CC: gcc
- CC: msvc
# Cache Cygwin/MSYS files to speed up build
cache:
- '%CYG_CACHE%'
- '%MSYS_CACHE%'
clone_depth: 1
# Attempt to ensure we don't try to convert line endings to Win32 CRLF as this will cause build to fail
init:
- git config --global core.autocrlf input
# Allows RDP
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
# Install needed build dependencies
install:
- ps: if (Test-Path Env:\CYG_ROOT) { Start-FileDownload "https://cygwin.com/$env:CYG_SETUP" -FileName "$env:CYG_SETUP" }
- if defined CYG_ROOT (%CYG_SETUP% --quiet-mode --no-shortcuts --only-site --root "%CYG_ROOT%" --site "%CYG_MIRROR%" --local-package-dir "%CYG_CACHE%" --packages "%CYG_PACKAGES%" --upgrade-also)
- if defined MSYSTEM (%BASH% -lc "pacman -Suuy --noconfirm ${MSYS_PACKAGES}")
- if defined MSYSTEM (%BASH% -lc "pacman -Suuy --noconfirm ${MSYS_PACKAGES} && pacman -Sc --noconfirm")
build_script:
- if defined BASH (%BASH% -lc "cd $(cygpath ${APPVEYOR_BUILD_FOLDER}) && make")
- if "%MSYSTEM%" == "MINGW64" (%BASH% -lc "cd $(cygpath ${APPVEYOR_BUILD_FOLDER}) && make -C bindings/go")
- if "%CC%" == "msvc" (msbuild %APPVEYOR_BUILD_FOLDER%/msvc/unicorn.sln)
# make test
#- 'cd %APPVEYOR_BUILD_FOLDER% && cd bindings\dotnet && msbuild UnicornDotNet.sln'
# Allows RDP
#on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
# Test cygwin only
test_script:
- if defined CYG_ROOT (%BASH% -lc "cd $APPVEYOR_BUILD_FOLDER && ./install-cmocka-linux.sh && export PATH=$PATH:$APPVEYOR_BUILD_FOLDER:$APPVEYOR_BUILD_FOLDER/cmocka/src && make test")
- if defined MSYSTEM (%BASH% -lc "cd $APPVEYOR_BUILD_FOLDER && export PATH=$PATH:$APPVEYOR_BUILD_FOLDER && make test")
after_test:
- if defined CYG_ROOT (%BASH% -lc "cd $APPVEYOR_BUILD_FOLDER && ldd cygunicorn.dll")
- if defined MSYSTEM (%BASH% -lc "cd $APPVEYOR_BUILD_FOLDER && ntldd unicorn.dll")
- if defined CYG_ROOT (appveyor PushArtifact %APPVEYOR_BUILD_FOLDER%\cygunicorn.dll)
- if defined MSYSTEM (appveyor PushArtifact %APPVEYOR_BUILD_FOLDER%\unicorn.dll)
- if "%CC%" == "msvc" (appveyor PushArtifact %APPVEYOR_BUILD_FOLDER%\msvc\Win32\Debug\unicorn.dll)