language: cpp sudo: false matrix: include: - os: linux compiler: gcc-4.8 env: PYTHON=2.7 CPP=11 GCC=4.8 addons: apt: sources: - ubuntu-toolchain-r-test - kubuntu-backports # cmake 2.8.12 packages: - g++-4.8 - cmake - os: linux compiler: gcc-4.8 env: PYTHON=3.5 CPP=11 GCC=4.8 addons: apt: sources: - ubuntu-toolchain-r-test - deadsnakes - kubuntu-backports # cmake 2.8.12 packages: - g++-4.8 - python3.5-dev - cmake - os: osx osx_image: xcode7.3 env: PYTHON=2.7 CPP=14 - os: osx osx_image: xcode7.3 env: PYTHON=3.5 CPP=14 - compiler: gcc-6 services: docker sudo: true env: PYTHON=2.7 CPP=14 DOCKER=debian:testing NATIVE_DEPS=1 install: - docker exec --tty "$containerid" apt-get -y --no-install-recommends install python2.7-dev python-scipy libeigen3-dev cmake make g++ - compiler: gcc-6 services: docker sudo: true env: PYTHON=3.5 CPP=14 DOCKER=debian:testing NATIVE_DEPS=1 install: - docker exec --tty "$containerid" apt-get -y --no-install-recommends install python3.5-dev python3-scipy libeigen3-dev cmake make g++ cache: directories: - $HOME/.cache/pip - ccache before_install: - | if [ -n "$DOCKER" ]; then docker pull $DOCKER export containerid=$(docker run --detach --tty \ --volume="$PWD":/pybind11 --workdir=/pybind11 \ --env="CC=$CC" --env="CXX=$CXX" --env="DEBIAN_FRONTEND=$DEBIAN_FRONTEND" \ --env=GCC_COLORS=\ \ $DOCKER) docker exec --tty "$containerid" apt-get update docker exec --tty "$containerid" apt-get -y upgrade export SCRIPT_RUN_PREFIX="docker exec --tty $containerid" fi install: - | if [ -z "$NATIVE_DEPS" ]; then if [ "$TRAVIS_OS_NAME" = "linux" ]; then if [ -n "$GCC" ]; then export CXX=g++-$GCC CC=gcc-$GCC; fi pip install --user --upgrade pip virtualenv virtualenv -p python$PYTHON venv elif [ "$TRAVIS_OS_NAME" = "osx" ]; then if [ "${PYTHON:0:1}" = "3" ]; then PMAJOR=3; brew update; brew install python$PMAJOR; else curl -fsSL -O https://bootstrap.pypa.io/get-pip.py sudo -H python get-pip.py fi pip$PMAJOR install --user --upgrade pip virtualenv python$PMAJOR -m virtualenv venv fi source venv/bin/activate pip install numpy scipy wget -q -O eigen.tar.gz https://bitbucket.org/eigen/eigen/get/3.2.9.tar.gz tar xzf eigen.tar.gz export CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_INCLUDE_PATH=eigen-eigen-dc6cfdf9bcec" fi script: - $SCRIPT_RUN_PREFIX cmake ${CMAKE_EXTRA_ARGS} -DPYBIND11_PYTHON_VERSION=$PYTHON -DPYBIND11_CPP_STANDARD=-std=c++$CPP -DPYBIND11_WERROR=ON - $SCRIPT_RUN_PREFIX make CTEST_OUTPUT_ON_FAILURE=TRUE check -j 2 after_script: - if [ -n "$DOCKER" ]; then docker stop "$containerid"; docker rm "$containerid"; fi