前端之家收集整理的这篇文章主要介绍了
如何从CMake或make输出编译依赖关系?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个
快速增长和经常变化的CMake C项目.我试图将编译时间减少到最小.
通常,当我重建项目时,特别是在头文件更改后,我很惊讶需要重新编译多少个编译单元.我正在尝试识别可以避免的#include,例如通过使用预声明或不在标题中内联琐碎的函数.
有没有办法找出,从CMake本身,从生成的Makefile,或直接从文件本身,哪些单位取决于哪个标题?
一个列表会很好,一个视觉图(graphviz?)甚至更好. Google对我来说没什么. CMake具有–graphviz选项,但它运行在目标上,而不是单个编译单元.
跨平台(即仅使用CMake)是首选,但我也只适用于Linux.
当我使用基于gcc的工具链时,我发现由cmake2.8
生成的依赖关系信息(在运行make之后)生活在depend.make和depend.internal
文件中.使用VS似乎没有
生成这样的
文件(但这似乎不是一个问题).这些
文件也是cmake内部的,所以使用它们自己承担风险.
原文链接:https://www.f2er.com/javaschema/281956.html