summaryrefslogtreecommitdiff
path: root/.appveyor.yml
blob: 06de5b14d36eedf8dc95291c6cd62bc67e555538 (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
image:
  - Visual Studio 2017

build:
  parallel: true
  verbosity: detailed

configuration:
  - Release

environment:
  # update the vcpkg cache even if build fails
  APPVEYOR_SAVE_CACHE_ON_ERROR: true
  PYTHON: "C:\\Python37-x64"
  CMAKE_GMP_FLAGS: -DGMP_INCLUDE_DIR="c:/Tools/vcpkg/installed/x64-windows/include" -DGMP_LIBRARIES="c:/Tools/vcpkg/installed/x64-windows/lib/mpir.lib"
  CMAKE_MPFR_FLAGS: -DMPFR_INCLUDE_DIR="c:/Tools/vcpkg/installed/x64-windows/include" -DMPFR_LIBRARIES="c:/Tools/vcpkg/installed/x64-windows/lib/mpfr.lib"
  CMAKE_VCPKG_FLAGS: -DCMAKE_TOOLCHAIN_FILE=c:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake

  matrix:
      - target: Examples
        CMAKE_FLAGS: -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF

      - target: UnitaryTests
        CMAKE_FLAGS: -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF

      - target: Utilities
        CMAKE_FLAGS: -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=OFF

      - target: Python
        CMAKE_FLAGS: -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON


cache:
  - c:\Tools\vcpkg\installed
  - '%LOCALAPPDATA%\pip\Cache'

init:
  - echo %target%

# tbb:x64-windows 
install:
  - git submodule update --init
  - vcpkg install boost-disjoint-sets:x64-windows boost-serialization:x64-windows boost-date-time:x64-windows boost-system:x64-windows boost-filesystem:x64-windows boost-units:x64-windows boost-thread:x64-windows boost-program-options:x64-windows eigen3:x64-windows mpfr:x64-windows mpir:x64-windows cgal:x64-windows
  - SET PATH=c:\Tools\vcpkg\installed\x64-windows\bin;%PATH%
  - SET PATH=%PYTHON%;%PYTHON%\Scripts;%PYTHON%\Library\bin;%PATH%
  - SET PYTHONPATH=%PYTHON%\\Lib\\site-packages;%PYTHONPATH%
  - CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
  - python --version
  - pip --version
  - python -m pip install --user --upgrade pip
  - python -m pip install --user -r .github/build-requirements.txt
  # No PyKeOps on windows, let's workaround this one.
  - for /F "tokens=*" %%A in (.github/test-requirements.txt) do python -m pip install --user  %%A

build_script:
  - mkdir build
  - cd build
  - cmake -G "Visual Studio 15 2017 Win64" %CMAKE_FLAGS% %CMAKE_GMP_FLAGS% %CMAKE_MPFR_FLAGS% %CMAKE_VCPKG_FLAGS% ..
  - if [%target%]==[Python] (
      cd src/python &
      type setup.py &
      MSBuild Cython.sln /m /p:Configuration=Release /p:Platform=x64 &
      ctest -j 1 --output-on-failure -C Release -E sphinx
    ) else (
      MSBuild GUDHIdev.sln /m /p:Configuration=Release /p:Platform=x64 &
      ctest -j 1 --output-on-failure -C Release -E diff_files
    )