language: cpp
cache:
  apt: true
os:
  - linux
  - osx
sudo: required
dist: trusty
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
compiler:
  - gcc
  - clang
before_install:
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install openssl miniupnpc ; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink boost openssl && brew link boost openssl -f ; fi
env:
  matrix:
    - BUILD_TYPE=Release UPNP=ON
    - BUILD_TYPE=Release UPNP=OFF
script:
  - cd build && cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DWITH_UPNP=${UPNP} && make