【问题标题】:CMake graphviz auto generatedCMake graphviz 自动生成
【发布时间】:2019-06-13 22:28:52
【问题描述】:

我知道通过 CLI 生成 CMake 项目依赖关系图的常用方法:

cmake --graphviz=[file]

但是有没有办法通过在 CMakeList 中设置标志或命令来自动生成它?这个想法是 CMakeLists.txt 本身触发图形生成,而不是用户通过命令行触发。

【问题讨论】:

    标签: graph cmake dependencies graphviz


    【解决方案1】:

    您可以再次在脚本中调用 CMake,例如喜欢:

    add_custom_target(graphviz ALL
                      "${CMAKE_COMMAND}" "--graphviz=foo" .
                      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}")
    

    【讨论】:

      【解决方案2】:

      您不仅可以创建用于运行 Graphviz 的 CMake 自定义目标,还可以更进一步,让它还使用 Dot 为您生成图像文件:

      add_custom_target(graphviz ALL
          COMMAND ${CMAKE_COMMAND} "--graphviz=foo.dot" .
          COMMAND dot -Tpng foo.dot -o foo.png
          WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
      )
      

      这样,自定义目标也会运行第二个命令dot -Tpng foo.dot -o foo.png。您可以通过在foo.png 前面加上您选择的路径来在系统上的任何位置输出图像文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-01
        • 1970-01-01
        相关资源
        最近更新 更多