Tôi đang sử dụng CMake với dự án của mình và thiết lập máy chủ cdash để xây dựng liên tục/đêm. Tất cả mọi thứ hoạt động tốt và bằng cách thiết lập một crontab, chúng tôi có kết quả xây dựng/kiểm tra hàng giờ/hàng đêm được tải lên máy chủ cdash của chúng tôi tự động.Hướng dẫn chi tiết về cách sử dụng gcov với CMake/CDash?
Bước tiếp theo của tôi là thêm báo cáo phủ sóng thử nghiệm vào bản dựng. Tôi tìm thấy các tài liệu ở đây http://www.cmake.org/Wiki/CTest:Coverage nhưng thẳng thắn nó là một chút xa một hướng dẫn thực tế.
Hiện tại tôi đã thêm cờ bắt buộc (thay vì -fprofile-arcs -ftest-coverage
, tôi tìm thấy --coverage
tốt hơn), quá trình biên dịch tạo tệp .gcno. Nhưng sau đó tôi bị mắc kẹt. Lệnh
make NightlyCoverage
dường như không làm gì cả. Ai có thể cho tôi biết tiếp theo sẽ làm gì? Kết quả mà tôi muốn, là bằng cách thực hiện make NightlyCoverage
, báo cáo bảo hiểm được tạo và tải lên máy chủ cdash.
Liên kết tới gcov isn' t thực sự cần thiết. Gcc làm điều đó tự động anyway, và nó sẽ không làm việc với Clang ví dụ mà thay vào đó nên liên kết againt libprofile_rt – Joakim
Tôi sẽ thêm một lưu ý rằng tôi đang sử dụng clang trên OSX và bên cạnh một cảnh báo trong CodeCoverage.cmake, giải pháp này hoạt động hoàn hảo. – nevelis
@rcomblen Liệu tổng hợp các kết quả bảo hiểm cho tất cả các thử nghiệm của bạn? Hay bạn cần phải setup_target_for_coverage cho mọi mục tiêu thử nghiệm? –