summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Neundorf <neundorf@kde.org>2013-07-26 20:43:42 (GMT)
committerAlex Neundorf <neundorf@kde.org>2013-07-26 20:43:42 (GMT)
commitee32673c7d39ec21788b46d6dc0200565096977f (patch)
tree6a41a828422351d7d7400e9dcdfc8b0b23f390dd
parent87402c995ed2460deb2f39e02acf77a0bb57f263 (diff)
downloadCMake-ee32673c7d39ec21788b46d6dc0200565096977f.zip
CMake-ee32673c7d39ec21788b46d6dc0200565096977f.tar.gz
CMake-ee32673c7d39ec21788b46d6dc0200565096977f.tar.bz2
Add documentation for the --graphviz support
This patch adds Modules/CMakeGraphVizOptions.cmake, which is used only for generating documentation for the --graphviz support. Alex
-rw-r--r--Modules/CMakeGraphVizOptions.cmake69
-rw-r--r--Source/cmakemain.cxx6
2 files changed, 73 insertions, 2 deletions
diff --git a/Modules/CMakeGraphVizOptions.cmake b/Modules/CMakeGraphVizOptions.cmake
new file mode 100644
index 0000000..d07acef
--- /dev/null
+++ b/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
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index 77a5e43..f3553f1 100644
--- a/Source/cmakemain.cxx
+++ b/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 "