0

単体テストを他のテストのグループに追加しようとしています。すべてのテストは独自のサブディレクトリにあり、それぞれに独自の .pro ファイルと、テスト自体を含む .cpp ファイルがあります。サブディレクトリの 1 つで qmake を実行すると Makefile が作成され、次に make を実行するとコンパイラが実行されて TARGET が作成されます。テストは実際には 'check' ターゲット、つまり 'make check' によって実行されます。

追加しようとしているテストは異なりますが、同じように振る舞おうとしています。

これは perl スクリプトであり、コンパイルする必要がないため、異なります。ただし、実行する必要があるため、'make check' が機能する必要があります。

ほとんどの場合、.pro ファイルが機能していました。「qmake」、「make」、「make check」、および「make clean」は機能しますが、「make distclean」によってスクリプトが削除されました (何かをコンパイルする)。

問題は、スクリプトが削除されないようにするにはどうすればよいかということです。

おそらく、私が取るべき他のアプローチがあるでしょう。「subdirs」TEMPLATE を試してみましたが、これは Makefile で TARGET を削除する行を削除するだけではありません。

アイデア?

Qt 4.6.0 で Ubuntu Linux を使用します。

4

1 に答える 1

0

スクリプトのカスタム ターゲット機能を調べます。多分このようなもの:

check.commands = <scriptname>
check.depends = <any dependencies>
QMAKE_EXTRA_TARGETS += check

このようにすると、依存関係が変更されたときに check コマンドが実行されますが、指定しない限りcheck.target何も削除されません。(スクリプトが出力を生成する場合は、おそらくcheck.target.

これは、スクリプトが独自のサブディレクトリ(あなたが述べている)にあり、そのサブディレクトリで実行する必要がある唯一の「チェック」コマンドであると仮定しています(質問によって暗示されていますが、直接述べられていません)。

于 2009-12-30T19:04:03.710 に答える