-
Notifications
You must be signed in to change notification settings - Fork 6
Description
In the coverage report generated by github actions the dependencies are listed instead of just meshfields; see
#35 (comment).
Running lcov via github actions is done through this actions yml:
https://github.com/SCOREC/meshFields/blob/c677f231dd2491380e7db16896850c07df84dcb0/.github/workflows/coverage.yml
which uses the following cmake logic:
Lines 116 to 156 in d430115
| if(meshFields_ENABLE_COVERAGE_BUILD) | |
| list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) | |
| include(CodeCoverage) | |
| append_coverage_compiler_flags() | |
| set(LCOV_SYSTEM_EXCLUDE_PATHS "" CACHE PATH "Set path to system libraries, c++ compiler and cuda-11.4 by default, to be excluded from lcov analysis") | |
| if (NOT EXISTS ${Cabana_DIR}) | |
| message(FATAL_ERROR " Cabana_DIR was not set or the path does not exist") | |
| endif() | |
| if (NOT EXISTS ${Kokkos_DIR}) | |
| message(FATAL_ERROR " Kokkos_DIR was not set or the path does not exist") | |
| endif() | |
| if (NOT EXISTS ${KokkosKernels_DIR}) | |
| message(FATAL_ERROR " KokkosKernels_DIR was not set or the path does not exist") | |
| endif() | |
| if (NOT EXISTS ${Omega_h_DIR}) | |
| message(FATAL_ERROR " Omega_h_DIR was not set or the path does not exist") | |
| endif() | |
| setup_target_for_coverage_lcov( | |
| NAME coverage | |
| EXECUTABLE ctest -C ${ROOT_DIR}/CTestTestfile.cmake | |
| EXCLUDE | |
| "${CMAKE_CURRENT_LIST_DIR}/docs/*" | |
| "${CMAKE_CURRENT_LIST_DIR}/.github/*" | |
| "${CMAKE_CURRENT_BINARY_DIR}/nvcc_internal_extended_lambda_implementation" | |
| "/tmp/*" | |
| "${Cabana_DIR}/*" | |
| "${Kokkos_DIR}/*" | |
| "${KokkosKernels_DIR}/*" | |
| "${Omega_h_DIR}/*" | |
| "${LCOV_SYSTEM_EXCLUDE_PATHS}" | |
| ) | |
| endif() |
which calls the setup_target_for_coverage_lcov function from this cmake module:
meshFields/cmake/CodeCoverage.cmake
Line 229 in c677f23
| function(setup_target_for_coverage_lcov) |
The dependencies are being passed in via the EXCLUDE argument to the above function, but they seem to be ignored or incorrectly formatted.
Testing this using github actions is painfully slow; a working local install of lcov is needed.