summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 66e79a9ba091069655b50a7186dc997fd19b1cb5 (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
language: cpp
os: linux
dist: xenial
compiler:
  - gcc
  - clang

addons:
    apt:
        update: true
        packages:
            - texlive
            - texlive-generic-recommended
            - texlive-extra-utils
            - texlive-latex-extra
            - texlive-font-utils
            - ghostscript

linux-ppc64le: &linux-ppc64le
  os: linux-ppc64le
  env:
      - OS_NAME="linux-ppc64le"
  addons:
      apt:
          update: true
          packages:
              - texlive
              - texlive-generic-recommended
              - texlive-extra-utils
              - texlive-latex-extra
              - texlive-font-utils
              - ghostscript
              - libxml2-utils
              - cmake
              - cmake-data

jobs:
    include:
        - <<: *linux-ppc64le
          compiler: gcc
        - <<: *linux-ppc64le
          compiler: clang
        - os: osx
          compiler: clang
          addons:
              homebrew:
                  packages:
                      - ghostscript
                      - bison
                      - flex
                  casks:
                      - mactex-no-gui

before_script:
    - |
      if [ "${TRAVIS_OS_NAME}" == "linux" ] && [ ! "${OS_NAME}" == "linux-ppc64le" ]; then
        printf "[requires]
        libxml2/2.9.8@bincrafters/stable
        libiconv/1.15@bincrafters/stable >> conanfile.txt;
      fi;
      if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
        printf "[requires]
        libxml2/2.9.8@bincrafters/stable
        libiconv/1.15@bincrafters/stable
        qt/5.12.0@bincrafters/stable
        [options]
        qt:shared=True" >> conanfile.txt;
      fi;
    - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
        pip install --quiet --user conan;
      fi;
    - if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
        pip install --upgrade pip;
        pip install --quiet conan;

        curl -O -L http://mirrors.ctan.org/support/epstopdf.zip;
        unzip epstopdf.zip;
        mkdir -p /Users/travis/Library/TeX/texbin/;
        mv epstopdf/epstopdf.pl /Users/travis/Library/TeX/texbin/epstopdf;
        chmod a+x /Users/travis/Library/TeX/texbin/epstopdf;
        rm -rf epstopdf*;
        export CMAKE_INCLUDE_PATH="/usr/local/opt/flex/include;$CMAKE_INCLUDE_PATH";
        export CMAKE_LIBRARY_PATH="/usr/local/opt/flex/lib;/usr/local/opt/bison/lib;$CMAKE_LIBRARY_PATH";
        export PATH="/usr/local/opt/flex/bin:/usr/local/opt/bison/bin:/Users/travis/Library/TeX/texbin:/Library/TeX/texbin:$PATH";
      fi;
    - if [ ! "${OS_NAME}" == "linux-ppc64le" ]; then
        conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan;
        conan install . -g virtualrunenv --build missing --update;
        source activate_run.sh;
      fi;

script:
    - mkdir build
    - cd build
    - cmake --version;
    - cmake -G "Unix Makefiles" -Dbuild_doc=ON -Dbuild_wizard=ON ..
    - make
    - if [ ! "${TRAVIS_OS_NAME}" == "osx" ]; then
        make tests;
        make docs;
      fi;