language: cpp
env:
  - CC=gcc CXX=gcc
  - CC=clang CXX=clang++
  - NODE4=true
  - NODE5=true
  - NODE012=true
install:
  - sudo add-apt-repository --yes ppa:fenics-packages/fenics-exp/swig
  - sudo apt-get update -qq
  - sudo apt-get install -y -qq swig3.0 git
  - sudo ln -s /usr/bin/swig3.0 /usr/bin/swig
  - sudo update-java-alternatives -s java-8-oracle
before_script:
  - export NODE_ROOT_DIR="/home/travis/.nvm/v0.10.36"
  - if [ "$CC" = "gcc" ]; then export BUILDJAVA=ON; else export BUILDJAVA=OFF; fi
  - export JAVA_HOME=/usr/lib/jvm/java-8-oracle
  - if [ "${NODE4}" ]; then nvm install 4.1; export CC=gcc-4.8; export CXX=g++-4.8; export NODE_ROOT_DIR="/home/travis/.nvm/versions/node/`nvm version`"; fi
  - if [ "${NODE5}" ]; then nvm install 5; export CC=gcc-4.8; export CXX=g++-4.8; export NODE_ROOT_DIR="/home/travis/.nvm/versions/node/`nvm version`"; fi
  - if [ "${NODE012}" ]; then nvm install 0.12; export NODE_ROOT_DIR="/home/travis/.nvm/versions/node/`nvm version`"; fi
script:
  - git clone https://github.com/intel-iot-devkit/mraa.git
  - cd mraa && mkdir build && cd build && cmake -DBUILDSWIGJAVA=$BUILDJAVA -DBUILDSWIGNODE=OFF -DBUILDSWIGPYTHON=OFF -DFIRMATA=ON -DENABLEEXAMPLES=OFF -DCMAKE_INSTALL_PREFIX:PATH=. .. && make && make install
  - export PKG_CONFIG_PATH=$PWD/lib/pkgconfig:$PWD/lib/x86_64-linux-gnu/pkgconfig
  - export CPLUS_INCLUDE_PATH=$PWD/include
  - export LIBRARY_PATH=$PWD/lib:$PWD/lib/x86_64-linux-gnu
  - cd ../.. && mkdir build && cd build && cmake -DNODE_ROOT_DIR:PATH="${NODE_ROOT_DIR}" -DBUILDSWIGJAVA=$BUILDJAVA -DBUILDEXAMPLES=ON -DBUILDJAVAEXAMPLES=$BUILDJAVA .. && make
addons:
  apt:
    sources:
      - llvm-toolchain-precise-3.6
      - ubuntu-toolchain-r-test
      - george-edison55-precise-backports
    packages:
      - clang-3.6
      - g++-4.8
      - cmake
      - cmake-data