aboutsummaryrefslogtreecommitdiff
path: root/.appveyor.yml
blob: 03dcae69c454f85c02aeedc15a0d96ad9d5c274b (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
version: 0.0.{build}
environment:
  global:
    ASCIIDOCTOR_VER: 1.5.4
    CFLAGS: /MP
    TERM: xterm
  matrix:
    # array of all environments used to test builds
    # Note that we require relatively modern Visual Studio, in order to pick
    # up snprintf.  You don't want the older versions of VS, really!
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      GENERATOR: NMake Makefiles
      CFG: Debug
      VSINSTALL: '"Microsoft Visual Studio 14.0"/VC'
      MSVC_PLATFORM: x86
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      GENERATOR: Visual Studio 14 2015
      CFG: Debug
      VSINSTALL: '"Microsoft Visual Studio 14.0"/VC'
      MSVC_PLATFORM: x86
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      GENERATOR: Visual Studio 14 2015 Win64
      CFG: Debug
      VSINSTALL: '"Microsoft Visual Studio 14.0"/VC'
      MSVC_PLATFORM: amd64
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      GENERATOR: Visual Studio 15 2017
      CFG: Debug
      VSINSTALL: '"Microsoft Visual Studio"/2017/Community/VC/Auxiliary/Build'      
      MSVC_PLATFORM: x86
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      GENERATOR: Visual Studio 15 2017 Win64
      CFG: Debug
      VSINSTALL: '"Microsoft Visual Studio"/2017/Community/VC/Auxiliary/Build'      
      MSVC_PLATFORM: amd64


cache:
  - '%USERPROFILE%\asciidoctor-%ASCIIDOCTOR_VER%.gem -> .appveyor.yml'

install:
  # Gem fetching can sometimes be excruciatingly slow due to the rubygems database,
  # so we have to manually download our target gem.
  - ps: |
      $asciidoctor = "$($env:USERPROFILE)\asciidoctor-$($env:ASCIIDOCTOR_VER).gem"
      if (-not (Test-Path $asciidoctor)) {
          $url = "https://rubygems.org/downloads/asciidoctor-$($env:ASCIIDOCTOR_VER).gem"
          Write-Output "Downloading asciidoctor $env:ASCIIDOCTOR_VER from $url"
          (New-Object Net.WebClient).DownloadFile($url, $asciidoctor)
      }
      gem install --no-document --local $asciidoctor

# This section is a workaround for: https://github.com/nanomsg/nanomsg/issues/683
#before_build:
#  - del "C:\Program Files (x86)\MSBuild\%VS_VERSION%\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets"

init:
  - cmake --version
  - C:\"Program Files (x86)"/%VSINSTALL%/vcvarsall.bat %MSVC_PLATFORM%

build:
  parallel: true

build_script:
  - cmd: md build
  - cmd: cd build
  - cmd: cmake -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=%CFG% ..
  - cmd: cmake --build .

test_script:
  - cmd: ctest --output-on-failure -C "%CFG%"