forked from mesonbuild/meson
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.appveyor.yml
129 lines (108 loc) · 4.77 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
125
126
127
128
129
version: '{build}'
os: Visual Studio 2015
environment:
matrix:
- arch: x86
compiler: msys2-mingw
backend: ninja
- arch: x64
compiler: msys2-mingw
backend: ninja
- arch: x64
compiler: cygwin
backend: ninja
- arch: x86
compiler: msvc2010
backend: ninja
- arch: x86
compiler: msvc2010
backend: vs2010
- arch: x86
compiler: msvc2015
backend: ninja
BOOST_ROOT: C:\Libraries\Boost_1_59_0
- arch: x86
compiler: msvc2015
backend: vs2015
BOOST_ROOT: C:\Libraries\Boost_1_59_0
- arch: x64
compiler: msvc2017
backend: ninja
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
BOOST_ROOT: C:\Libraries\Boost_1_64_0
- arch: x64
compiler: msvc2017
backend: vs2017
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
BOOST_ROOT: C:\Libraries\Boost_1_64_0
platform:
- x64
branches:
only:
- master
init:
- ps: |
If($Env:compiler -like 'msvc2010') {
Set-WinSystemLocale de-DE
Start-Sleep -s 5
Restart-Computer
}
install:
- cmd: set "ORIG_PATH=%PATH%"
# Use a Ninja with QuLogic's patch: https://github.com/ninja-build/ninja/issues/1219
- cmd: set "MESON_FIXED_NINJA=1"
- ps: (new-object net.webclient).DownloadFile('http://nirbheek.in/files/binaries/ninja/win32/ninja.exe', 'C:\projects\meson\ninja.exe')
# Use the x86 python only when building for x86 for the cpython tests.
# For all other archs (including, say, arm), use the x64 python.
- cmd: if %arch%==x86 (set MESON_PYTHON_PATH=C:\python35) else (set MESON_PYTHON_PATH=C:\python35-x64)
# Set paths for BOOST dll files
- cmd: if %compiler%==msvc2015 ( if %arch%==x86 ( set "PATH=%PATH%;C:\Libraries\boost_1_59_0\lib32-msvc-14.0" ) else ( set "PATH=%PATH%;C:\Libraries\boost_1_59_0\lib64-msvc-14.0" ) )
- cmd: if %compiler%==msvc2017 ( if %arch%==x86 ( set "PATH=%PATH%;C:\Libraries\boost_1_64_0\lib32-msvc-14.1" ) else ( set "PATH=%PATH%;C:\Libraries\boost_1_64_0\lib64-msvc-14.1" ) )
# Set paths and config for each build type.
- cmd: if %compiler%==msvc2010 ( call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" %arch% )
- cmd: if %compiler%==msvc2015 ( call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %arch% )
- cmd: if %compiler%==msvc2017 ( call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=%arch% )
- cmd: if %compiler%==cygwin ( set PYTHON=python3 ) else ( set PYTHON=python )
- ps: |
If($Env:compiler -eq 'msys2-mingw') {
If($Env:arch -eq 'x86') {
$env:Path = 'C:\msys64\mingw32\bin;' + $env:Path
$env:MESON_PYTHON_PATH = 'C:\msys64\mingw32\bin'
$env:PYTHON = 'python3'
C:\msys64\usr\bin\pacman -S --noconfirm mingw32/mingw-w64-i686-python3
} Else {
$env:Path = 'C:\msys64\mingw64\bin;' + $env:Path
$env:MESON_PYTHON_PATH = 'C:\msys64\mingw64\bin'
$env:PYTHON = 'python3'
C:\msys64\usr\bin\pacman -S --noconfirm mingw64/mingw-w64-x86_64-python3
}
}
- cmd: if not %compiler%==cygwin ( set "PATH=%cd%;%MESON_PYTHON_PATH%;%PATH%;" )
- cmd: if %compiler%==cygwin ( set WRAPPER=ci\run-in-cygwin.bat )
- cmd: if %compiler%==cygwin ( %WRAPPER% which %PYTHON% ) else ( where %PYTHON% )
# pkg-config is needed for the pkg-config tests on msvc
- ps: If($Env:compiler.StartsWith('msvc')) {(new-object net.webclient).DownloadFile('http://nirbheek.in/files/binaries/pkg-config/win32/pkg-config.exe', 'C:\projects\meson\pkg-config.exe')}
- cmd: if %compiler%==cygwin ( call ci\appveyor-install.bat )
- ps: |
If($Env:compiler -like 'msvc*') {
(new-object net.webclient).DownloadFile(
"https://download.microsoft.com/download/D/B/B/DBB64BA1-7B51-43DB-8BF1-D1FB45EACF7A/msmpisdk.msi",
"C:\projects\msmpisdk.msi")
c:\windows\system32\msiexec.exe /i C:\projects\msmpisdk.msi /quiet
(new-object net.webclient).DownloadFile(
"https://download.microsoft.com/download/D/B/B/DBB64BA1-7B51-43DB-8BF1-D1FB45EACF7A/MSMpiSetup.exe",
"C:\projects\MSMpiSetup.exe")
c:\projects\MSMpiSetup.exe -unattend -full
}
build_script:
- cmd: echo No build step.
- cmd: if %backend%==ninja ( %WRAPPER% ninja.exe --version ) else ( MSBuild /version & echo. )
test_script:
- cmd: echo Running tests for %arch% and %compiler% with the %backend% backend
- cmd: "%WRAPPER% %PYTHON% run_tests.py --backend=%backend%"
on_finish:
- set "PATH=%ORIG_PATH%"
- appveyor PushArtifact meson-test-run.txt -DeploymentName "Text test logs"
- appveyor PushArtifact meson-test-run.xml -DeploymentName "XML test logs"
cache:
- C:\cache