Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
rollbear committed Jul 24, 2017
2 parents 50ba735 + 02db00b commit 22dd190
Show file tree
Hide file tree
Showing 51 changed files with 479 additions and 131 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.*
cmake-build*
*~
a.out
*.o
151 changes: 118 additions & 33 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,69 +1,154 @@
language: cpp
#dist: trusty
sudo: required
dist: trusty

matrix:
include:
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.7
- ppa:george-edison55/cmake-3.x
packages:
- g++-6
- clang-3.7
- llvm-3.7-runtime
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-3.7"
before_script:
# The clang runtime for the address sanitizer is missing from the
# apt, hence the downloaded tarballs.

- wget http://llvm.org/releases/3.7.1/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz
- tar -xvf clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz
- sudo cp -n clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/lib/clang/3.7.1/lib/linux/*.a /usr/lib/llvm-3.7/lib/clang/3.7.1/lib/linux/
- CXX=${COMPILER} ./check_errors.sh
- mkdir build && cd build
- CXX=${COMPILER} cmake -DCMAKE_BUILD_TYPE=Debug -DTRAVIS_JOB_ID='${TRAVIS_JOB_ID}' -DSANITIZE=true ..
- make VERBOSE=1 self_test kcov

- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-4.9', 'libcurl4-openssl-dev', 'libelf-dev', 'libdw-dev', 'cmake', 'gdb']
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-3.8
packages:
- g++-6
- clang-3.8
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER=g++-4.9
- WARNINGS="-Wall -Wextra -pedantic"
- SANITIZERS="-fsanitize=address,undefined"
- COMPILER="clang++-3.8"

- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-5', 'libcurl4-openssl-dev', 'libelf-dev', 'libdw-dev', 'cmake', 'gdb']
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.9
packages:
- g++-6
- clang-3.9
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER=g++-5
- WARNINGS="-Wall -Wextra -pedantic"
- SANITIZERS="-fsanitize=undefined"
- COMPILER="clang++-3.9"
before_script:
# Unlike with clang++-3.7, the runtime libraries exists with 3.9,
# but still doesn't work because of gold linker version incompatibility.
# The tarball download takes care of that.

- wget http://llvm.org/releases/3.9.1/clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz
- tar -xvf clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz
- sudo cp clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-14.04/lib/clang/3.9.1/lib/linux/*.a /usr/lib/llvm-3.9/lib/clang/3.9.1/lib/linux/
- CXX=${COMPILER} ./check_errors.sh
- mkdir build && cd build
- CXX=${COMPILER} cmake -DCMAKE_BUILD_TYPE=Debug -DTRAVIS_JOB_ID='${TRAVIS_JOB_ID}' -DSANITIZE=true ..
- make VERBOSE=1 self_test kcov

- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-6', 'libcurl4-openssl-dev', 'libelf-dev', 'libdw-dev', 'cmake', 'gdb']
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-4.0
packages:
- g++-6
- clang-4.0
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER=g++-6
- WARNINGS="-Wall -Wextra -pedantic -Wmisleading-indentation"
- SANITIZERS="-fsanitize=undefined"
- COMPILER="clang++-4.0"

- os: linux
compiler: clang
addons:
apt:
sources: ['llvm-toolchain-precise-3.7', 'ubuntu-toolchain-r-test']
packages: ['clang-3.7', 'libcurl4-openssl-dev', 'libelf-dev', 'libdw-dev', 'cmake', 'gdb']
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER=clang++-3.7
- WARNINGS="-Weverything -Wno-c++98-compat-pedantic -Wno-padded -Wno-weak-vtables -Wno-exit-time-destructors"
- COMPILER="g++-4.9"

- os: linux
compiler: clang
addons:
apt:
sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test']
packages: ['clang-3.8', 'libcurl4-openssl-dev', 'libelf-dev', 'libdw-dev', 'cmake', 'gdb']
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER=clang++-3.8
- WARNINGS="-Weverything -Wno-c++98-compat-pedantic -Wno-padded -Wno-weak-vtables -Wno-exit-time-destructors"
- SANITIZERS="-fsanitize=undefined,address"
- COMPILER="g++-5"

- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-6"

- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-7"

before_script:
CXX=$COMPILER ./check_errors.sh
- CXX=${COMPILER} ./check_errors.sh
- mkdir build && cd build
- CXX=${COMPILER} cmake -DCMAKE_BUILD_TYPE=Debug -DTRAVIS_JOB_ID='${TRAVIS_JOB_ID}' -DSANITIZE=true ..
- make VERBOSE=1 self_test kcov

script:
wget https://github.com/philsquared/Catch/archive/V1.5.0.tar.gz && tar xfz V1.5.0.tar.gz && make CXX=$COMPILER CXXFLAGS="${WARNINGS} ${SANITIZERS} ${CXXFLAGS} -std=c++14 -I Catch-1.5.0/include -g ${CPPFLAGS}" -f Makefile.travis
make run_self_test

after_success:
make clean -f Makefile.travis && make CXX=$COMPILER CXXFLAGS="-std=c++14 ${STDLIB} -I Catch-1.5.0/include -g" -f Makefile.travis && wget https://github.com/SimonKagstrom/kcov/archive/master.zip && unzip master.zip && mv kcov-master kcov && mkdir kcov/build && cd kcov/build && cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release .. && make && make install DESTDIR=../built && cd ../.. && ./kcov/built/usr/local/bin/kcov --skip-solibs --include-pattern=trompeloeil.hpp --coveralls-id=${TRAVIS_JOB_ID} ./cov ./self_test -s
make VERBOSE=1 run_coverage
Loading

0 comments on commit 22dd190

Please sign in to comment.