diff --git a/.travis.yml b/.travis.yml index 76fc9d3742..8bb6473275 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,15 +2,19 @@ language: cpp sudo: false # Build matrix: +os: +- linux +- osx compiler: -- gcc - clang env: -- BUILD_METALIBS=OFF COMPOSITE_SOURCE_LIMIT=0 -- BUILD_METALIBS=ON COMPOSITE_SOURCE_LIMIT=0 -- BUILD_METALIBS=OFF COMPOSITE_SOURCE_LIMIT=30 - BUILD_METALIBS=ON COMPOSITE_SOURCE_LIMIT=30 - BUILD_METALIBS=ON COMPOSITE_SOURCE_LIMIT=30 PYTHON_INTERP=python2.7 +- BUILD_METALIBS=OFF COMPOSITE_SOURCE_LIMIT=30 +- BUILD_METALIBS=ON COMPOSITE_SOURCE_LIMIT=0 +matrix: + include: + - compiler: gcc addons: apt: @@ -40,6 +44,7 @@ addons: - nvidia-cg-toolkit - python-dev - python3-dev + - python3-pip - python-virtualenv - zlib1g-dev - fakeroot @@ -50,7 +55,13 @@ before_install: - makepanda/selfdestruct.py --yes install: -- virtualenv --python=${PYTHON_INTERP:-python3.4} venv && source venv/bin/activate +- > + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + ./.travis/install_macos.sh; + else + virtualenv --python=${PYTHON_INTERP:-python3} venv; + fi +- source venv/bin/activate - pip install pytest before_script: @@ -58,7 +69,14 @@ before_script: - cd built script: -- cmake -DHAVE_GTK2=NO -DBUILD_METALIBS=$BUILD_METALIBS -DCOMPOSITE_SOURCE_LIMIT=$COMPOSITE_SOURCE_LIMIT .. +- > + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + cmake -DHAVE_CARBON=NO -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2o_1 \ + -DBUILD_METALIBS=$BUILD_METALIBS -DCOMPOSITE_SOURCE_LIMIT=$COMPOSITE_SOURCE_LIMIT ..; + else + cmake -DHAVE_GTK2=NO -DBUILD_METALIBS=$BUILD_METALIBS \ + -DCOMPOSITE_SOURCE_LIMIT=$COMPOSITE_SOURCE_LIMIT ..; + fi - make -j4 - export PYTHONPATH=$PWD diff --git a/.travis/install_macos.sh b/.travis/install_macos.sh new file mode 100755 index 0000000000..0d603fee9a --- /dev/null +++ b/.travis/install_macos.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +brew install python@3 eigen libtar fftw libsquish zlib ffmpeg freetype bullet \ +wxmac opencv assimp libvorbis openssl@1.0 || true +brew install ode --with-shared + +# We can't trust brew to make the right symlinks, so execute commands as modules +${PYTHON_INTERP:-python3} -m pip install virtualenv +${PYTHON_INTERP:-python3} -m virtualenv --python=${PYTHON_INTERP:-python3} venv