cmake - 如何调试 CMake 自定义命令依赖项的问题
问题描述
我正在尝试调试 CMake 中自定义命令中的依赖关系问题。我的依赖结构基本上看起来像(使用 GraphViz 表示法):
A -> B
{A; B} -> C -> D -> E
其中 C 和 E 是add_custom_target
, A、B 和 D 是add_custom_command
。CMake 正确地推断出 C 和 E 之间的目标级别依赖关系,但是在项目的第一次构建中,B 没有作为目标 C 的一部分构建。结果 E 失败(因为它需要 B 存在)。但是在第二次构建中,B 作为 C 的一部分生成,并且一切正常。
目前,我什至不知道如何调试它,尤其是在项目文件相当不透明的 Visual Studio 中。我可以看到在任何给定的构建中构建了什么,但是对于没有构建的东西,我看不出它们为什么没有被构建。CMake 中可用的调试方法(如--trace
)似乎仅对配置时问题有用,但事实并非如此。
是否有任何工具可以调试这些事情,或者我只需要盯着我的 CMake 文件,直到我弄清楚这一点?
对于后代,下面有关于我的问题的更多具体细节,但如果我能找到任何合理的方法,我很乐意自己调试它:https ://github.com/zdevito/terra/pull/322#issuecomment -441084534
解决方案
推荐阅读
- azure - 无法让 Azure DevOps 识别和运行我的 NUnit 测试
- stm32 - stm32 spi 在上升沿写入并在下降沿读取,可能吗?
- android - 停止媒体播放器后Android再次播放不炒锅
- php - 无法回显来自 MYSQL 数据库的数据
- ruby-on-rails - 生成要使用的订单号而不是 ID
- matlab - 如何使用编辑工具在 MATLAB R2014a 中旋转 X 标签?
- javascript - XMLHttpRequest中responseText的限制
- reactjs - 如何在 ReactJs 中的 onClick 事件上回调函数
- asp.net-mvc - 所有项目文件显示为杂项文件。视觉工作室 2017
- influxdb - 将 influxdb 数据建模为标签和字段