[解決済み] CMake/CDashでgcovを使用するための詳細なガイド?
質問
私は自分のプロジェクトでCMakeを使用しており、継続的/毎晩のビルドのためにcdashサーバーをセットアップしています。すべてがうまくいき、crontabを設定することで、毎時間/毎晩のビルド/テスト結果が自動的にcdashサーバーにアップロードされます。
次のステップは、ビルドにテストカバレッジレポートを追加することです。ここにドキュメントがあります。 http://www.cmake.org/Wiki/CTest:Coverage が、正直なところ、実用的なガイドとは少しほど遠い。
現在、私は必須フラグ(の代わりに
-fprofile-arcs -ftest-coverage
を見つけると
--coverage
の方が良い)、コンパイルプロセスで.gcnoファイルが生成されます。しかし、その後、私は立ち往生しています。コマンドは
make NightlyCoverage
は何もしないようです。次に何をすればいいのか、どなたか教えていただけませんか?私が望む結果は、次のようなものです。
make NightlyCoverage
カバレッジレポートが作成され、cdashサーバーにアップロードされます。
解決方法は?
私はこれまで https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake に成功しました。
ガイドラインに従って、ファイルを私の
CMAKE_MODULE_PATH
ディレクトリを追加し、さらに
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules)
if(CMAKE_COMPILER_IS_GNUCXX)
include(CodeCoverage)
setup_target_for_coverage(${PROJECT_NAME}_coverage ${PROJECT_TEST_NAME} coverage)
endif()
私の
CMakeLists.txt
. また、手動で
gcov
をターゲットに依存するようにしました。
if(CMAKE_COMPILER_IS_GNUCXX)
target_link_libraries(${PROJECT_TEST_NAME} gcov)
endif()
この場合、私はただ
make my_project_coverage
でhtmlレポートを取得し
coverage
ディレクトリを作成しました。
関連
-
[解決済み】構造体のベクター初期化について
-
[解決済み】コンストラクターでのエラー:識別子を期待されますか?
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み】「corrupted size vs. prev_size」glibc エラーを理解する。
-
[解決済み】C++の変数はイニシャライザーを持っているが、不完全な型?
-
[解決済み】リンカーエラーです。"リンカ入力ファイルはリンクが行われていないため未使用"、そのファイル内の関数への未定義参照
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】ファイルから整数を読み込んで配列に格納する C++ 【クローズド
-
[解決済み] 警告:暗黙の定数変換でのオーバーフロー
-
[解決済み】変数やフィールドがvoid宣言されている
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】非静的メンバ関数への参照を呼び出す必要がある
-
[解決済み】識別子 "string "は未定義?
-
[解決済み】 != と =! の違いと例(C++の場合)
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】C++の余分な資格エラー
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み] to_string は std のメンバーではない、と g++ が言っている (mingw)