The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
4.8 KiB
123 lines
4.8 KiB
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 ) |
|
# MinGW setup, lines are split to prevent "The input line is too long." error. |
|
- cmd: if %arch%==x86 ( set "PACMAN_ARCH=i686" ) else ( set "PACMAN_ARCH=x86_64" ) |
|
- cmd: if %arch%==x86 ( set "PACMAN_BITS=32" ) else ( set "PACMAN_BITS=64" ) |
|
- cmd: if %compiler%==msys2-mingw ( set "PATH=C:\msys64\mingw%PACMAN_BITS%\bin;%PATH%" ) |
|
- cmd: if %compiler%==msys2-mingw ( set "MESON_PYTHON_PATH=C:\msys64\mingw%PACMAN_BITS%\bin" ) |
|
- cmd: if %compiler%==msys2-mingw ( set "PYTHON=python3" ) |
|
- cmd: if %compiler%==msys2-mingw ( C:\msys64\usr\bin\pacman -S --needed --noconfirm "mingw%PACMAN_BITS%/mingw-w64-%PACMAN_ARCH%-python3" ) |
|
# Cygwin |
|
- 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
|
|
|