Hey, I have a question about using CMake+CTest+CTest scripts for coverage tests.
If I manually build the project and run "make ExperimantalCoverage" in a build folder, the coverage succeeds. If I run the coverage from within a CTest script, it fails. Am I forgetting something? A minimum example that exhibits my problem can be found at https://gist.github.com/madebr/07ebd0de59e789cd819643b58db25df9. This works: mkdir build && cd build && cmake .. && make && make test && make ExperimentalCoverage && cd .. This fails: ctest -S test.ctest Source listing: ################### #CMakeLists.txt: ################### cmake_minimum_required(VERSION 3.9) project(cmake_coverage) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.c" "int main() {return 0;}") add_executable(main main.c ) target_compile_options(main PUBLIC "-O0" "-fprofile-arcs" "-ftest-coverage" ) target_link_libraries(main gcov ) include(CTest) enable_testing() add_test(NAME test COMMAND main ) ############## # test.ctest: ############## set(CTEST_SOURCE_DIRECTORY "${CTEST_SCRIPT_DIRECTORY}") set(CTEST_BINARY_DIRECTORY "${CTEST_SCRIPT_DIRECTORY}/build/ctest") ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}") set(CTEST_SITE "${CMAKE_SYSTEM_NAME}") set(CTEST_BUILD_NAME "experimental build") set(CTEST_CMAKE_GENERATOR "Ninja") set(CTEST_COVERAGE_COMMAND "gcov") ctest_start("Experimental") ctest_configure() ctest_build() ctest_test() ctest_coverage() ############## # CTestConfig.cmake: ############## set(CTEST_PROJECT_NAME "Simple ctest_coverage project")
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake