summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 733e6687c8acea0c1ba7bc9441bbfa8f6ac1ec05 (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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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

linux-s390x: &linux-s390x
  os: linux
  arch: s390x
  dist: bionic
  env:
      - OS_NAME="linux-s390x"
  addons:
      apt:
          update: true
          packages:
              - texlive
              - texlive-generic-recommended
              - texlive-extra-utils
              - texlive-latex-extra
              - texlive-font-utils
              - ghostscript
              - libxml2-utils
              - cmake
              - cmake-data
              - qt5-default

jobs:
    include:
        - <<: *linux-ppc64le
          compiler: gcc
        - <<: *linux-ppc64le
          compiler: clang
        - <<: *linux-s390x
          compiler: gcc
        - <<: *linux-s390x
          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" ] && [ ! "${OS_NAME}" == "linux-s390x" ]; then
        printf "[requires]
        libxml2/2.9.9@bincrafters/stable
        libiconv/1.15@bincrafters/stable" >> conanfile.txt;
      fi;
      if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
        printf "[requires]
        bzip2/1.0.8@bincrafters/stable
        libxml2/2.9.9@bincrafters/stable
        libiconv/1.15@bincrafters/stable
        qt/5.12.0@bincrafters/stable
        bison/3.3.2@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" ] && [ ! "${OS_NAME}" == "linux-s390x" ]; 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" ] && [ ! "${TRAVIS_COMPILER}" == "clang" ]; then
        make tests docs;
      fi;
    - if [ ! "${TRAVIS_OS_NAME}" == "osx" ] && [ "${TRAVIS_COMPILER}" == "clang" ]; then
        make docs;
      fi;