ここで説明したように、make "test" を実行してもテストがビルドされないことはよく知られている問題です。示唆されているように、問題は人工的なターゲット「チェック」で部分的に解決できます。「make Nightly」を呼び出したときにテストのビルドを強制する方法を知りたいです。
私がこれまでに行ったこと:
add_custom_target(buildtests)
add_custom_target(check COMMAND "ctest")
add_dependencies(check buildtests)
add_dependencies(Nightly buildtests)
add_dependencies(buildtests Test1)
...
add_dependencies(buildtests TestN)
「make check」はビルドしてテストを実行しますが、「make Nightly」は
- テストをビルドします
- リポジトリを CTEST_NIGHTLY_START_TIME に更新します
- 他のすべてのターゲットをビルドします
- (現在は古い) テストを実行します