Debugging 如何生成仅在失败时才详细的生成

Debugging 如何生成仅在失败时才详细的生成,debugging,makefile,cmake,output,Debugging,Makefile,Cmake,Output,有许多方法可以使用cmake生成详细的make命令。 这已经在很多地方发生了。(基本上是cmake;make VERBOSE=1或设置cmake\u VERBOSE\u MAKEFILE变量) 此处的详细说明是指显示调用的命令以及有关make所采取步骤的其他信息 这似乎是一个全有或全无的设置。 要么看到所有命令,要么不看到任何命令, 不管命令是否成功 一个相关的工具,ctest(用于测试)有一个非常有用的选项——失败时的输出,其详细程度取决于特定测试是否成功; 仅显示失败测试的屏幕 问题在于cm

有许多方法可以使用
cmake
生成详细的
make
命令。 这已经在很多地方发生了。(基本上是
cmake;make VERBOSE=1
或设置
cmake\u VERBOSE\u MAKEFILE
变量)

此处的详细说明是指显示调用的命令以及有关
make
所采取步骤的其他信息

这似乎是一个全有或全无的设置。 要么看到所有命令,要么不看到任何命令, 不管命令是否成功

一个相关的工具,
ctest
(用于测试)有一个非常有用的选项
——失败时的输出
,其详细程度取决于特定测试是否成功; 仅显示失败测试的屏幕

问题在于
cmake
是否具有类似的功能,只提供故障细节。 也就是说,在大多数情况下,我不想看到
make
编译命令,但当它失败时,我想看看在显示所有选项时失败的确切命令是什么。

也就是说,问题是是否有一些设置或命令行选项用于
make
cmake
,在构建步骤中,这些设置或命令行选项将仅针对失败的命令打印完整发出的命令(和输出)

当然,原因是它提供了查看失败步骤的实际编译标志的机会,并允许有时以交互方式复制确切的命令


(我使用C++,但问题是一般的我认为)

< p>这不是一个答案,因为你只提到了<>代码> < /C> >,但是你要问的是默认行为。它只输出失败的命令。

这不完全是一个答案,因为您只提到了
make
,但您要求的是的默认行为。它只输出失败的命令。

这是调查忍者的好理由。这是调查忍者的好理由。