0
ビルドタイプに応じてテストを実行するCMakeプロジェクトを作成しようとしています。 など。パフォーマンスビルドを行う場合、パフォーマンステストなどを実行したい。ctestはビルドタイプ固有のテストを呼び出さない
add_testがその目的のためにCONFIGURATIONS
パラメータを提供することがわかった。しかし、そこにビルドタイプを指定すると、ctest
はテストを見つけることができません。
動作を再現する最小限のCMakeLists.txt
です。シェルで
project (test NONE)
include (CTest)
add_test (NAME test
CONFIGURATIONS Release
COMMAND cowsay)
:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
ctest
出力:
Running tests...
Test project /home/phil/cmaketest/build
No tests were found!!!
私が実行している場合は
ctest -C Release
I取得希望の動作、テストが実行される。すなわち、しかし、私はむしろ手で-C Release
と入力してください。
ここで何か間違っているのですか?
これで奇妙なことは、さまざまなテストがビルドステップで異なるコンパイル/リンクフラグを必要とするが、私のような何かを行うことができるということです'cmake -DCMAKE_BUILD_TYPE = Release ..でリリースビルドを行う。 cmake --build .'を実行し、 'ctest -C Coverage'でコードカバレッジテストを開始します。しかし、これは明らかに禁止されるべきです。しかし、私の現在の設定では無意味な結果しか得られません。 – user26756