diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a15c88 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +build* +.vscode \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index d594c4e..f2f03c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,9 +24,9 @@ endif (POLICY CMP0042) # project information # if (${CMAKE_MAJOR_VERSION} EQUAL 3) - project("test" LANGUAGES C Fortran) + project("test" LANGUAGES C) else () - project("test" C Fortran) + project("test" C) endif () diff --git a/cmake/FindGcov.cmake b/cmake/FindGcov.cmake index db03e53..d6eb1e6 100644 --- a/cmake/FindGcov.cmake +++ b/cmake/FindGcov.cmake @@ -147,7 +147,7 @@ function (add_gcov_target TNAME) add_custom_command(OUTPUT ${TDIR}/${FILE}.gcov COMMAND ${GCOV_ENV} ${GCOV_BIN} -p ${TDIR}/${FILE}.gcno > ${NULL_DEVICE} DEPENDS ${TNAME} ${TDIR}/${FILE}.gcno - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) list(APPEND BUFFER ${TDIR}/${FILE}.gcov) diff --git a/cmake/FindLcov.cmake b/cmake/FindLcov.cmake index 244d1c2..0e99440 100644 --- a/cmake/FindLcov.cmake +++ b/cmake/FindLcov.cmake @@ -70,7 +70,7 @@ if (GENINFO_BIN AND NOT DEFINED GENINFO_EXTERN_FLAG) execute_process(COMMAND ${GENINFO_BIN} --help OUTPUT_VARIABLE GENINFO_HELP) string(REGEX MATCH "external" GENINFO_RES "${GENINFO_HELP}") if (GENINFO_RES) - set(FLAG "--no-external") + #set(FLAG "--no-external") endif () set(GENINFO_EXTERN_FLAG "${FLAG}" @@ -91,6 +91,8 @@ file(MAKE_DIRECTORY ${LCOV_DATA_PATH_CAPTURE}) set(LCOV_REMOVE_PATTERNS "") +#set(BASE_DIRECTORY "--base-directory ${PROJECT_SOURCE_DIR}") + # This function will merge lcov files to a single target file. Additional lcov # flags may be set with setting LCOV_EXTRA_FLAGS before calling this function. function (lcov_merge_files OUTFILE ...) @@ -107,7 +109,7 @@ function (lcov_merge_files OUTFILE ...) add_custom_command(OUTPUT "${OUTFILE}" COMMAND ${LCOV_BIN} --quiet -a ${OUTFILE}.raw --output-file ${OUTFILE} - --base-directory ${PROJECT_SOURCE_DIR} ${LCOV_EXTRA_FLAGS} + ${BASE_DIRECTORY} ${LCOV_EXTRA_FLAGS} COMMAND ${LCOV_BIN} --quiet -r ${OUTFILE} ${LCOV_REMOVE_PATTERNS} --output-file ${OUTFILE} ${LCOV_EXTRA_FLAGS} DEPENDS ${OUTFILE}.raw @@ -169,7 +171,7 @@ function (lcov_capture_initial_tgt TNAME) list(APPEND GENINFO_FILES ${OUTFILE}) add_custom_command(OUTPUT ${OUTFILE} COMMAND ${GCOV_ENV} ${GENINFO_BIN} - --quiet --base-directory ${PROJECT_SOURCE_DIR} --initial + --quiet ${BASE_DIRECTORY} --initial --gcov-tool ${GCOV_BIN} --output-filename ${OUTFILE} ${GENINFO_EXTERN_FLAG} ${TDIR}/${FILE}.gcno DEPENDS ${TNAME} @@ -269,8 +271,8 @@ function (lcov_capture_tgt TNAME) add_custom_command(OUTPUT ${OUTFILE} COMMAND test -s "${TDIR}/${FILE}.gcda" - && ${GCOV_ENV} ${GENINFO_BIN} --quiet --base-directory - ${PROJECT_SOURCE_DIR} --gcov-tool ${GCOV_BIN} + && ${GCOV_ENV} ${GENINFO_BIN} --quiet ${BASE_DIRECTORY} + --gcov-tool ${GCOV_BIN} --output-filename ${OUTFILE} ${GENINFO_EXTERN_FLAG} ${TDIR}/${FILE}.gcda || cp ${OUTFILE}.init ${OUTFILE} diff --git a/run_test.sh b/run_test.sh new file mode 100755 index 0000000..25f325c --- /dev/null +++ b/run_test.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +echo "\n\e[31;7mNinja + Gcov\e[0m" +mkdir build-ninja-gcov +cd build-ninja-gcov +cmake -Wno-dev -DENABLE_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug -G Ninja .. +ninja -v -j 1 +ninja -v -j 1 test +ninja -v -j 1 gcov +cd - + +echo "\n\e[31;7mNinja + Lcov\e[0m" +mkdir build-ninja-lcov +cd build-ninja-lcov +cmake -Wno-dev -DENABLE_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug -G Ninja .. +ninja -v -j 1 +ninja -v -j 1 test +ninja -v -j 1 lcov +cd - + +echo "\n\e[31;7mMake + Gcov\e[0m" +mkdir build-make-gcov +cd build-make-gcov +cmake -Wno-dev -DENABLE_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug -G "Unix Makefiles" .. +make +make test +make gcov +cd - + +echo "\n\e[31;7mMake + Lcov\e[0m" +mkdir build-make-lcov +cd build-make-lcov +cmake -Wno-dev -DENABLE_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug -G "Unix Makefiles" .. +make +make test +make lcov +cd - diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 50e4dff..38bbe3f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -13,4 +13,3 @@ add_subdirectory(libfoo) add_subdirectory(bar) add_subdirectory(libheader) -add_subdirectory(fortran)