aboutsummaryrefslogtreecommitdiff
path: root/scripts/appveyor.yml
blob: 617f3247563306834682200f80b2c1e7f9162106 (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
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
environment:

  global:
    # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
    # /E:ON and /V:ON options are not enabled in the batch script intepreter
    # See: http://stackoverflow.com/a/13751649/163740
    WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\run_with_compiler.cmd"

  matrix:
    - BUILD_SYSTEM: CMake
      GENERATOR: Visual Studio 14 2015 Win64

    - BUILD_SYSTEM: CMake
      GENERATOR: Visual Studio 14 2015

    - BUILD_SYSTEM: CMake
      GENERATOR: Visual Studio 12 2013 Win64

    - BUILD_SYSTEM: CMake
      GENERATOR: Visual Studio 12 2013

    - BUILD_SYSTEM: Python
      PYTHON: "C:\\Python27"
      PYTHON_VERSION: "2.7.x"
      PYTHON_ARCH: "32"

    - BUILD_SYSTEM: Python
      PYTHON: "C:\\Python34"
      PYTHON_VERSION: "3.4.x"
      PYTHON_ARCH: "32"

    - BUILD_SYSTEM: Python
      PYTHON: "C:\\Python35"
      PYTHON_VERSION: "3.5.0"
      PYTHON_ARCH: "32"

    - BUILD_SYSTEM: Python
      PYTHON: "C:\\Python27-x64"
      PYTHON_VERSION: "2.7.x"
      PYTHON_ARCH: "64"

    - BUILD_SYSTEM: Python
      PYTHON: "C:\\Python34-x64"
      PYTHON_VERSION: "3.4.x"
      PYTHON_ARCH: "64"

    - BUILD_SYSTEM: Python
      PYTHON: "C:\\Python35-x64"
      PYTHON_VERSION: "3.5.0"
      PYTHON_ARCH: "64"

install:
  - ps: |
      if ($env:BUILD_SYSTEM -eq "Python") {
        # install Python and pip when not already installed
        if (-not(Test-Path($env:PYTHON))) { & scripts\install_py.ps1 }

        # prepend newly installed Python to the PATH
        $env:Path = $env:PYTHON + ';' + $env:PYTHON + '\\Scripts;' + $env:PATH

        # upgrade pip to avoid out-of-date warnings
        pip install --disable-pip-version-check --user --upgrade pip

        # install/upgrade setuptools and wheel to build packages
        pip install --upgrade setuptools wheel
      }

before_build:
  - ps: |
      if ($env:BUILD_SYSTEM -eq "CMake") {
        mkdir builddir
        cd builddir

        cmake -G "$env:GENERATOR" ..
      }

build_script:
  - ps: |
      if ($env:BUILD_SYSTEM -eq "CMake") {
        cmake --build . --config Debug
      }

test_script:
  - if "%BUILD_SYSTEM%" == "CMake" ( ctest --output-on-failure --interactive-debug-mode 0 -C Debug )
  - if "%BUILD_SYSTEM%" == "Python" ( python setup.py build test )

after_test:
  - if "%BUILD_SYSTEM%" == "Python" ( pip wheel -w dist . )
  - if "%BUILD_SYSTEM%" == "Python" ( python setup.py sdist --formats=gztar,zip )

artifacts:
  # archive the generated packages in the ci.appveyor.com build report
  - path: dist\*.whl
  - path: dist\*.zip
  - path: dist\*.tar.gz

# For info, see: http://www.appveyor.com/docs/deployment/github

deploy:
  - provider: GitHub
    auth_token:
      secure: dfL56DgbwuGJNNE5GzKi/pAgBQnJ37Du+AnCtnsTnIYxpis8ah3fPmA/G+bn4NJ3
    artifact:
    draft: false
    prerelease: false
    on:
      appveyor_repo_tag: true