language: cpp
sudo: required
dist: trusty

os:
 - linux
 - osx

osx_image: xcode6.4

compiler:
 - clang
 - gcc

env:
  global:
   - secure: "Vf+FY48nip9JppMnq11105NealdErSWsoUhHo63/V3V+LKfA9guenxCp93/qoSIdSGC/sJwb0yIIMGvkTT/rxDJNh6Z+BWUTb2E0WEIIQbvTJNOSUzoq7dfF1LT61XjVjByFzcbC2xjtaBowmcAYEs1jGUUuEjYVCMmD5lY8hUg="
   # Which Travis environment to run Coverity on
   - coverity_scan_run_condition='"$TRAVIS_OS_NAME" = linux -a "$CC" = gcc'
   # Test mode is for testing if it's working with Coverity. Change to true if testing, to avoid reaching the quota.
   - coverity_scan_script_test_mode=false

branches:
  except:
    - ppu_recompiler

matrix:
 exclude:
  - os: osx
    compiler: gcc

git:
  submodules: false

before_install:
# shutdown services on Travis, which may have a memory impact
  - if [ "$TRAVIS_OS_NAME" = "linux" ]; then
      sudo apt-get install -y libwxgtk3.0-dev;
    fi;
  - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CXX" = "g++" ]; then
      export CXX="g++-5" CC="gcc-5" CXXFLAGS="-Wno-format-security";
      export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01';
    fi;
# Add coverall for C++ so coverall.io could be triggered. Even it should be --coverage and gcov.
  - if [ "$TRAVIS_OS_NAME" = "linux" ]; then
      sudo pip install cpp-coveralls requests[security];
    else
      brew update; brew update;
      brew install glew wxwidgets llvm36;
    fi;

before_script:
 - git submodule update --init asmjit 3rdparty/ffmpeg 3rdparty/pugixml 3rdparty/GSL 3rdparty/libpng Vulkan/glslang Vulkan/Vulkan-LoaderAndValidationLayers Utilities/yaml-cpp
 - mkdir build
 - cd build
 - if [ "$TRAVIS_OS_NAME" = "linux" ]; then cmake ..; else cmake .. -DLLVM_DIR=/usr/local/opt/llvm36/lib/llvm-3.6/share/llvm/cmake; fi

script:
# Add a command to show all the variables. May be useful for debugging Travis.
# - echo "--Shell Export Lists START--" ; export -p; echo "--Shell Export Lists STOP--";
# And to ensure the versions of toolchain
- echo "--CXX version?"; "$CXX" --version; echo "--CXX version confirmed";
- if [ "$COVERITY_SCAN_BRANCH" != 1 ]; then make -j 4; fi

addons:
  apt:
    sources:
    - ubuntu-toolchain-r-test
#    - llvm-toolchain-trusty-3.6 temporarily disabled
    packages:
    - cmake
    - libopenal-dev
    - freeglut3-dev
    - libglew-dev
    - libc6-dev
#    - llvm-3.6
#    - llvm-3.6-dev
    - libedit-dev
    - g++-5
    - gcc-5
#    - clang-3.6
    - libstdc++-5-dev
    - lib32stdc++6
    - zlib1g-dev
  coverity_scan:
    project:
      name: $TRAVIS_REPO_SLUG
      description: "PS3 emulator/debugger"
    notification_email: raul.tambre@gmail.com
    build_command: "make -j 4"
    branch_pattern: coverity_scan

after_success:
- if [ "$COVERITY_SCAN_BRANCH" != 1 ] && [ "$TRAVIS_OS_NAME" = linux ]; then coveralls --extension .c --extension .cpp --extension .h; fi
