summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 4586845c674c05a6fd842b9ac3128a5149effe58 (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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
sudo: true
language: cpp
env:
  global:
    secure: FNZOWYO89qsT9kQKngrYbpnqCTMCSCSQ2rnZ3l17KHctOfS554TTDS+dfxPYz2XHm6azYDVcyBSs2gWJ6TmXZZZqEfr3X4VV4ooAa9PoeIkvVlT654zjZwxeXPYXrHFXZh/ImLUGWjsxRaUHYOv5SzyNGcZv07dtLKVd0ykhbH4=
matrix:
  include:
  - env: BUILD_TYPE=Release CPP=11 ASAN=On LIBCXX=On RUN_TEST=On
    os: osx
    compiler: clang
  - env: CLANG_VERSION=3.7 BUILD_TYPE=Release CPP=11 ASAN=On LIBCXX=On
    os: linux
    compiler: clang
    addons:
      apt:
        packages:
        - clang-3.7
        sources:
        - ubuntu-toolchain-r-test
        - llvm-toolchain-precise
  - env: GCC_VERSION=4.9 BUILD_TYPE=Release CPP=11 ASAN=Off LIBCXX=Off RUN_TEST=On
    os: linux
    compiler: gcc
    addons:
      apt:
        packages:
        - g++-4.9
        sources:
        - ubuntu-toolchain-r-test
  - env: GCC_VERSION=4.9 BUILD_TYPE=Release CPP=11 ASAN=Off LIBCXX=Off PROJECT=doc
      PUBLISH_DOCS=On
    os: linux
    compiler: gcc
    addons:
      apt:
        packages:
        - g++-4.9
        - graphviz
        sources:
        - ubuntu-toolchain-r-test
before_install:
  - if [ -n "$GCC_VERSION" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}";
    fi
  - if [ -n "$CLANG_VERSION" ]; then export CXX="clang++-${CLANG_VERSION}" CC="clang-${CLANG_VERSION}";
    fi
  - which $CXX
  - which $CC
  - if [ "$PUBLISH_DOCS" == "On" ]; then sudo apt-add-repository -y ppa:libreoffice/libreoffice-4-2; fi
  - if [ "$PUBLISH_DOCS" == "On" ]; then sudo apt-get update || echo "ignore update failure"; fi
  - if [ "$PUBLISH_DOCS" == "On" ]; then sudo apt-get install doxygen; fi
  - sh projects/scripts/travis-install.sh
  - if [ -n "$CLANG_VERSION" ]; then sh projects/scripts/install_libcxx.sh; fi
  - if [ "$PUBLISH_DOCS" == "On" ]; then wget http://apt.biicode.com/install.sh && chmod +x install.sh && ./install.sh; fi
install:
  - export CXX_FLAGS=""
  - export CXX_LINKER_FLAGS=""
  - if [ -z "$BUILD_TYPE" ]; then export BUILD_TYPE=Release; fi
  - if [ "$ASAN" == "On"]; then export CXX_FLAGS="${CXX_FLAGS} -fsanitize=address,undefined,integer
    -fno-omit-frame-pointer -fno-sanitize=unsigned-integer-overflow"; fi
  - if [ -n "$CLANG_VERSION" ]; then CXX_FLAGS="${CXX_FLAGS} -D__extern_always_inline=inline";
    fi
  - if [ "$LIBCXX" == "On" ]; then CXX_FLAGS="${CXX_FLAGS} -stdlib=libc++ -I/usr/include/c++/v1/";
    fi
  - if [ "$LIBCXX" == "On" ]; then CXX_LINKER_FLAGS="${CXX_FLAGS} -L/usr/lib/ -lc++";
    fi
  - cmake . -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_FLAGS="${CXX_FLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${CXX_LINKER_FLAGS}"
script:
  - make VERBOSE=1 $PROJECT
  - if [ "$RUN_TEST" == "On" ]; then cd build/test/; fi
  - if [ "$RUN_TEST" == "On" ]; then ctest -V; fi
  - if [ "$RUN_TEST" == "On" ]; then cd ../../; fi
after_success:
  - if [ "$PUBLISH_DOCS" == "On" ]; then sh projects/scripts/travis-doxygen.sh; fi
  - if [ "$PUBLISH_DOCS" == "On" ]; then cd projects/biicode; fi
  - if [ "$PUBLISH_DOCS" == "On" ]; then cp ../../AUTHORS.txt ./blocks/kirkshoop/rxcpp/AUTHORS.txt; fi
  - if [ "$PUBLISH_DOCS" == "On" ]; then cp ../../Rx/v2/src/license.txt ./blocks/kirkshoop/rxcpp/license.txt; fi
  - if [ "$PUBLISH_DOCS" == "On" ]; then cp -r ../../Rx/v2/src/rxcpp/* ./blocks/kirkshoop/rxcpp/*; fi
  - if [ "$PUBLISH_DOCS" == "On" ]; then bii setup:cpp; fi
  - if [ "$PUBLISH_DOCS" == "On" ]; then bii init; fi
branches:
  only:
  - master
notifications:
  email:
    recipients:
    - kirk.shoop@microsoft.com
    on_success: always
    on_failure: always
  slack: reactivex:eq4FFCchRIzufO2ZmpuuiJ9E
deploy:
  - provider: releases
    api_key:
      secure: sMyo0U4WxZ0kOlQ9SzKfeuU2/5y0Ngt8A0B0N6bb0TcGIyLhQv2q216Q+T0rkQKc04WnLY0Vr1/q9LonAA46nGq7zAiWcC3TY0zVUKRmKWrotQb/QqW1tvVEARKwG7CO+HCcGT3XCeM69XA/L7WiXRskTxS1+5Vy46/tVZBKofg=
    file: ''
    on:
      tags: true
      repo: Reactive-Extensions/RxCpp
  - provider: biicode
    user: kirkshoop
    password:
      secure: OdyvgvS+3tKWHXo9sq/ZRkG2RqoEui+jBJORKyffm9sCGlj3VbeQ8r+b1I6y2H2Wbg4E6+hVHgYtLVrsUfGP81a+WQYecHWnn4R5B12FWhiRUk16zwK//qlXt3adwWkVX+L0I8InpCmRd44MJbfCmGUZ9zI9rtkQs0ljfTqwJcI=
    skip_cleanup: true
    on:
      repo: Reactive-Extensions/RxCpp