os:
  - linux
  - osx
env:
  matrix:
    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS=""
    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON"
    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_THREAD_SUPPORT=ON"
    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_DEBUG_MODE=ON"
    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_MM_REPLACEMENT=ON"
    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__ENABLE_VERBOSE_DEBUG=ON"
    - EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS=""
    - EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-openssl"
    - EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-thread-support"
    - EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-debug-mode"
    - EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-malloc-replacement"
language: c
compiler:
  - gcc
  - clang
before_install:
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update -qq; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew uninstall libtool && brew install libtool; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install openssl; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then sudo ln -sf $(ls -t /usr/local/bin/gcc-* | head -1) /usr/bin/gcc; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then sudo ln -sf $(ls -t /usr/local/bin/g++-* | head -1) /usr/bin/g++; fi
addons:
  apt:
    packages:
      - zlib1g-dev
      - libssl-dev
      - build-essential
      - automake
      - autoconf
      - cmake
script:
  - if [ "$EVENT_BUILD_METHOD" = "autotools" ]; then ./autogen.sh && ./configure $EVENT_CONFIGURE_OPTIONS && make && make verify; fi
  - if [ "$EVENT_BUILD_METHOD" = "cmake" ]; then mkdir build && cd build && cmake .. $EVENT_CMAKE_OPTIONS && cmake --build . && CTEST_OUTPUT_ON_FAILURE=1 cmake --build . --target verify; fi
notifications:
  irc: "irc.oftc.net#libevent"
