代码之家  ›  专栏  ›  技术社区  ›  Elliott Slaughter

如何调试CMake自定义命令依赖项的问题

  •  1
  • Elliott Slaughter  · 技术社区  · 7 年前

    我正在调试CMake中自定义命令中的依赖项问题。我的依赖结构基本上看起来像(使用GraphViz表示法):

    A -> B
    {A; B} -> C -> D -> E
    

    C和E在哪里 add_custom_target add_custom_command . CMASE正确地推断C和E之间的目标级依赖性,但是在项目的第一个构建中,B没有被构建为目标C的一部分,因此E失败(因为它需要B存在)。但是在 第二 build,B作为C的一部分生成,一切正常。

    目前,我甚至不知道如何调试它,特别是在Visual Studio中,项目文件相当不透明。我可以看到在任何给定的构建中构建了什么,但是对于那些没有构建的东西,我看不出它们为什么没有被构建。CMake中可用的调试方法(如 --trace )似乎只对配置时间问题有用,而这不是。

    有没有什么工具可以调试这些东西,或者我只需要盯着我的CMake文件,直到找到答案?

    对于后人来说,下面有关于我的问题的更具体的细节,但是如果我能找到任何合理的方法,我很乐意自己调试: https://github.com/zdevito/terra/pull/322#issuecomment-441084534

    0 回复  |  直到 7 年前
    推荐文章