aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts/ci/appveyor.yml
blob: b6df94a6fe354d4f3cef1cc6a406d2294bd8dba7 (plain)
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
# Let's call MSVS 2017 the default compiler, 64 bit the default architecture,
# release the default configuration and --enable-shared the default mode.
#
# Build jobs
#  1. six basic builds: 32/64bit on MSVS2013/2015/2017
#  2. add static lib, amalgamation and debug on MSVC2017
#
# Note: Avoid the AppVeyor settings `platform` and `configuration` since excluding
# from the build matrix is not supported (https://github.com/appveyor/ci/issues/386)

clone_depth: 5

environment:
  matrix:
    # 1
    - MSVS: 2013
      PLATFORM: x86
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
    - MSVS: 2013
      PLATFORM: x86_amd64
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
    - MSVS: 2015
      PLATFORM: x86
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
    - MSVS: 2015
      PLATFORM: x86_amd64
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
    - MSVS: 2017
      PLATFORM: x86
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
    - MSVS: 2017
      PLATFORM: x86_amd64
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017

    # 2
    - MSVS: 2017
      PLATFORM: x86_amd64
      CONFIG: --disable-shared
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
    - MSVS: 2017
      PLATFORM: x86_amd64
      CONFIG: --amalgamation
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017

    # 3
    - MSVS: 2017
      PLATFORM: x86_amd64
      CONFIG: --with-debug
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017

install:
  # Check setup
  - echo Current build setup MSVS="%MSVS%" PLATFORM="%PLATFORM%" CONFIG="%CONFIG%"

  # Choose compiler
  - if %MSVS% == 2013 (
       call "%ProgramFiles(x86)%\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %PLATFORM%
    )
  - if %MSVS% == 2015 (
       call "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %PLATFORM%
    )
  - if %MSVS% == 2017 (
       call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %PLATFORM%
    )
  - cl # check compiler version
  - appveyor DownloadFile http://download.qt.io/official_releases/jom/jom.zip -FileName jom.zip
  - 7z e jom.zip

build_script:
  - python configure.py --cc=msvc --cpu=%PLATFORM% %CONFIG%
  - jom -j3
  - botan-test
  - nmake install

# whitelist branches to avoid testing feature branches twice (as branch and as pull request)
branches:
  only:
    - master
    - release-2