Add travis, coverall and other things.

This commit is contained in:
Godzil
2020-02-17 21:56:59 +00:00
parent a8ca88640b
commit 2e2d8c143c
5 changed files with 55 additions and 3 deletions

3
.gitmodules vendored
View File

@@ -10,3 +10,6 @@
[submodule "external/lodepng"] [submodule "external/lodepng"]
path = external/lodepng path = external/lodepng
url = https://github.com/lvandeve/lodepng url = https://github.com/lvandeve/lodepng
[submodule "external/coveralls-cmake"]
path = external/coveralls-cmake
url = https://github.com/JoakimSoderberg/coveralls-cmake.git

26
.travis.yml Normal file
View File

@@ -0,0 +1,26 @@
dist: bionic
language: c
os:
- linux
- osx
compiler:
- clang
- gcc
script:
mkdir build
cd build
cmake ..
make
make test
cd ..
mkdir coverage
cd coverage
cmake .. -DCOVERALL=ON -DCMAKE_BUILD_TYPE=Debug
cmake --build .
cmake --build . --target coveralls
after_success:
- bash <(curl -s https://codecov.io/bash)

View File

@@ -6,19 +6,37 @@ project(DoRayMe)
set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 11)
option(COVERALLS "Generate coveralls data" OFF)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/external/coveralls-cmake/cmake)
# LodePNG don't make a .a or .so, so let's build a library here # LodePNG don't make a .a or .so, so let's build a library here
add_library(LodePNG STATIC) add_library(LodePNG STATIC)
set(LODEPNG_INCLUDE_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/external/lodepng) set(LODEPNG_INCLUDE_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/external/lodepng)
target_sources(LodePNG PRIVATE external/lodepng/lodepng.cpp external/lodepng/lodepng.h) target_sources(LodePNG PRIVATE external/lodepng/lodepng.cpp external/lodepng/lodepng.h)
if (COVERALLS)
include(Coveralls)
coveralls_turn_on_coverage()
endif()
# Main app # Main app
add_subdirectory(source) add_subdirectory(source)
option(PACKAGE_TESTS "Build the tests" ON) option(PACKAGE_TESTS "Build the tests" ON)
if(PACKAGE_TESTS) if(PACKAGE_TESTS OR COVERALLS)
enable_testing() enable_testing()
include(GoogleTest) include(GoogleTest)
add_subdirectory("${PROJECT_SOURCE_DIR}/external/googletest" "external/googletest") add_subdirectory("${PROJECT_SOURCE_DIR}/external/googletest" "external/googletest")
add_subdirectory(tests) add_subdirectory(tests)
if (COVERALLS)
# Create the coveralls target.
coveralls_setup(
"${COVERAGE_SRCS}" # The source files.
ON # If we should upload.
) # (Optional) Alternate project cmake module path.
endif ()
endif() endif()

1
external/coveralls-cmake vendored Submodule

View File

@@ -19,3 +19,7 @@ target_link_libraries(rayonnement LodePNG)
add_executable(dorayme main.cpp) add_executable(dorayme main.cpp)
target_include_directories(rayonnement PUBLIC include ${LODEPNG_INCLUDE_FOLDER}) target_include_directories(rayonnement PUBLIC include ${LODEPNG_INCLUDE_FOLDER})
target_link_libraries(dorayme rayonnement) target_link_libraries(dorayme rayonnement)
if (COVERALLS)
set(COVERAGE_SRCS ${RAY_HEADERS} ${RAY_SOURCES} ${COVERAGE_SRCS} PARENT_SCOPE)
endif()