【发布时间】:2018-04-28 05:41:11
【问题描述】:
在基于 cmake 的项目 (C/C++) 中,如果源文件发生更改,我想要一种方法来转储受影响目标的列表(包括传递依赖项)。
我正在考虑:
- 生成源到 .o 映射 => 使用 -GNinja 生成构建文件并解析 CMakeFiles/.dir/.o.d 文件
- 生成 --graphviz 选项的可解析输出 => 尚无解决方案
- 找出一种方法来处理使用 add_dependencies() 添加到自定义目标的依赖项 => 尚无解决方案
实现这一目标的最佳方法是什么?
【问题讨论】:
-
也许您可以使用试运行并从中提取信息? -n 是 Ninja 和 Make 的标志。
-
解析 make 输出会有点笨拙。它的输出取决于 make 是否已经运行。由于 cmake 有目标和依赖信息,我希望有一个更干净的 cmake 特定解决方案。
-
Ninja 的查询选项非常适合我的目的,谢谢。
标签: cmake