forked from arvidn/libtorrent
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
124 lines (113 loc) · 4.91 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
version: "{build}"
branches:
only:
- master
- RC_1_1
- RC_1_0
os: Visual Studio 2015
clone_depth: 1
environment:
matrix:
- variant: test_debug
compiler: msvc-14.0
model: 64
sim: 1
- variant: test_debug
compiler: msvc-14.0
model: 32
- variant: test_release
compiler: msvc-14.0
model: 64
python: 1
crypto: openssl
cmake: 1
- variant: test_debug
compiler: gcc
model: 32
crypto: openssl
install:
- git submodule update --init --recursive
- set ROOT_DIRECTORY=%CD%
- cd %ROOT_DIRECTORY%
- if %compiler% == msvc-14.0 if defined crypto if not exist openssl-1.0.1p-vs2015.7z (
echo downloading openssl-2015
& appveyor DownloadFile "https://www.npcglib.org/~stathis/downloads/openssl-1.0.1p-vs2015.7z"
)
- if %compiler% == msvc-14.0 if defined crypto (
echo extracting openssl-2015
& 7z x -oc:\ -aoa openssl-1.0.1p-vs2015.7z > nul
& rename c:\openssl-1.0.1p-vs2015 openssl
& copy c:\openssl\lib64\ssleay32MT.lib c:\openssl\lib64\ssleay32.lib
& copy c:\openssl\lib64\libeay32MT.lib c:\openssl\lib64\libeay32.lib
& copy c:\openssl\lib\ssleay32MT.lib c:\openssl\lib\ssleay32.lib
& copy c:\openssl\lib\libeay32MT.lib c:\openssl\lib\libeay32.lib
)
- if not defined crypto ( set crypto=built-in )
- if not defined linkflags ( set linkflags="" )
- if not defined include ( set include="" )
- cd %ROOT_DIRECTORY%
- set BOOST_ROOT=c:\Libraries\boost_1_63_0
- set BOOST_BUILD_PATH=%BOOST_ROOT%\tools\build
- echo %BOOST_ROOT%
- echo %BOOST_BUILD_PATH%
- set PATH=%PATH%;%BOOST_BUILD_PATH%\src\engine\bin.ntx86
- ps: '"using msvc : 14.0 ;`nusing gcc : : : <cxxflags>-std=c++11 ;`nusing python : 3.5 : c:\\Python35-x64 : c:\\Python35-x64\\include : c:\\Python35-x64\\libs ;`n" | Set-Content $env:HOMEDRIVE\$env:HOMEPATH\user-config.jam'
- type %HOMEDRIVE%%HOMEPATH%\user-config.jam
- cd %ROOT_DIRECTORY%
- set PATH=c:\msys64\mingw32\bin;%PATH%
- g++ --version
- python --version
- echo %ROOT_DIRECTORY%
- cd %BOOST_BUILD_PATH%\src\engine
- build.bat >nul
- cd %ROOT_DIRECTORY%
cache:
- openssl-1.0.1p-vs2015.7z
build_script:
# examples
- cd %ROOT_DIRECTORY%\examples
- b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared crypto=%crypto%
# tools
- cd %ROOT_DIRECTORY%\tools
- b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared crypto=%crypto%
# test
- cd %ROOT_DIRECTORY%\test
- b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared crypto=%crypto% win-tests test_upnp test_natpmp testing.execute=off
# python binding
- cd %ROOT_DIRECTORY%\bindings\python
# we use 64 bit python builds
- if defined python (
b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared crypto=%crypto% libtorrent-link=shared stage_module stage_dependencies
)
# simulations
- cd %ROOT_DIRECTORY%\simulation
- if defined sim (
b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=off picker-debugging=on invariant-checks=full test_debug %linkflags% %include% boost-link=default link=static crypto=built-in define=BOOST_ASIO_DISABLE_IOCP testing.execute=off
)
# minimal support for cmake build
- cd %ROOT_DIRECTORY%
- mkdir build && cd build
- if defined cmake (
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="/WX" -G "Visual Studio 14 2015 Win64" .. &&
cmake --build .
)
test_script:
- cd %ROOT_DIRECTORY%\test
- appveyor-retry b2.exe -l400 --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% picker-debugging=on invariant-checks=full variant=%variant% %linkflags% %include% link=shared crypto=%crypto% win-tests
- cd %ROOT_DIRECTORY%\bindings\python
# we use 64 bit python build
- if defined python (
copy dependencies\*.* .
& c:\Python35-x64\python.exe test.py
)
# simulation tests
# debug iterators are turned off here because msvc has issues with noexcept
# specifiers when debug iterators are enabled. Specifically, constructors that
# allocate memory are still marked as noexcept. That results in program
# termination
# the IOCP backend in asio appears to have an issue where it hangs under
# certain unexpected terminations (through exceptions)
- cd %ROOT_DIRECTORY%\simulation
- if defined sim (
b2.exe --hash openssl-version=pre1.1 warnings-as-errors=on -j2 %compiler% address-model=%model% debug-iterators=off picker-debugging=on invariant-checks=full test_debug %linkflags% %include% boost-link=default link=static crypto=built-in define=BOOST_ASIO_DISABLE_IOCP
)