1environment:
2  matrix:
3    - arch: x64
4      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
5      compiler: msvc2017
6    - arch: x64
7      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
8      compiler: msvc2015
9
10install:
11  - ps:  wget  'https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip' -OutFile ninja.zip
12  - cmd: 7z x ninja.zip -oC:\ninja > nul
13  - cmd: set PATH=C:\ninja;%PATH%
14
15  - cmd: set MESON_PYTHON_PATH=C:\python35-x64
16  - cmd: set PATH=%MESON_PYTHON_PATH%;%MESON_PYTHON_PATH%\Scripts;%PATH%
17  - ps: $PKG_CONFIG_URL="http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/pkg-config_0.23-2_win64.zip";
18  - ps: $GLIB_URL="http://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.26/glib_2.26.1-1_win64.zip";
19  - ps: $GETTEXT_URL="http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-runtime_0.18.1.1-2_win64.zip";
20  - ps: wget $GLIB_URL -OutFile glib.zip
21  - ps: wget $GETTEXT_URL -OutFile gettext.zip
22  - ps: wget $PKG_CONFIG_URL -OutFile pkg_config.zip
23  - ps: wget 'https://github.com/OpenCppCoverage/OpenCppCoverage/releases/download/release-0.9.6.1/OpenCppCoverageSetup-x64-0.9.6.1.exe' -OutFile coverage_setup.exe
24  - cmd: coverage_setup.exe /VERYSILENT
25
26  - cmd: 7z x glib.zip -oC:\glib > nul
27  - cmd: 7z x gettext.zip -oC:\gettext > nul
28  - cmd: 7z x pkg_config.zip -oC:\pkg_config > nul
29
30  - cmd: set OPENCPPPATH="C:\\Program Files\\OpenCppCoverage"
31  - cmd: set PATH=C:\glib\bin\;C:\gettext\bin\;C:\pkg_config\bin\;%OPENCPPPATH%;%PATH%
32  - cmd: python -m pip install meson conan codecov
33
34  - cmd: if %compiler%==msvc2015 ( call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %arch% )
35  - cmd: if %compiler%==msvc2017 ( if %arch%==x64 ( call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"))
36  - cmd: conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
37
38
39build_script:
40  - cmd: mkdir build && cd build
41  - cmd: conan install ..
42  - cmd: conan build ..
43  - cmd: meson configure -Dbuildtype=debug
44  - cmd: meson configure -Dwarning_level=3
45  - cmd: ninja
46  - cmd: cd test
47  - cmd: mainTest.exe
48  - cmd: colorTest.exe
49  - cmd: envTermMissing.exe
50  - cmd: OpenCppCoverage --sources C:\projects\rang --export_type=binary:envTermMissingReport.bin -- envTermMissing.exe
51  - cmd: OpenCppCoverage --sources C:\projects\rang --export_type=binary:mainTestReport.bin -- mainTest.exe
52  - cmd: OpenCppCoverage --sources C:\projects\rang --export_type=binary:colorTestReport.bin -- colorTest.exe
53  - cmd: OpenCppCoverage --sources C:\projects\rang --export_type=cobertura:overallReport.xml --input_coverage=mainTestReport.bin --input_coverage=envTermMissingReport.bin --input_coverage=colorTestReport.bin
54  - cmd: codecov --root ../.. --no-color --disable gcov -f overallReport.xml
55