1language: cpp
2
3sudo: false
4
5# Do not build branches of the form "pr/*". By prefixing pull requests coming
6# from branches inside the repository with pr/, this avoids building both the
7# branch push _and_ the pull request.
8branches:
9  except: /pr\/.*/
10
11addons:
12  apt:
13    sources:
14    - ubuntu-toolchain-r-test
15    - llvm-toolchain-precise-3.8
16    packages:
17    - g++-4.8
18    - clang-3.8
19    - graphviz
20    - graphviz-dev
21    - texlive
22    - gcc-5
23    - g++-5
24    - gcc-6
25    - g++-6
26    - curl
27
28env:
29  global:
30    - secure: "Wv5gHHcF9AKEboPhLPbXEjAJKe/YRT3bpQChPHBmlv4mylCJNAh/satTVmumZItVeNRV/V9mk3ckDGWt6g4X7o9Md/MB1+UmGUCb9AakI288llc90puYWDnSGjgSpTVhB8PfrJa45u9jBLqgPO/S6G5zhPUC4Cru40j7hvUpThaVIiRwj2KlzUwjz/m9YTcxTmBFD+wNr8b6ViNP7BiH6G+RP+fcmd9w9D2pLzCpuBtUpQfZhn+Ar07Nt36weDgpGSzPcpKAJC99Tfi+Bu/NauSYKKdDtbRpBC9z3QRZrNFn5nJ/VFJNWsqpAlCZhHHbO2Ph3YK5SKn/ya37KtrGNYaRIy1QTL6chXeMmluemalIRoF+pkjKv2sQ/Pj8mUx9pbpboHyJivqvM3HpnetJEI6rz+FX14GmpHJn1gNhaHEm0DyubafqE6tfUjo+5mDOK0hoP/dHAEoXkCysL+8tQUWMP0qztjFZrcLhTIoGDH2x04KeqOoZdkRnzIp9tSDIZNFgm0Q/B/4c2r7Wv/N7t6z+LQKFsz9YORMMnADTEI+DjgZIVtjOf0I39T7pjlTZIKDL98bmIs5CKVlj1bNdyMf/97tDi3Xqc9NKrdp404Os3tqBaqMSXAT9VmrTHXPqt809g14m1wlt7zf5BhTMm+WhYP68iqjVXV9hIGBxzj0="
31    - secure: "YAFDKbEchL+t/DUaahOX1vAa5ilzq08uln70a7/QHhHJqIazrXA5Pf+pSImydDJpt73Kbd5h1urZs6JXGMKVhPPnSo0aV5PuuiNbLw8sqHA5s3sm2vTgEsSCko2i2nI7SO92+lw7dRJHSO4Rz3QL8aGMS+pR8PMbGD+MuBz0ASCvc9GBMuIkyB0Sbm0v25cCWmi+M+FAj2Adg3IPlr/SgPDnSPxjXauTPrkcnSqoGH9c9A8Jxfk+7ER/Zbo3i1cW4oOb/L5diACjTsbV503onFlqvG3jOngEm4x8KfEwZZGiaOuCYP9n0/xOOVgjf+l+um0bzdt/wt/949f7lJFyVK5bxa4k6JJlIpKhP4bH2QASA2nip3HDbdi7bfMz79CAYyJ5I3F/PHWQ9kH5DK5PrZKdPGqyPDuBoq2W5ERy+3bJzkd1tYjhW/5vjvSiRiILxa6PF43jQ+73nx09td7CtCtd6aWsM1rOtyCfoZpzzCvKWqaVdw3au2fzKZBcuCK8CQT+xQTPNzqrH1/iA80K4M9r1Z9o0YRksYko9i7WlIi8nQc14g0g4namHSPrD/kPhj3/gYErXXNn/GmyqgBQrRfpi0PXl9M9Bcg3YMHT8sqbR3Y1GAxgCOh7+lAq7HwTsxESXQl0ywmmzHsGIvAingTFSauwzotWGYR82IxUDjk="
32
33matrix:
34  include:
35    - compiler: gcc
36      env: BUILD_TYPE="Release"
37    - compiler: clang
38      os: osx
39      osx_image: xcode6.4
40      env: BUILD_TYPE="Release"
41    - compiler: clang
42      os: osx
43      osx_image: xcode6.4
44      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="0" TEST_NSPLIT="4"
45    - compiler: clang
46      os: osx
47      osx_image: xcode6.4
48      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="1" TEST_NSPLIT="4"
49    - compiler: clang
50      os: osx
51      osx_image: xcode6.4
52      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="2" TEST_NSPLIT="4"
53    - compiler: clang
54      os: osx
55      osx_image: xcode6.4
56      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="3" TEST_NSPLIT="4"
57    - compiler: gcc
58      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="0" TEST_NSPLIT="4"
59    - compiler: gcc
60      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="1" TEST_NSPLIT="4"
61    - compiler: gcc
62      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="2" TEST_NSPLIT="4"
63    - compiler: gcc
64      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="3" TEST_NSPLIT="4"
65    - compiler: gcc
66      env: BUILD_TYPE="Coverage" SPLIT_TEST_NUM="0" TEST_NSPLIT="3"
67    - compiler: gcc
68      env: BUILD_TYPE="Coverage" SPLIT_TEST_NUM="1" TEST_NSPLIT="3"
69    - compiler: gcc
70      env: BUILD_TYPE="Coverage" SPLIT_TEST_NUM="2" TEST_NSPLIT="3"
71    - compiler: clang
72      env: BUILD_TYPE="Release"
73    - compiler: clang
74      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="0" TEST_NSPLIT="3"
75    - compiler: clang
76      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="1" TEST_NSPLIT="3"
77    - compiler: clang
78      env: BUILD_TYPE="Debug" SPLIT_TEST_NUM="2" TEST_NSPLIT="3"
79    - compiler: gcc
80      env: BUILD_TYPE="Python2"
81    - compiler: clang
82      env: BUILD_TYPE="Python3"
83    - compiler: clang
84      env: BUILD_TYPE="Tutorial"
85    - compiler: gcc
86      env: BUILD_TYPE="Doxygen"
87    - compiler: clang
88      os: osx
89      osx_image: xcode6.4
90      env: BUILD_TYPE="Python2"
91    - compiler: clang
92      os: osx
93      osx_image: xcode6.4
94      env: BUILD_TYPE="Python3"
95
96install:
97    - if [[ "${CC}" == "clang" && "${TRAVIS_OS_NAME}" == "linux" ]]; then
98          export PIRANHA_COMPILER=clang;
99          export CC=clang-3.8;
100          export CXX=clang++-3.8;
101      elif [[ "${CC}" == "clang" && "${TRAVIS_OS_NAME}" == "osx" ]]; then
102          export PIRANHA_COMPILER=clang;
103          export CC=clang;
104          export CXX=clang++;
105      elif [[ "${CC}" == "gcc" && "${BUILD_TYPE}" == "Coverage" ]]; then
106          export PIRANHA_COMPILER=gcc;
107          export CC=gcc-5;
108          export CXX=g++-5;
109          export GCOV_EXECUTABLE=gcov-5;
110      else
111          export PIRANHA_COMPILER=gcc;
112          if [[ "${BUILD_TYPE}" == "Python2" ]]; then
113            export CC=gcc-6;
114            export CXX=g++-6;
115          else
116            export CC=gcc-4.8;
117            export CXX=g++-4.8;
118          fi
119      fi
120script:
121    - mkdir build
122    - cd build
123    - source ../tools/install_deps.sh
124    - source ../tools/install_travis.sh
125notifications:
126  email: false
127