project_include.cmake 932 B

1234567891011121314151617181920212223
  1. # idf_create_lcov_report
  2. #
  3. # Create coverage report.
  4. function(idf_create_coverage_report report_dir)
  5. set(gcov_tool ${CONFIG_SDK_TOOLPREFIX}gcov)
  6. idf_build_get_property(project_name PROJECT_NAME)
  7. add_custom_target(lcov-report
  8. COMMENT "Generating coverage report in: ${report_dir}"
  9. COMMAND ${CMAKE_COMMAND} -E echo "Using gcov: ${gcov_tool}"
  10. COMMAND ${CMAKE_COMMAND} -E make_directory ${report_dir}/html
  11. COMMAND lcov --gcov-tool ${gcov_tool} -c -d ${CMAKE_CURRENT_BINARY_DIR} -o ${report_dir}/${project_name}.info
  12. COMMAND genhtml -o ${report_dir}/html ${report_dir}/${project_name}.info)
  13. endfunction()
  14. # idf_clean_coverage_report
  15. #
  16. # Clean coverage report.
  17. function(idf_clean_coverage_report report_dir)
  18. add_custom_target(cov-data-clean
  19. COMMENT "Clean coverage report in: ${report_dir}"
  20. COMMAND ${CMAKE_COMMAND} -E remove_directory ${report_dir})
  21. endfunction()