diff --git a/.travis.yml b/.travis.yml index 739a54d..5a9ce2f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,60 +5,116 @@ compiler: - gcc # - clang - does not compile yet -# Build type and option combinations -# env: -# - TYPE=Debug ASAN=ON -# - TYPE=RelWithDebInfo ASAN=ON -# - CC=gcc-5 CXX=g++-5 TYPE=Debug ASAN=ON -# - CC=gcc-5 CXX=g++-5 TYPE=RelWithDebInfo ASAN=ON matrix: include: - os: linux name: "GCC 4.8 Debug" - env: MATRIX_EVAL="TYPE=Debug ASAN=ON DBSIM=OFF" + addons: + apt: + packages: + - cmake + - libboost-test-dev + env: MATRIX_EVAL="TYPE=Debug STRICT=OFF ASAN=ON DBSIM=OFF" - os: linux name: "GCC 4.8 RelWithDebInfo" - env: MATRIX_EVAL="TYPE=RelWithDebInfo ASAN=ON DBSIM=OFF" + addons: + apt: + packages: + - cmake + - libboost-test-dev + env: MATRIX_EVAL="TYPE=RelWithDebInfo STRICT=OFF ASAN=ON DBSIM=OFF" - os: linux name: "GCC 5 Debug" - env: MATRIX_EVAL="CC=gcc-5 CXX=g++-5 TYPE=Debug ASAN=OFF DBSIM=ON" + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-5 + - cmake + - libboost-test-dev + - libboost-program-options-dev + - libboost-filesystem-dev + - libboost-thread-dev + env: MATRIX_EVAL="CC=gcc-5 CXX=g++-5 TYPE=Debug STRICT=ON ASAN=OFF DBSIM=ON" - os: linux name: "GCC 5 RelWithDebInfo" - env: MATRIX_EVAL="CC=gcc-5 CXX=g++-5 TYPE=RelWithDebInfo ASAN=OFF DBSIM=ON" + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-5 + - cmake + - libboost-test-dev + - libboost-program-options-dev + - libboost-filesystem-dev + - libboost-thread-dev + env: MATRIX_EVAL="CC=gcc-5 CXX=g++-5 TYPE=RelWithDebInfo STRICT=ON ASAN=OFF DBSIM=ON" - os: linux name: "GCC 6 Debug" - env: MATRIX_EVAL="CC=gcc-6 CXX=g++-6 TYPE=Debug ASAN=OFF DBSIM=ON" + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + - cmake + - libboost-test-dev + - libboost-program-options-dev + - libboost-filesystem-dev + - libboost-thread-dev + env: MATRIX_EVAL="CC=gcc-6 CXX=g++-6 TYPE=Debug STRICT=ON ASAN=OFF DBSIM=ON" - os: linux name: "GCC 6 RelWithDebInfo" - env: MATRIX_EVAL="CC=gcc-6 CXX=g++-6 TYPE=RelWithDebInfo ASAN=OFF DBSIM=ON" + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + - cmake + - libboost-test-dev + - libboost-program-options-dev + - libboost-filesystem-dev + - libboost-thread-dev + env: MATRIX_EVAL="CC=gcc-6 CXX=g++-6 TYPE=RelWithDebInfo STRICT=ON ASAN=OFF DBSIM=ON" - os: linux name: "GCC 7 Debug" - env: MATRIX_EVAL="CC=gcc-7 CXX=g++-7 TYPE=Debug ASAN=OFF DBSIM=ON" + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-7 + - cmake + - libboost-test-dev + - libboost-program-options-dev + - libboost-filesystem-dev + - libboost-thread-dev + env: MATRIX_EVAL="CC=gcc-7 CXX=g++-7 TYPE=Debug STRICT=ON ASAN=OFF DBSIM=ON" - os: linux name: "GCC 7 RelWithDebInfo" - env: MATRIX_EVAL="CC=gcc-7 CXX=g++-7 TYPE=RelWithDebInfo ASAN=OFF DBSIM=ON" - -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - cmake - - g++-5 - - g++-6 - - g++-7 - - libboost-test-dev - - libboost-program-options-dev - - libboost-filesystem-dev - - libboost-thread-dev - + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-7 + - cmake + - libboost-test-dev + - libboost-program-options-dev + - libboost-filesystem-dev + - libboost-thread-dev + env: MATRIX_EVAL="CC=gcc-7 CXX=g++-7 TYPE=RelWithDebInfo STRICT=ON ASAN=OFF DBSIM=ON" before_install: - eval ${MATRIX_EVAL} script: - - echo CC=${CC} CXX=${CXX} TYPE=${TYPE} ASAN=${ASAN} DBSIM=${DBSIM} + - echo CC=${CC} CXX=${CXX} TYPE=${TYPE} STRICT=${STRICT} ASAN=${ASAN} DBSIM=${DBSIM} - cmake . -DCMAKE_BUILD_TYPE=${TYPE} + -DWSREP_LIB_STRICT_BUILD_FLAGS:BOOL=${STRICT} -DWSREP_LIB_WITH_UNIT_TESTS:BOOL=ON -DWSREP_LIB_WITH_DBSIM:BOOL=${DBSIM} -DWSREP_LIB_WITH_ASAN:BOOL=${ASAN} diff --git a/CMakeLists.txt b/CMakeLists.txt index 0bbe4b3..b7ec935 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,9 +38,14 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include") include_directories("${CMAKE_CURRENT_SOURCE_DIR}/wsrep-API/v26") link_directories("${CMAKE_CURRENT_SOURCE_DIR}/wsrep") -if (WSREP_LIB_WITH_UNIT_TESTS OR WSREP_LIB_WITH_DBSIM) +if (WSREP_LIB_WITH_UNIT_TESTS) find_package(Boost 1.54.0 REQUIRED unit_test_framework + ) +endif() + +if (WSREP_LIB_WITH_DBSIM) + find_package(Boost 1.54.0 REQUIRED program_options filesystem thread