language: cpp
os:
  - linux
  - osx
compiler:
  - clang
  - gcc

matrix:
  exclude:
    - os: osx
      compiler: gcc

env:
  - DEFINES=standard
  - DEFINES=PUGIXML_WCHAR_MODE
  - DEFINES=PUGIXML_COMPACT
  - DEFINES=PUGIXML_NO_EXCEPTIONS

script:
  - if [[ ! ( "$CXX" == "clang++" && "$TRAVIS_OS_NAME" == "linux" ) ]]; then make test cxxstd=c++11 defines=$DEFINES config=coverage -j2; fi
  - if [[ "$CXX" == "clang++" ]]; then make test cxxstd=c++11 defines=$DEFINES config=sanitize -j2; fi
  - make test cxxstd=c++11 defines=$DEFINES config=release -j2
  - make test cxxstd=c++98 defines=$DEFINES config=debug -j2

after_success:
  - bash <(curl -s https://codecov.io/bash) -f pugixml.cpp.gcov
