summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: acc85e6a78345c3080f3d2fd98c9151aa0148d62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
os:
  - linux
  - osx
sudo: false

env:
  matrix:
    - EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__COVERAGE=ON -DCMAKE_BUILD_TYPE=debug" COVERALLS=yes
    - 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 [ -n "$COVERALLS" ]; then
      pip install --user cpp-coveralls;
    fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then
      brew update;
      brew uninstall libtool && brew install libtool;
      brew install openssl;
      brew install lcov;
      if [ "$CC" == "gcc" ]; then
        export CC=$(ls -t /usr/local/bin/gcc-?.?);
      fi

      export OPENSSL_ROOT=$(echo /usr/local/Cellar/openssl/*);
      export
        CMAKE_INCLUDE_PATH=$OPENSSL_ROOT/include
        CMAKE_LIBRARY_PATH=$OPENSSL_ROOT/lib;
      export
        CFLAGS=-I$CMAKE_INCLUDE_PATH
        LDFLAGS=-L$CMAKE_LIBRARY_PATH;
    fi

addons:
  apt:
    packages:
      - zlib1g-dev
      - libssl-dev
      - build-essential
      - automake
      - autoconf
      - cmake
      - lcov

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

after_script:
  - if [ -n "$COVERALLS" ]; then
      coveralls
        --build-root .
        --root ..
        --exclude test
        --exclude sample
        --exclude cmake
        --exclude build/CMakeFiles/CheckTypeSize
        --exclude build/CMakeFiles/CompilerIdC
        --gcov-options '\-lp';
    fi

notifications:
  irc: "irc.oftc.net#libevent"