language: cpp cache: apt: true os: - linux #- osx dist: xenial sudo: required compiler: - g++ - clang++ env: global: - MAKEFLAGS="-j 2" matrix: - BUILD_TYPE=make UPNP=ON MAKE_UPNP=yes - BUILD_TYPE=make UPNP=OFF MAKE_UPNP=no - BUILD_TYPE=cmake UPNP=ON MAKE_UPNP=yes - BUILD_TYPE=cmake UPNP=OFF MAKE_UPNP=no matrix: exclude: - os: osx env: BUILD_TYPE=cmake UPNP=ON MAKE_UPNP=yes - os: osx env: BUILD_TYPE=cmake UPNP=OFF MAKE_UPNP=no - os: linux compiler: clang++ env: BUILD_TYPE=make UPNP=ON MAKE_UPNP=yes - os: linux compiler: clang++ env: BUILD_TYPE=make UPNP=OFF MAKE_UPNP=no addons: apt: packages: - build-essential - cmake - g++ - clang - libboost-chrono-dev - libboost-date-time-dev - libboost-filesystem-dev - libboost-program-options-dev - libboost-system-dev - libboost-thread-dev - libminiupnpc-dev - libssl-dev before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install libressl miniupnpc ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew outdated boost || brew upgrade boost ; fi script: - if [[ "$TRAVIS_OS_NAME" == "linux" && "$BUILD_TYPE" == "cmake" ]]; then cd build && cmake -DCMAKE_BUILD_TYPE=Release -DWITH_UPNP=${UPNP} && make ; fi - if [[ "$TRAVIS_OS_NAME" == "linux" && "$BUILD_TYPE" == "make" ]]; then make USE_UPNP=${MAKE_UPNP} ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then make HOMEBREW=1 USE_UPNP=${MAKE_UPNP} ; fi