0

如果我添加

add_custom_target(dummy COMMAND dir && sleep 2)

接着

ninja dummy

目录内容仅在休眠终止后才可视化。我知道这种机制有一个有价值的特性,即允许 Ninja 显示非常整洁/连续的输出,即使在并行执行多个作业时也是如此。

但是,在以下实际案例中这是一个问题:我的 realadd_custom_target会执行一个程序,该程序在某些时候会提示用户输入密码,但 Ninja 基本上会阻止任何交互。

有解决方法吗?

注意:使用-v选项(详细)没有帮助,而且-j 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

1

我从 Ninja 邮件列表中得到反馈。

关于这个主题有一个问题,还有一个补丁(虽然我不确定不缓存它是否也会允许交互;考虑到测试的结果time,可能不是):

问题补丁

于 2013-11-07T09:07:31.327 回答
0

这是忍者设计的一部分。

相关问题:0014544:从 ninja 输出中删除 edit_cache 目标

于 2013-11-05T19:25:22.477 回答