CMake的--graphviz
选项是否应该依赖于自定义目标?
示例CMakeLists.txt
文件:
cmake_minimum_required(VERSION 2.8)
add_executable(target0 test.cpp)
add_dependencies(target0 target1)
add_custom_target(target1 ALL
COMMAND echo hello
)
“cmake --graphviz = test.dot”的输出文件。将是:
digraph GG {
node [
fontsize = "12"
];
"node3" [ label="target0" shape="house"];
}
没有target1
的痕迹。
答案 0 :(得分:3)
CMake manual明确指出:
<强> - graphviz的= [文件] 强>
生成graphviz输入文件,该文件将包含项目中的所有库和可执行依赖项。有关详细信息,请参阅CMakeGraphVizOptions.cmake的文档。
因此,据我所知,您的自定义目标既不是 - 也不是库,也不是可执行文件可以包含在结果图中。
答案 1 :(得分:2)
有些人可能会偶然发现这个问题。
现在可以使用CMake 3.17自定义目标了
https://cmake.org/cmake/help/v3.17/module/CMakeGraphVizOptions.html(相关问题17960)
GRAPHVIZ_CUSTOM_TARGETS
设置为TRUE可在生成的图形中包含自定义目标。
必填:否
默认值:FALSEGRAPHVIZ_IGNORE_TARGETS
要从生成的图形中排除的目标名称的正则表达式列表。
必填:否
默认值:空