language: cpp

sudo: false

compiler:
  - gcc
  - clang

os:
  - linux
  - osx

env:
  - GODOT_TARGET=iphone
  - GODOT_TARGET=osx
  - GODOT_TARGET=x11
  - GODOT_TARGET=android
  - GODOT_TARGET=windows

matrix:
  exclude:
    - os: linux
      env: GODOT_TARGET=iphone
    - os: linux
      env: GODOT_TARGET=osx
    - os: linux
      env: GODOT_TARGET=android
    - os: osx
      env: GODOT_TARGET=x11
    - os: osx
      env: GODOT_TARGET=windows
    - compiler: gcc
      env: GODOT_TARGET=iphone
    - compiler: gcc
      env: GODOT_TARGET=osx
    - compiler: clang
      env: GODOT_TARGET=android
    - compiler: clang
      env: GODOT_TARGET=windows
    - compiler: clang
      env: GODOT_TARGET=x11

addons:
  apt:
    packages:
      - build-essential
      - scons
      - pkg-config
      - libx11-dev
      - libxcursor-dev
      - libasound2-dev
      - libfreetype6-dev
      - libgl1-mesa-dev
      - libglu1-mesa-dev
      - libssl-dev
      - libxinerama-dev
      - libxrandr-dev

      # For cross-compiling to Windows.
      - binutils-mingw-w64-i686
      - binutils-mingw-w64-x86-64
      - gcc-mingw-w64-i686
      - gcc-mingw-w64-x86-64
      - g++-mingw-w64-i686
      - g++-mingw-w64-x86-64
      - mingw-w64


before_script:
  - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; brew install scons; fi
  - if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$GODOT_TARGET" = "android" ]; then
      brew update; brew install -v android-sdk;
      brew install -v android-ndk | grep -v "inflating:" | grep -v "creating:";
      export ANDROID_HOME=/usr/local/opt/android-sdk; export ANDROID_NDK_ROOT=/usr/local/opt/android-ndk;
    fi

script:
  - scons platform=$GODOT_TARGET CXX=$CXX openssl=builtin
