Build coverage and usan Travis CI targets with CMake

This commit is contained in:
wilsonianb
2016-06-22 11:24:05 -07:00
committed by Vinnie Falco
parent bc1eca81df
commit a2fb4b099b
3 changed files with 33 additions and 24 deletions

View File

@@ -30,32 +30,19 @@ packages: &gcc5_pkgs
matrix:
include:
# GCC/Coverage
# GCC/Coverage/Autobahn
- compiler: gcc
env: GCC_VER=5 VARIANT=coverage ADDRESS_MODEL=64
env:
- GCC_VER=5
- VARIANT=coverage
- ADDRESS_MODEL=64
- BUILD_SYSTEM=cmake
- PATH=$PWD/cmake/bin:$PATH
addons: &ao_gcc5
apt:
sources: ['ubuntu-toolchain-r-test']
packages: *gcc5_pkgs
# GCC/Debug/CMake
- compiler: gcc
env:
- GCC_VER=5
- VARIANT=debug
- ADDRESS_MODEL=64
- BUILD_SYSTEM=cmake
- PATH=$PWD/cmake/bin:$PATH
addons: *ao_gcc5
# # GCC/Debug
# - compiler: gcc
# env: GCC_VER=5 VARIANT=debug ADDRESS_MODEL=64
# addons: *ao_gcc5
# branches: # NOTE: this does NOT work, though it SHOULD
# - master
# - develop
# Clang/UndefinedBehaviourSanitizer
- compiler: clang
env:
@@ -63,7 +50,9 @@ matrix:
- VARIANT=usan
- CLANG_VER=3.8
- ADDRESS_MODEL=64
- UBSAN_OPTIONS='print_stacktrace=1'
- UBSAN_OPTIONS='print_stacktrace=1'
- BUILD_SYSTEM=cmake
- PATH=$PWD/cmake/bin:$PATH
- PATH=$PWD/llvm-$LLVM_VERSION/bin:$PATH
addons: *ao_gcc5

View File

@@ -20,10 +20,29 @@ else()
find_package(Threads)
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -g -std=c++11 -Wall -Wpedantic")
"${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wpedantic")
endif()
message ("cxx Flags: " ${CMAKE_CXX_FLAGS})
if (${VARIANT} STREQUAL "coverage")
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
set(CMAKE_BUILD_TYPE RELWITHDEBINFO)
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov")
elseif (${VARIANT} STREQUAL "asan")
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
set(CMAKE_BUILD_TYPE RELWITHDEBINFO)
elseif (${VARIANT} STREQUAL "usan")
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -fsanitize=undefined -fno-omit-frame-pointer")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined")
set(CMAKE_BUILD_TYPE RELWITHDEBINFO)
elseif (${VARIANT} STREQUAL "debug")
set(CMAKE_BUILD_TYPE DEBUG)
elseif (${VARIANT} STREQUAL "release")
set(CMAKE_BUILD_TYPE RELEASE)
endif()
function(DoGroupSources curdir rootdir folder)
file(GLOB children RELATIVE ${PROJECT_SOURCE_DIR}/${curdir} ${PROJECT_SOURCE_DIR}/${curdir}/*)

View File

@@ -85,7 +85,7 @@ function build_beast {
function build_beast_cmake {
mkdir -p build
pushd build > /dev/null
cmake -DCMAKE_BUILD_TYPE=${VARIANT^} ..
cmake -DVARIANT=${VARIANT} ..
make -j${num_jobs}
mkdir -p ../bin/$VARIANT
find . -executable -type f -exec cp {} ../bin/$VARIANT/. \;
@@ -137,6 +137,7 @@ if [[ $VARIANT == "coverage" ]]; then
run_tests_with_valgrind
run_autobahn_test_suite
else
echo "skipping autobahn tests for feature branch build"
run_tests
fi