CMake graphviz自动生成

时间:2017-03-03 11:06:16

标签: graph cmake dependencies graphviz

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

cmake --graphviz=[file]

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

不仅可以创建用于运行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前面加上自己选择的路径来在系统上的任何位置输出图像文件。