diff --git a/.travis.yml b/.travis.yml index 4c474e6b01..6c62cd2677 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,16 @@ -language: cpp -compiler: - - gcc - +language: c script: - - mkdir build - - cd build - - cmake .. - - make - - ctest -V - -os: - - linux - - osx - -# vim: set et fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : +- mkdir -p build && cd build && cmake -DCOVERALLS=ON -DCMAKE_BUILD_TYPE=Debug .. && + make && ctest -V && make coveralls +env: + global: + - secure: vj6Y9LaNhnfWH+3AoqOIY/k5Ymb0zKlXJSlfa1qBnWC94/NDQjbV+6Lk1Ct1izzPmFbCiRwp/auwcUT0p3aUNNFshEUrL5rlHOwr4zLMqxdwKfUXA7X7NSJS2EJSgMm0to0iSzuCeub3E5Y7fdDpmWTZ9bD5E31wck/5kzjiuw0G8mtdOLeOnfERCZw/VTxLwKkdjU3+m64IYzAh9tWsyM1ZpVX0c7KjjPt29qYb45xmQ7XrWlKl9fHabKbTvopISas56Q95K46pcF9sDraP0+KVk6f5rVOjYppvRmT6BJwRjDRG/rC6Q0BSfZuUm8a0OgFxc2MG3sxKT/QfMMDzuxJWbewakam0hcPJl34cFzqgIuMeQ7bK1yitsFBCqo9b/noMMp4vX9Hkm8b1f4QHTuk2fqOqorP0hOQxhWUcNs8J2jG1nDOjB5wrv9fOyerAZjZ8fvzHkMh/aZ3Xj9Sw7PVxiue1eyRXHQgn2/IcerrhlujawGbjsvLvrmQ+v5A3xvh4q6iJ5glIv1dhGaEEGMrp8httjLUAzZJpSAdyyWnJtnD+5KLH7BOKT+ptuXRnU6H97nUlXIHujx4btEpIhYebEX+pmAfOwK8WP3DDG5ikbmf2BuaI/qOhPtUzf5PJiN/+vRKNYf6ijXBBr4Cq7pWSJotQRfoHXvfE4vFa+zA= +addons: + coverity_scan: + project: + name: dronecrew/matrix + description: Build submitted via Travis CI + notification_email: james.goppert@gmail.com + build_command_prepend: mkdir -p build && cd build && cmake .. && make + build_command: make -C build -j 4 + branch_pattern: coverity_scan diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ab8522d38..54b9b154fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,30 @@ cmake_minimum_required(VERSION 2.8) +set(VERSION_MAJOR "0") +set(VERSION_MINOR "1") +set(VERSION_PATCH "0") + project(matrix CXX) +option(COVERALLS "Turn on coveralls support" OFF) +option(COVERALLS_UPLOAD "Upload the generated coveralls json" ON) + + +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} + ${CMAKE_SOURCE_DIR}/cmake/coveralls-cmake/cmake) + +if (COVERALLS) + include(Coveralls) + coveralls_turn_on_coverage() +endif() + if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build type" FORCE) message(STATUS "set build type to ${CMAKE_BUILD_TYPE}") endif() +option(COVERAGE "enable coverage" ON) + list(APPEND CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wall @@ -14,13 +32,28 @@ list(APPEND CMAKE_CXX_FLAGS -Werror -Wfatal-errors ) - +if (COVERAGE) + list(APPEND CMAKE_CXX_FLAGS + -fprofile-arcs + -ftest-coverage + ) +endif() string(REPLACE ";" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") enable_testing() include_directories(matrix) +# Setup the coveralls target and tell it to gather +# coverage data for all the lib sources. +if (COVERALLS) + coveralls_setup( + "${COV_SRCS}" + ${COVERALLS_UPLOAD} + "${CMAKE_SOURCE_DIR}/cmake/coveralls-cmake/cmake" + ) +endif() + add_subdirectory(test) add_custom_target(format @@ -30,3 +63,9 @@ add_custom_target(format WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} VERBATIM ) + +set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}) +set(CPACK_PACKAGE_CONTACT "james.goppert@gmail.com") +include(CPack)