假设我有数百个目标,其中一些对于构建成功并不重要(例如我在make上使用--keep-going
或在忍者上使用-k 9000
)我需要弄清楚哪个cmake目标失败。
使用add_custom_command()
可以将一个构建后的命令添加到cmake目标,该目标打印出如下名称:
success: myTarget.dll
但是失败呢?
如果链接失败,那么我可以解析我正在使用的任何内容的详细输出(ninja / make / msbuild)并查看哪个目标失败。
但是,如果翻译单元的编译失败,我得到的唯一错误是特定的源文件无法编译并确定哪个cmake目标确实失败了更难。
我唯一想到的就是在构建失败后运行它:ninja -nv
这将进行详细的干运行,我可以拦截链接命令并解析那些失败的cmake目标。 ..
还有其他想法吗?
答案 0 :(得分:0)
我最终使用make / ninja的干运行并解析它们的输出