summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: a007ab86a032f140880fa5e611078fe6d02eebd4 (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
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
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 build/test/rxcppv2_test; fi
after_success:
- if [ "$PUBLISH_DOCS" == "On" ]; then sh projects/scripts/travis-doxygen.sh; 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:
    condition: $PUBLISH_DOCS = On
    tags: true
    repo: Reactive-Extensions/RxCpp