forked from arvidn/libtorrent
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
113 lines (104 loc) · 4.58 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
version: "{build}"
branches:
only:
- master
- RC_2_0
- RC_1_2
- RC_1_1
image: Visual Studio 2019
clone_depth: 1
environment:
matrix:
- variant: debug
compiler: gcc
model: 32
crypto: openssl
ssl_lib: /usr/local/include
ssl_include: /usr/local/lib
lib: 1
- cmake: 1
crypto: openssl
ssl_root_dir: c:\OpenSSL-v111-Win64
webtorrent: on
- variant: release
compiler: msvc
model: 64
crypto: openssl
ssl_lib: c:\OpenSSL-v111-Win64\lib
ssl_include: c:\OpenSSL-v111-Win64\include
webtorrent: on
tests: 1
artifacts:
- path: bindings/python/dist/*
name: python-module
install:
- git submodule update --init --recursive
- set ROOT_DIRECTORY=%CD%
- cd %ROOT_DIRECTORY%
- if not defined api ( set api="desktop" )
- if not defined compiler ( set compiler="" )
- if not defined linking ( set linking="shared" )
- if not defined crypto ( set crypto=built-in )
- if not defined webtorrent ( set webtorrent=off )
- if not defined ssl_lib ( set ssl_lib=c:\ )
- if not defined ssl_include ( set ssl_include=c:\ )
- if not defined ssl_root_dir ( set ssl_root_dir=c:\ )
- cd %ROOT_DIRECTORY%
- set BOOST_ROOT=c:\Libraries\boost_1_71_0
- set BOOST_BUILD_PATH=%BOOST_ROOT%\tools\build
- echo %BOOST_ROOT%
- echo %BOOST_BUILD_PATH%
- set PATH=%PATH%;%BOOST_BUILD_PATH%
- ps: '"using msvc ;`nusing python : 3.6 : c:\\Python36-x64 : c:\\Python36-x64\\include : c:\\Python36-x64\\libs ;`n" | Set-Content $env:HOMEDRIVE\$env:HOMEPATH\user-config.jam'
- type %HOMEDRIVE%%HOMEPATH%\user-config.jam
- cd %ROOT_DIRECTORY%
- set PATH=c:\Python36-x64;%PATH%
- set PYTHON_INTERPRETER=c:\Python36-x64\python.exe
- python --version
- python -m pip install websockets
- echo %ROOT_DIRECTORY%
- cd %BOOST_BUILD_PATH%
- bootstrap.bat >nul
- cd %ROOT_DIRECTORY%
build_script:
# just the library
- cd %ROOT_DIRECTORY%
- if defined lib (
b2.exe --hash openssl-lib=%ssl_lib% openssl-include=%ssl_include% warnings=all warnings-as-errors=on %compiler% address-model=%model% picker-debugging=on invariant-checks=full variant=%variant% link=shared crypto=%crypto% webtorrent=%webtorrent% asserts=on export-extra=on windows-api=%api% windows-version=win10 cxxstd=17
)
# test
- cd %ROOT_DIRECTORY%\test
- if defined tests (
b2.exe --hash openssl-lib=%ssl_lib% openssl-include=%ssl_include% warnings=all warnings-as-errors=on %compiler% address-model=%model% picker-debugging=on invariant-checks=full variant=%variant% link=shared crypto=%crypto% webtorrent=%webtorrent% asserts=on export-extra=on windows-api=%api% windows-version=win10 testing.execute=off
)
# python binding
- cd %ROOT_DIRECTORY%\bindings\python
# we use 64 bit python builds
# boost.python itself doesn't build warning free, so we can't build
# with warnings-as-errors
- if defined python (
b2.exe --hash openssl-lib=%ssl_lib% openssl-include=%ssl_include% warnings=all %compiler% address-model=%model% picker-debugging=on invariant-checks=full variant=%variant% link=shared crypto=%crypto% webtorrent=%webtorrent% asserts=on export-extra=on windows-api=%api% windows-version=win10 libtorrent-link=shared stage_module stage_dependencies
)
- if defined python_dist (
c:\Python36-x64\python.exe setup.py bdist --format=msi
)
# minimal support for cmake build
# we need to build the boost libraries we use with C++17
# and stage it for cmake to pick up
- if defined cmake (
cd %BOOST_ROOT% &&
b2.exe cxxstd=17 release --with-python --with-system --layout=system address-model=64 link=shared stage &&
cd %ROOT_DIRECTORY% &&
mkdir build &&
cd build &&
cmake -DBOOST_LIBRARYDIR=%BOOST_ROOT%\stage\lib -DCMAKE_CXX_STANDARD=17 -Dbuild_tests=ON -Dbuild_examples=ON -Dbuild_tools=ON -Dwebtorrent=%webtorrent% -DOPENSSL_ROOT_DIR=%ssl_root_dir% -Dpython-bindings=%python% -Dboost-python-module-name="python" -Dskip-python-runtime-test=true -DPython_ADDITIONAL_VERSIONS="2.7" -G "Visual Studio 16 2019" -A x64 .. &&
cmake --build . --config Release --parallel %NUMBER_OF_PROCESSORS% -- -verbosity:minimal
)
test_script:
- cd %ROOT_DIRECTORY%\test
- if defined tests (
appveyor-retry b2.exe -l500 --hash openssl-lib=%ssl_lib% openssl-include=%ssl_include% warnings=all warnings-as-errors=on %compiler% address-model=%model% picker-debugging=on invariant-checks=full variant=%variant% link=shared crypto=%crypto% webtorrent=%webtorrent% asserts=on export-extra=on windows-api=%api% windows-version=win10 deterministic-tests
)
- if defined cmake (
appveyor-retry ctest
)