diff --git a/CMakeLists.txt b/CMakeLists.txt index 219d091..64c722b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,15 +14,22 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +set(CODE_COVERAGE OFF CACHE BOOL "Toggle build code coverage") + if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3") -#elseif(CMAKE_COMPILER_IS_GNUCC) else() - #set(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage") - #set(GCC_COVERAGE_LINK_FLAGS "-lgcov") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}") - #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}") + + if (CODE_COVERAGE) + if (CMAKE_COMPILER_IS_GNUCC) + message(STATUS "Enabling code coverage") + set(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage") + set(GCC_COVERAGE_LINK_FLAGS "-lgcov") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}") + endif() + endif() endif() add_subdirectory(src)