0

追加すると

add_custom_target(dummy COMMAND dir && sleep 2)

その後

ninja dummy

ディレクトリの内容は、スリープが終了した後にのみ視覚化されます。このメカニズムには、複数のジョブを並行して実行している場合でも、Ninja が非常にきちんとした/連続した出力を表示できるようにするという貴重な特性があることを理解しています。

ただし、これは次の実際のケースでは問題です。私の実際add_custom_targetのプログラムは、ある時点でユーザーにパスワードを要求するプロンプトを表示するプログラムを実行しますが、Ninja は基本的にすべての対話をブロックします。

これに対する回避策はありますか?

注:-vオプション (verbose) を使用しても役に立ちません。また、 -j 1(一度に 1 つのジョブのみ)。

もう一つの例:

add_custom_target(dummy COMMAND cmd /c time)

と:

D:\build> ninja dummy
[1/1] cmd.exe /c cd D:\build && cmd /c time
FAILED: cmd.exe /c cd D:\build && cmd /c time
The current time is: 13:06:08.57
Enter the new time: ninja: build stopped: subcommand failed.

いくつかのヒント:
ninja-build > ビルド ルールからインタラクティブなアプリを起動する

4

2 に答える 2