浏览代码

Add documentation for the --graphviz support

This patch adds Modules/CMakeGraphVizOptions.cmake, which is used
only for generating documentation for the --graphviz support.

Alex
Alex Neundorf 12 年之前
父节点
当前提交
ee32673c7d
共有 2 个文件被更改,包括 73 次插入2 次删除
  1. 69 0
      Modules/CMakeGraphVizOptions.cmake
  2. 4 2
      Source/cmakemain.cxx

+ 69 - 0
Modules/CMakeGraphVizOptions.cmake

@@ -0,0 +1,69 @@
+##section Variables specific to the graphviz support
+##end
+##module
+# - The builtin graphviz support of CMake.
+# CMake can generate graphviz files, showing the dependencies between
+# the targets in a project and also external libraries which are linked
+# against.
+# When CMake is run with the --graphiz=foo option, it will produce
+#    * a foo.dot file showing all dependencies in the project
+#    * a foo.dot.<target> file for each target, file showing on which other targets the respective target depends
+#    * a foo.dot.<target>.dependers file, showing which other targets depend on the respective target
+#
+# This can result in huge graphs. Using the file CMakeGraphVizOptions.cmake
+# the look and content of the generated graphs can be influenced.
+# This file is searched first in ${CMAKE_BINARY_DIR} and then in
+# ${CMAKE_SOURCE_DIR}. If found, it is read and the variables set in it
+# are used to adjust options for the generated graphviz files.
+##end
+#
+##variable
+#  GRAPHVIZ_GRAPH_TYPE - The graph type
+#     Mandatory : NO
+#     Default   : "digraph"
+##end
+##variable
+#  GRAPHVIZ_GRAPH_NAME - The graph name.
+#     Mandatory : NO
+#     Default   : "GG"
+##end
+##variable
+#  GRAPHVIZ_GRAPH_HEADER - The header written at the top of the graphviz file.
+#     Mandatory : NO
+#     Default   : "node [n  fontsize = "12"];"
+##end
+##variable
+#  GRAPHVIZ_NODE_PREFIX - The prefix for each node in the graphviz file.
+#     Mandatory : NO
+#     Default   : "node"
+##end
+##variable
+#  GRAPHVIZ_EXECUTABLES - Set this to FALSE to exclude executables from the generated graphs.
+#     Mandatory : NO
+#     Default   : TRUE
+##end
+##variable
+#  GRAPHVIZ_STATIC_LIBS - Set this to FALSE to exclude static libraries from the generated graphs.
+#     Mandatory : NO
+#     Default   : TRUE
+##end
+##variable
+#  GRAPHVIZ_SHARED_LIBS - Set this to FALSE to exclude shared libraries from the generated graphs.
+#     Mandatory : NO
+#     Default   : TRUE
+##end
+##variable
+#  GRAPHVIZ_MODULE_LIBS - Set this to FALSE to exclude static libraries from the generated graphs.
+#     Mandatory : NO
+#     Default   : TRUE
+##end
+##variable
+#  GRAPHVIZ_EXTERNAL_LIBS - Set this to FALSE to exclude external libraries from the generated graphs.
+#     Mandatory : NO
+#     Default   : TRUE
+##end
+##variable
+#  GRAPHVIZ_IGNORE_TARGETS - A list of regular expressions for ignoring targets.
+#     Mandatory : NO
+#     Default   : empty
+##end

+ 4 - 2
Source/cmakemain.cxx

@@ -108,9 +108,11 @@ static const char * cmDocumentationOptions[][3] =
    "to stdout. This can be used to use cmake instead of pkg-config to find "
    "installed libraries in plain Makefile-based projects or in "
    "autoconf-based projects (via share/aclocal/cmake.m4)."},
-  {"--graphviz=[file]", "Generate graphviz of dependencies.",
+  {"--graphviz=[file]", "Generate graphviz of dependencies, see "
+   "CMakeGraphVizOptions.cmake for more.",
    "Generate a graphviz input file that will contain all the library and "
-   "executable dependencies in the project."},
+   "executable dependencies in the project. See the documentation for "
+   "CMakeGraphVizOptions.cmake for more details. "},
   {"--system-information [file]", "Dump information about this system.",
    "Dump a wide range of information about the current system. If run "
    "from the top of a binary tree for a CMake project it will dump "