然而,有一点问题-我使用cmake来构建项目,它允许我自动构建这些,但是当我看到事物的“依赖性”方面时,问题就来了-也就是说,因为cmake不知道我的脚本正在解析代码(以及头文件),因此输出依赖于脚本,即C文件,以及它导入的头文件和它们导入的头文件,等等
我已经找到了如何让gcc给我一个给定文件的当前依赖关系树,但是我意识到在与cmake集成时有一个问题-即,一旦我声明了生成文件的依赖关系,cmake就不会自动重新检查依赖关系列表是否已更改。因此,如果C文件开发人员在某处添加了一个新的include语句,它将重新编译一次,但不会重新编译对新头的更改
例如:
起初
A.c ----includes----> B.h
编译
然后A被修改为
A.c ----includes----> B.h
|
└---> C.h
但是将来对C.h的更改不会导致脚本重新运行,因为cmake的输出依赖关系视图已经过时
有没有办法在cmake中解决这个问题
< P>可选的,是否有一种支持的方式从源代码中获得C/C++元数据,而这些代码是我不知道的CMADE支持的?p>谢谢
我有一个想法-我可以让脚本将依赖项列表转储为生成导入的.cmake文件-这将在每次更改依赖项时触发cmake重新运行,从而使依赖项信息保持最新
有人看到这个有问题吗
相关问题 更多 >
编程相关推荐