これが私がやりたいことです:
- 入力
make all
すると、ライブラリとそのドキュメントが作成されます。 - 入力
make test
すると、lib(必要な場合)、gtest、そしてテストがビルドされます - 入力
make check
はmake test
必要に応じて実行され、実行可能ファイルが実行されます
今のところ、私は最初に動作するようにできただけです。私が抱えている問題は、gtestの条件付きインクルードです。
GtestはCMakeを使用しています。理論的には、gtestディレクトリを含めるだけですadd_subdirectory
が、gtestは常にビルドされます。
現在の私の構造は次のとおりです。
CMakeLists.txt(ここでドキュメントとライブラリのターゲットを追加します) doc(my doxygen docs) インクルード(私のヘッダー) lib(コンパイルされたライブラリの移動先) src(私の.cppファイルが入る場所) テスト CMakeLists.txt(ここでgestとテストのターゲットを追加します) bin(テスト実行可能ファイルが移動する場所) contrib(gtestがある場合) src(私のテスト)
-targetへの依存関係としてgtestを追加する方法を理解しようとしていますが、test
毎回gtestをビルドするわけではありません。
私は本当にイライラしていて、CMakeの学習に関する情報はほとんどないので、誰かが詳細なチュートリアル(インターネットで無料で入手可能)を知っていれば、それは素晴らしいことです。