diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..ccd623b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,41 @@ +language: cpp +compiler: + - clang + - gcc +sudo: false +addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + - george-edison55-precise-backports + packages: + - g++-5 + - clang-3.8 + - libevent-dev + - libssl-dev + - cmake + - cmake-data +before_install: + - $CC --version + - if [ "$CXX" = "g++" ]; then export CXX="g++-5" CC="gcc-5"; else export CXX="clang++-3.8" CC="clang-3.8"; fi + - $CC --version + - cmake --version +before_script: + - git clone https://boringssl.googlesource.com/boringssl + - cd boringssl + - git checkout chromium-stable + - cmake . + - make -j$(nproc) + - BORINGSSL_SOURCE=$PWD + - mkdir -p $HOME/boringssl-libs + - cd $HOME/boringssl-libs + - ln -s $BORINGSSL_SOURCE/ssl/libssl.a + - ln -s $BORINGSSL_SOURCE/crypto/libcrypto.a + - cd $TRAVIS_BUILD_DIR + - echo $BORINGSSL_SOURCE + - cmake -DBORINGSSL_INCLUDE=$BORINGSSL_SOURCE/include -DBORINGSSL_LIB=$HOME/boringssl-libs . +script: + # Now build lsquic-client + - make + - make test diff --git a/CMakeLists.txt b/CMakeLists.txt index ee4bd59..2cb8d62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,7 +41,8 @@ IF(DEVEL_MODE EQUAL 1) SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -O0 -g3") # -Werror is used to force us to fix warnings early. SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -Werror") - IF(CMAKE_C_COMPILER MATCHES "clang") + IF(CMAKE_C_COMPILER MATCHES "clang" AND + NOT "$ENV{TRAVIS}" MATCHES "^true$") SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -fsanitize=address") ENDIF() # Uncomment to enable fault injection testing via libfiu: diff --git a/README.md b/README.md index 27c3116..6f00eff 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Build Status](https://travis-ci.org/dtikhonov/lsquic-client.svg?branch=master)](https://travis-ci.org/dtikhonov/lsquic-client) + LiteSpeed QUIC (LSQUIC) Client Library README =============================================