diff options
author | Kirk Shoop <kirk.shoop@microsoft.com> | 2015-06-04 09:17:08 -0700 |
---|---|---|
committer | Kirk Shoop <kirk.shoop@microsoft.com> | 2015-06-04 09:17:08 -0700 |
commit | b50f346d83ee368337b7f9f4f1dc663cbf573df4 (patch) | |
tree | 4500b72e2e15a8f2253ee72f3487530c2c276296 /.travis.yml | |
parent | 9c21b7c3b1250ccab0dc543e1eb6de5c9cfd4ced (diff) | |
parent | 001ac1e827530a3b0e7411b77c37be89c95251c0 (diff) | |
download | RxCpp-b50f346d83ee368337b7f9f4f1dc663cbf573df4.tar.gz |
Merge pull request #139 from kirkshoop/fixdoxygen
refactor CMake
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 163 |
1 files changed, 140 insertions, 23 deletions
diff --git a/.travis.yml b/.travis.yml index 5b86c92..8e4b442 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,35 +1,152 @@ +sudo: true language: cpp -os: -- linux -- osx -compiler: -- clang -- gcc env: - matrix: - - CMAKE_BUILD_TYPE=RelWithDebInfo global: secure: FNZOWYO89qsT9kQKngrYbpnqCTMCSCSQ2rnZ3l17KHctOfS554TTDS+dfxPYz2XHm6azYDVcyBSs2gWJ6TmXZZZqEfr3X4VV4ooAa9PoeIkvVlT654zjZwxeXPYXrHFXZh/ImLUGWjsxRaUHYOv5SzyNGcZv07dtLKVd0ykhbH4= +# Test matrix: +# - Build matrix per compiler: C++11/C++14 + Debug/Release +# - Optionally: AddressSanitizer (ASAN) +# - Valgrind: all release builds are also tested with valgrind +# - clang 3.4, 3.5, 3.6, trunk +# - Note: 3.4 and trunk are tested with/without ASAN, +# the rest is only tested with ASAN=On. +# - gcc 4.9, 5.0 +# matrix: - allow_failures: - - compiler: clang - os: linux - exclude: - - compiler: gcc - os: osx + include: + # Test clang-3.4: C++11, Buidd=Debug/Release, ASAN=On/Off + # - env: CLANG_VERSION=3.4 BUILD_TYPE=Debug CPP=11 ASAN=On LIBCXX=On + # os: linux + # compiler: clang34 + # addons: &clang34 + # apt: + # packages: + # - valgrind + # sources: + # - ubuntu-toolchain-r-test + + # - env: CLANG_VERSION=3.4 BUILD_TYPE=Release CPP=11 ASAN=On LIBCXX=On + # os: linux + # compiler: clang + # addons: *clang34 + + # Test clang-3.7: C++11/C++14, Buidd=Debug/Release, ASAN=On/Off + # - env: CLANG_VERSION=3.7 BUILD_TYPE=Debug CPP=11 ASAN=On LIBCXX=On + # os: linux + # addons: &clang37 + # apt: + # packages: + # - clang-3.7 + # - valgrind + # sources: + # - ubuntu-toolchain-r-test + # - llvm-toolchain-precise + + - env: BUILD_TYPE=Release CPP=11 ASAN=On LIBCXX=On + os: osx + compiler: clang + + - env: CLANG_VERSION=3.7 BUILD_TYPE=Release CPP=11 ASAN=On LIBCXX=On + os: linux + compiler: clang + addons: &clang37 + apt: + packages: + - clang-3.7 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise + + # - env: CLANG_VERSION=3.7 BUILD_TYPE=Debug CPP=14 ASAN=On LIBCXX=On + # os: linux + # addons: *clang37 + + # - env: CLANG_VERSION=3.7 BUILD_TYPE=Release CPP=14 ASAN=On LIBCXX=On + # os: linux + # addons: *clang37 + + # - env: CLANG_VERSION=3.7 BUILD_TYPE=Debug CPP=11 ASAN=Off LIBCXX=On + # os: linux + # addons: *clang37 + + # - env: CLANG_VERSION=3.7 BUILD_TYPE=Release CPP=11 ASAN=Off LIBCXX=On + # os: linux + # addons: *clang37 + + # - env: CLANG_VERSION=3.7 BUILD_TYPE=Debug CPP=14 ASAN=Off LIBCXX=On + # os: linux + # addons: *clang37 + + # - env: CLANG_VERSION=3.7 BUILD_TYPE=Release CPP=14 ASAN=Off LIBCXX=On + # os: linux + # addons: *clang37 + + # Test gcc-4.9: C++11, Build=Debug/Release, ASAN=Off + # - env: GCC_VERSION=4.9 BUILD_TYPE=Debug CPP=11 ASAN=Off LIBCXX=Off + # os: linux + # addons: &gcc49 + # apt: + # packages: + # - g++-4.9 + # - valgrind + # sources: + # - ubuntu-toolchain-r-test + + - env: GCC_VERSION=4.9 BUILD_TYPE=Release CPP=11 ASAN=Off LIBCXX=Off + os: linux + compiler: gcc + addons: &gcc49 + apt: + packages: + - g++-4.9 + - cmake + - doxygen + - graphviz + sources: + - ubuntu-toolchain-r-test + - kubuntu-backports + + # Test gcc-5.0: C++11/14, Build=Debug/Release, ASAN=Off + # - env: GCC_VERSION=5 BUILD_TYPE=Debug CPP=11 ASAN=Off LIBCXX=Off + # os: linux + # addons: &gcc5 + # apt: + # packages: + # - gcc-5 + # - valgrind + # sources: + # - ubuntu-toolchain-r-test + + # - env: GCC_VERSION=5 BUILD_TYPE=Release CPP=11 ASAN=Off LIBCXX=Off + # os: linux + # addons: *gcc5 + + # - env: GCC_VERSION=5 BUILD_TYPE=Debug CPP=14 ASAN=Off LIBCXX=Off + # os: linux + # addons: *gcc5 + + # - env: GCC_VERSION=5 BUILD_TYPE=Release CPP=14 ASAN=Off LIBCXX=Off + # os: linux + # addons: *gcc5 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 - sh projects/scripts/travis-install.sh +- if [ -n "$CLANG_VERSION" ]; then sh projects/scripts/install_libcxx.sh; fi install: -- "$CXX --version" -- "/usr/local/bin/cmake --version" -- cd projects -- "/usr/local/bin/cmake -GUnix\\ Makefiles -HCMake -Bbuild -DCMAKE_C_COMPILER=$CC - -DCMAKE_CXX_COMPILER=$CXX" -- cd .. +- 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: -- cd projects/build -- make -j1 -- cd ../.. +- make VERBOSE=1 +- if [ -n "$GCC_VERSION" ]; then build/test/rxcppv2_test; fi after_success: - sh projects/scripts/travis-doxygen.sh branches: |