cleanup
This commit is contained in:
parent
b453cdb7a2
commit
befd90dead
15 changed files with 4702 additions and 11586 deletions
|
|
@ -1,61 +0,0 @@
|
|||
cmake_minimum_required(VERSION 2.8.4)
|
||||
project(json)
|
||||
|
||||
# Enable C++11 and set flags for coverage testing
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g -O0 --coverage -fprofile-arcs -ftest-coverage")
|
||||
|
||||
# Make everything public for testing purposes
|
||||
add_definitions(-Dprivate=public)
|
||||
|
||||
# If not specified, use Debug as build type (necessary for coverage testing)
|
||||
if( NOT CMAKE_BUILD_TYPE )
|
||||
set( CMAKE_BUILD_TYPE Debug CACHE STRING
|
||||
""
|
||||
FORCE )
|
||||
endif()
|
||||
|
||||
# CMake addons for lcov
|
||||
# Only possible with g++ at the moment. We run otherwise just the test
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 --coverage -fprofile-arcs -ftest-coverage")
|
||||
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules)
|
||||
include(CodeCoverage)
|
||||
|
||||
setup_coverage(coverage)
|
||||
endif()
|
||||
|
||||
# Normal sources
|
||||
include_directories(src/)
|
||||
aux_source_directory(src/ json_list)
|
||||
add_library(json ${json_list})
|
||||
|
||||
# Testing
|
||||
enable_testing()
|
||||
|
||||
# Search all test files in the test directory with a .cc suffix
|
||||
file(GLOB TEST_FILES "test/*.cc")
|
||||
foreach(TEST_FILE ${TEST_FILES})
|
||||
# We use the basename to identify the test. E.g "json_unit" for "json_unit.cc"
|
||||
get_filename_component(BASENAME ${TEST_FILE} NAME_WE)
|
||||
# Create a test executable
|
||||
add_executable(${BASENAME} ${TEST_FILE})
|
||||
# Link it with our main json file
|
||||
target_link_libraries(${BASENAME} json)
|
||||
|
||||
# Add test if people want to use ctest
|
||||
add_test(${BASENAME} ${BASENAME})
|
||||
|
||||
# If we are using g++, we also need to setup the commands for coverage
|
||||
# testing
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
# Add a run_XXX target that runs the executable and produces the
|
||||
# coverage data automatically
|
||||
add_custom_target(run_${BASENAME} COMMAND ./${BASENAME})
|
||||
# Make sure that running requires the executable to be build
|
||||
add_dependencies (run_${BASENAME} ${BASENAME})
|
||||
# To create a valid coverage report, the executable has to be
|
||||
# executed first
|
||||
add_dependencies (coverage run_${BASENAME})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue