From 29d5ff2c8e22f3aba4f3d7873e3f30637ba1b6ab Mon Sep 17 00:00:00 2001 From: Daniel Chappuis Date: Thu, 5 Apr 2018 17:42:47 +0200 Subject: [PATCH] Edit travis file --- .travis.yml | 43 +++++++++++++++++++------------------------ travis_build.sh | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 24 deletions(-) create mode 100755 travis_build.sh diff --git a/.travis.yml b/.travis.yml index 7b1df03b..bbe60ac2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,13 +11,20 @@ matrix: packages: - g++-7 env: - - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" + - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" + - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="False" + - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Debug" DOUBLE_PRECISION="True" + - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="True" + - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" RUN_CODE_COVERAGE="True" # OS X / GCC - os: osx osx_image: xcode8 env: - - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" + - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" + - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="False" + - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Debug" DOUBLE_PRECISION="True" + - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="True" # Linux / Clang - os: linux @@ -30,11 +37,19 @@ matrix: - clang-3.8 - g++-7 env: - - MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" + - MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" + - MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Release" DOUBLE_PRECISION="False" + - MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Debug" DOUBLE_PRECISION="True" + - MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Release" DOUBLE_PRECISION="True" # OS X / Clang - os: osx osx_image: xcode8 + env: + - BUILD_TYPE="Debug" DOUBLE_PRECISION="False" + - BUILD_TYPE="Release" DOUBLE_PRECISION="False" + - BUILD_TYPE="Debug" DOUBLE_PRECISION="True" + - BUILD_TYPE="Release" DOUBLE_PRECISION="True" before_install: - eval "${MATRIX_EVAL}" @@ -42,24 +57,4 @@ branches: only: - master - develop -script: - - mkdir build_directory - - cd build_directory - # Build in debug mode with double precision - - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug —DDOUBLE_PRECISION_ENABLED=True -DCOMPILE_TESTS=True ../ - - make && make test ARGS="-V" - # Build in debug mode with single precision - - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug —DDOUBLE_PRECISION_ENABLED=False -DCOMPILE_TESTS=True ../ - - make && make test ARGS="-V" - # Build in release mode with double precision - - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release —DDOUBLE_PRECISION_ENABLED=True -DCOMPILE_TESTS=True ../ - - make && make test ARGS="-V" - # Build in release mode with single precision - - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release —DDOUBLE_PRECISION_ENABLED=False -DCOMPILE_TESTS=True ../ - - make && make test ARGS="-V" - # Build in debug mode with logs and profiler enabled - - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug —DPROFILING_ENABLED=True -DLOGS_ENABLED=True ../ - - make - # Build in release mode with logs and profiler enabled - - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release —DPROFILING_ENABLED=True -DLOGS_ENABLED=True ../ - - make +script: ./travis_build.sh diff --git a/travis_build.sh b/travis_build.sh new file mode 100755 index 00000000..c6ca1b6c --- /dev/null +++ b/travis_build.sh @@ -0,0 +1,35 @@ +#! /bin/bash +# Bash script to build and test the project on Travis CI + +# Build in debug mode with double precision and run the tests +cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=${BUILD_TYPE} —DDOUBLE_PRECISION_ENABLED=${DOUBLE_PRECISION} -DCOMPILE_TESTS=True ../ +make && make test ARGS="-V" + +# Build in debug mode with single precision and run the tests +#cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug —DDOUBLE_PRECISION_ENABLED=False -DCOMPILE_TESTS=True ../ +#make && make test ARGS="-V" + +# Build in release mode with double precision and run the tests +#cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release —DDOUBLE_PRECISION_ENABLED=True -DCOMPILE_TESTS=True ../ +#make && make test ARGS="-V" + +# Build in release mode with single precision and run the tests +#cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release —DDOUBLE_PRECISION_ENABLED=False -DCOMPILE_TESTS=True ../ +#make && make test ARGS="-V" + +# Build in release mode with logs and profiler enabled +#cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release —DPROFILING_ENABLED=True -DLOGS_ENABLED=True ../ +#make + +# Build in debug mode with logs, profiler and code coverage enabled +#cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug —DPROFILING_ENABLED=True -DLOGS_ENABLED=True ../ +#make + +# Run the code coverage with (lcov) only on a single build (when compiler is GCC and OS is Linux) +if [[ "$RUN_CODE_COVERAGE" == "True" ]]; then + + # Build in debug mode with code coverage enabled + cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCODE_COVERAGE_ENABLED=True ../ + make && make test ARGS="-V" + +fi