除翻译单元编译失败外,还报告目标失败

时间:2015-11-13 12:18:33

标签: cmake makefile ninja

假设我有数百个目标,其中一些对于构建成功并不重要(例如我在make上使用--keep-going或在忍者上使用-k 9000)我需要弄清楚哪个cmake目标失败。

使用add_custom_command()可以将一个构建后的命令添加到cmake目标,该目标打印出如下名称:

success: myTarget.dll

但是失败呢?

如果链接失败,那么我可以解析我正在使用的任何内容的详细输出(ninja / make / msbuild)并查看哪个目标失败。

但是,如果翻译单元的编译失败,我得到的唯一错误是特定的源文件无法编译并确定哪个cmake目标确实失败了更难。

我唯一想到的就是在构建失败后运行它:ninja -nv这将进行详细的干运行,我可以拦截链接命令并解析那些失败的cmake目标。 ..

还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

我最终使用make / ninja的干运行并解析它们的输出