1os:
2  - linux
3  - osx
4sudo: false
5dist: trusty
6
7env:
8  matrix:
9    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__COVERAGE=ON -DCMAKE_BUILD_TYPE=debug" COVERALLS=yes
10    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS=""
11    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON"
12    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_THREAD_SUPPORT=ON"
13    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_DEBUG_MODE=ON"
14    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_MM_REPLACEMENT=ON"
15    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__ENABLE_VERBOSE_DEBUG=ON"
16    - EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS=""
17    - EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-openssl"
18    - EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-thread-support"
19    - EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-debug-mode"
20    - EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-malloc-replacement"
21
22language: c
23compiler:
24  - gcc
25  - clang
26
27before_install:
28  - if [ -n "$COVERALLS" ]; then
29      pip install --user cpp-coveralls;
30    fi
31  - export JOBS=20
32  - export TIMEOUT=50
33  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then
34      brew update;
35      brew uninstall libtool && brew install libtool;
36      brew install openssl;
37      brew install lcov;
38      if [ "$CC" == "gcc" ]; then
39        export CC=$(ls -t /usr/local/bin/gcc-?.?);
40      fi
41
42      export OPENSSL_ROOT=$(echo /usr/local/Cellar/openssl/*);
43      export
44        CMAKE_INCLUDE_PATH=$OPENSSL_ROOT/include
45        CMAKE_LIBRARY_PATH=$OPENSSL_ROOT/lib;
46      export
47        CFLAGS=-I$CMAKE_INCLUDE_PATH
48        LDFLAGS=-L$CMAKE_LIBRARY_PATH;
49
50      export JOBS=4;
51    fi
52
53addons:
54  apt:
55    sources:
56    - xenial
57    - sourceline: 'deb http://archive.ubuntu.com/ubuntu xenial main'
58    packages:
59    - zlib1g-dev
60    - libssl-dev
61    - build-essential
62    - automake
63    - autoconf
64    - cmake
65    - lcov
66
67script:
68  - if [ "$EVENT_BUILD_METHOD" = "autotools" ]; then
69      ./autogen.sh &&
70      ./configure $EVENT_CONFIGURE_OPTIONS &&
71      make &&
72      travis_wait $TIMEOUT make -j $JOBS verify;
73    fi
74  - if [ "$EVENT_BUILD_METHOD" = "cmake" ]; then
75      export
76        CTEST_PARALLEL_LEVEL=$JOBS
77        CTEST_OUTPUT_ON_FAILURE=1;
78
79      mkdir build &&
80      cd build &&
81      cmake .. $EVENT_CMAKE_OPTIONS &&
82      travis_wait $TIMEOUT
83      cmake --build . --target verify;
84    fi
85
86after_script:
87  - if [ -n "$COVERALLS" ]; then
88      coveralls
89        --build-root .
90        --root ..
91        --exclude test
92        --exclude sample
93        --exclude cmake
94        --exclude build/CMakeFiles/CheckTypeSize
95        --exclude build/CMakeFiles/CompilerIdC
96        --gcov-options '\-lp';
97    fi
98
99notifications:
100  irc: "irc.oftc.net#libevent"
101