blob: 4193d87add9c4460d454cdec7516e44e7b5b9ced [file] [log] [blame]
Wenzel Jakob3b806d42015-10-11 16:29:35 +02001language: cpp
2sudo: false
Dean Moldovan3ac12752016-07-30 00:15:01 +02003matrix:
4 include:
5 - os: linux
6 compiler: gcc-4.8
Jason Rhinelander024ce442016-08-14 12:31:52 -04007 env: PYTHON=2.7 CPP=11 GCC=4.8
8 addons:
9 apt:
10 sources:
11 - ubuntu-toolchain-r-test
12 - kubuntu-backports # cmake 2.8.12
13 packages:
14 - g++-4.8
15 - cmake
Dean Moldovan3ac12752016-07-30 00:15:01 +020016 - os: linux
17 compiler: gcc-4.8
Jason Rhinelander024ce442016-08-14 12:31:52 -040018 env: PYTHON=3.5 CPP=11 GCC=4.8
19 addons:
20 apt:
21 sources:
22 - ubuntu-toolchain-r-test
23 - deadsnakes
24 - kubuntu-backports # cmake 2.8.12
25 packages:
26 - g++-4.8
27 - python3.5-dev
28 - cmake
Dean Moldovan3ac12752016-07-30 00:15:01 +020029 - os: osx
30 osx_image: xcode7.3
31 env: PYTHON=2.7 CPP=14
32 - os: osx
33 osx_image: xcode7.3
34 env: PYTHON=3.5 CPP=14
Jason Rhinelander024ce442016-08-14 12:31:52 -040035 - compiler: gcc-6
36 services: docker
37 sudo: true
38 env: PYTHON=2.7 CPP=14 DOCKER=debian:testing NATIVE_DEPS=1
39 install:
40 - docker exec --tty "$containerid" apt-get -y --no-install-recommends install python2.7-dev python-scipy libeigen3-dev cmake make g++
41 - compiler: gcc-6
42 services: docker
43 sudo: true
44 env: PYTHON=3.5 CPP=14 DOCKER=debian:testing NATIVE_DEPS=1
45 install:
46 - docker exec --tty "$containerid" apt-get -y --no-install-recommends install python3.5-dev python3-scipy libeigen3-dev cmake make g++
Wenzel Jakoba40c27e2016-01-21 19:21:59 +010047cache:
48 directories:
49 - $HOME/.cache/pip
Omer Katzf74c9232016-05-21 11:29:30 +030050 - ccache
Jason Rhinelander024ce442016-08-14 12:31:52 -040051before_install:
52- |
53 if [ -n "$DOCKER" ]; then
54 docker pull $DOCKER
55 export containerid=$(docker run --detach --tty \
56 --volume="$PWD":/pybind11 --workdir=/pybind11 \
57 --env="CC=$CC" --env="CXX=$CXX" --env="DEBIAN_FRONTEND=$DEBIAN_FRONTEND" \
58 --env=GCC_COLORS=\ \
59 $DOCKER)
60 docker exec --tty "$containerid" apt-get update
61 docker exec --tty "$containerid" apt-get -y upgrade
62 export SCRIPT_RUN_PREFIX="docker exec --tty $containerid"
63 fi
Dean Moldovan3ac12752016-07-30 00:15:01 +020064install:
65- |
Jason Rhinelander024ce442016-08-14 12:31:52 -040066 if [ -z "$NATIVE_DEPS" ]; then
67 if [ "$TRAVIS_OS_NAME" = "linux" ]; then
68 if [ -n "$GCC" ]; then export CXX=g++-$GCC CC=gcc-$GCC; fi
69 pip install --user --upgrade pip virtualenv
70 virtualenv -p python$PYTHON venv
71 elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
72 if [ "${PYTHON:0:1}" = "3" ]; then
73 PMAJOR=3; brew update; brew install python$PMAJOR;
74 else
75 curl -fsSL -O https://bootstrap.pypa.io/get-pip.py
76 sudo -H python get-pip.py
77 fi
78 pip$PMAJOR install --user --upgrade pip virtualenv
79 python$PMAJOR -m virtualenv venv
Dean Moldovan880a7e42016-08-02 00:42:07 +020080 fi
Jason Rhinelander024ce442016-08-14 12:31:52 -040081 source venv/bin/activate
82 pip install numpy scipy
83
84 wget -q -O eigen.tar.gz https://bitbucket.org/eigen/eigen/get/3.2.9.tar.gz
85 tar xzf eigen.tar.gz
86 export CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_INCLUDE_PATH=eigen-eigen-dc6cfdf9bcec"
Dean Moldovan3ac12752016-07-30 00:15:01 +020087 fi
Dean Moldovan3ac12752016-07-30 00:15:01 +020088script:
Dean Moldovan00a30092016-08-15 13:41:44 +020089- $SCRIPT_RUN_PREFIX cmake ${CMAKE_EXTRA_ARGS}
90 -DPYBIND11_PYTHON_VERSION=$PYTHON
91 -DPYBIND11_CPP_STANDARD=-std=c++$CPP
92 -DPYBIND11_WERROR=ON
Jason Rhinelander024ce442016-08-14 12:31:52 -040093- $SCRIPT_RUN_PREFIX make CTEST_OUTPUT_ON_FAILURE=TRUE check -j 2
94after_script:
95- if [ -n "$DOCKER" ]; then docker stop "$containerid"; docker rm "$containerid"; fi