summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Barre <sebastien.barre@kitware.com>2002-02-13 18:28:16 -0500
committerSebastien Barre <sebastien.barre@kitware.com>2002-02-13 18:28:16 -0500
commitd8f1dba1e7fe591bd748d968e481e2ae7255c957 (patch)
tree798b18835866b0374688fcda57beb7d7b2beba39
parent6d6546ea7ec8b4ff7d11c6230fac18000e6106b1 (diff)
downloadcmake-d8f1dba1e7fe591bd748d968e481e2ae7255c957.tar.gz
ENH: Contribution graphs
-rw-r--r--Utilities/Doxygen/CMakeLists.txt6
-rw-r--r--Utilities/Doxygen/authors.txt17
-rwxr-xr-xUtilities/Doxygen/doc_makeall.sh.in102
-rw-r--r--Utilities/Doxygen/doxyfile.in5
4 files changed, 108 insertions, 22 deletions
diff --git a/Utilities/Doxygen/CMakeLists.txt b/Utilities/Doxygen/CMakeLists.txt
index b2f121adc1..113421ae69 100644
--- a/Utilities/Doxygen/CMakeLists.txt
+++ b/Utilities/Doxygen/CMakeLists.txt
@@ -5,6 +5,12 @@ INCLUDE (${CMAKE_ROOT}/Modules/Documentation.cmake OPTIONAL)
IF (BUILD_DOCUMENTATION)
+ INCLUDE (${CMAKE_ROOT}/Modules/FindVTK.cmake)
+
+ IF (USE_VTK_FILE)
+ INCLUDE (${USE_VTK_FILE})
+ ENDIF (USE_VTK_FILE)
+
#
# Configure the script and the doxyfile, then add target
#
diff --git a/Utilities/Doxygen/authors.txt b/Utilities/Doxygen/authors.txt
new file mode 100644
index 0000000000..9ba6ccac40
--- /dev/null
+++ b/Utilities/Doxygen/authors.txt
@@ -0,0 +1,17 @@
+andy: Cedilnik, Andy (andy.cedilnik@kitware.com)
+barre: Barre, Sebastien (sebastien.barre@kitware.com)
+berk: Geveci, Berk (berk.geveci@kitware.com)
+bettingf: Bettinger, Franck (bettingf@cs.man.ac.uk)
+biddi: Biddiscombe, John (jbiddiscombe@skippingmouse.co.uk)
+blezek: Blezek, Dan (blezek@crd.ge.com)
+geoff: Cross, Geoffrey (geoff@robots.ox.ac.uk)
+hoffman: Hoffman, Bill (bill.hoffman@kitware.com)
+ibanez: Ibanez, Luis (luis.ibanez@kitware.com)
+iscott: Scott, Ian (ian.m.scott@stud.man.ac.uk)
+king: King, Brad (brad.king@kitware.com)
+lorensen: Lorensen, Bill (lorensen@crd.ge.com)
+martink, lymbdemo: Martin, Ken (ken.martin@kitware.com)
+millerjv: Miller, Jim (millerjv@crd.ge.com)
+perera: Perera, Amitha (perera@cs.rpi.edu)
+starreveld: Starreveld, Yves (ystarrev@julian.uwo.ca)
+will, schroede: Schroeder, Will (will.schroeder@kitware.com)
diff --git a/Utilities/Doxygen/doc_makeall.sh.in b/Utilities/Doxygen/doc_makeall.sh.in
index 22295731bb..e9d3f2a0bb 100755
--- a/Utilities/Doxygen/doc_makeall.sh.in
+++ b/Utilities/Doxygen/doc_makeall.sh.in
@@ -1,6 +1,6 @@
# -------------------------------------------------------------------------
# Doxygen documentation batch
-# modified by S. Barre (Time-stamp: <2001-11-02 16:40:58 barre>
+# modified by S. Barre (Time-stamp: <2002-02-13 18:19:54 barre>
# -------------------------------------------------------------------------
# Path to several tools (_PROG to avoid the typical GZIP env var pb)
@@ -14,14 +14,15 @@
# TAR_PROG=@TAR@ (INCLUDE(${CMAKE_ROOT}/Modules/FindCygwin.cmake))
# WGET_PROG=@WGET@ (INCLUDE(${CMAKE_ROOT}/Modules/FindWget.cmake))
#
-export DOXYGEN_PROG=@DOXYGEN@ # Doxygen
-export GZIP_PROG=@GZIP@ # gzip (Unix-like 'gzip compressor')
-export HHC_PROG=@HHC@ # HTML Help Compiler
-export MV_PROG=@MV@ # mv (Unix-like 'move/rename files')
-export PERL_PROG=@PERL@ # Perl
-export RM_PROG=@RM@ # rm (Unix-like 'remove files')
-export TAR_PROG=@TAR@ # tar (Unix-like 'archiver')
-export WGET_PROG=@WGET@ # wget (remote file retrieval)
+export DOXYGEN_PROG="@DOXYGEN@" # Doxygen
+export GZIP_PROG="@GZIP@" # gzip (Unix-like 'gzip compressor')
+export GNUPLOT_PROG="@GNUPLOT@" # gnuplot (data plotting program)
+export HHC_PROG="@HHC@" # HTML Help Compiler
+export MV_PROG="@MV@" # mv (Unix-like 'move/rename files')
+export PERL_PROG="@PERL@" # Perl
+export RM_PROG="@RM@" # rm (Unix-like 'remove files')
+export TAR_PROG="@TAR@" # tar (Unix-like 'archiver')
+export WGET_PROG="@WGET@" # wget (remote file retrieval)
# PROJECT_NAME:
# Documentation/project name. Used in some of the resulting file names and
@@ -33,12 +34,21 @@ export WGET_PROG=@WGET@ # wget (remote file retrieval)
#
export PROJECT_NAME=CMake
+# PATH_TO_VTK_DOX_SCRIPTS:
+# Path to the directory holding the Perl scripts used to produce the VTK doc
+# in Doxygen format. You need the VTK source files or a local copy of
+# these scripts.
+# Example:
+# PATH_TO_VTK_DOX_SCRIPTS=@VTK_SOURCE_DIR@/Utilities/Doxygen
+#
+export PATH_TO_VTK_DOX_SCRIPTS="@VTK_SOURCE_DIR@/Utilities/Doxygen"
+
# SOURCE_DIR:
# Source directory. The top directory of the source files.
# Example:
# SOURCE_DIR=@VTK_SOURCE_DIR@
#
-export SOURCE_DIR=@CMAKE_SOURCE_DIR@
+export SOURCE_DIR="@CMAKE_SOURCE_DIR@"
# REL_PATH_TO_TOP:
# Relative path from the top directory of the source files to the directory
@@ -48,7 +58,8 @@ export SOURCE_DIR=@CMAKE_SOURCE_DIR@
# REL_PATH_TO_TOP=.
# REL_PATH_TO_TOP=framework/src
#
-export REL_PATH_TO_TOP=Source
+# export REL_PATH_TO_TOP=Source
+export REL_PATH_TO_TOP=.
# INTERMEDIATE_DOX_DIR:
# Directory where the intermediate Doxygen files should be stored (mainly
@@ -60,26 +71,26 @@ export REL_PATH_TO_TOP=Source
# DOXTEMP=DOXTEMP=@VTK_BINARY_DIR@/Utilities/Doxygen
# INTERMEDIATE_DOX_DIR=$DOXTEMP/dox
#
-export DOXTEMP=@CMAKE_BINARY_DIR@/Utilities/Doxygen
-export INTERMEDIATE_DOX_DIR=$DOXTEMP/dox
+export DOXTEMP="@CMAKE_BINARY_DIR@/Utilities/Doxygen"
+export INTERMEDIATE_DOX_DIR="$DOXTEMP/dox"
# DOXYFILE:
# Path to the Doxygen configuration file (i.e. doxyfile).
# Example:
# DOXYFILE=$DOXTEMP/doxyfile
#
-export DOXYFILE=$DOXTEMP/doxyfile
+export DOXYFILE="$DOXTEMP/doxyfile"
# OUTPUT_DIRECTORY ALLOW_ERASE_OUTPUT_DIRECTORY:
# Path to the Doxygen output directory (where the resulting doc is stored).
# Note: should be the same as your doxyfile's OUTPUT_DIRECTORY
# If ON, allows the output directory to be erased when some advanced output
-# file have been produced (HTML Help for example).
+# file have been produced (HTML Help, or TAR archive for example).
# Example:
# OUTPUT_DIRECTORY=$DOXTEMP/doc
# ALLOW_ERASE_OUTPUT_DIRECTORY=ON
#
-export OUTPUT_DIRECTORY=$DOXTEMP/doc
+export OUTPUT_DIRECTORY="$DOXTEMP/doc"
export ALLOW_ERASE_OUTPUT_DIRECTORY=ON
# COMPILE_HTML_HELP RESULTING_HTML_HELP_FILE:
@@ -96,10 +107,9 @@ export ALLOW_ERASE_OUTPUT_DIRECTORY=ON
# COMPILE_HTML_HELP=ON
# COMPILE_HTML_HELP=@DOCUMENTATION_HTML_HELP@
# RESULTING_HTML_HELP_FILE=$DOXTEMP/vtk4.chm
-# RESULTING_HTML_HELP_FILE=$DOXTEMP/$PROJECT_NAME.chm
#
export COMPILE_HTML_HELP=@DOCUMENTATION_HTML_HELP@
-export RESULTING_HTML_HELP_FILE=$DOXTEMP/$PROJECT_NAME.chm
+export RESULTING_HTML_HELP_FILE="$DOXTEMP/$PROJECT_NAME.chm"
# CREATE_HTML_TARZ_ARCHIVE RESULTING_HTML_TARZ_ARCHIVE_FILE:
# Create a compressed (gzip) tar archive of the html directory (located
@@ -113,7 +123,44 @@ export RESULTING_HTML_HELP_FILE=$DOXTEMP/$PROJECT_NAME.chm
# RESULTING_HTML_TARZ_ARCHIVE_FILE=$DOXTEMP/$PROJECT_NAME-html.tar.gz
#
export CREATE_HTML_TARZ_ARCHIVE=@DOCUMENTATION_HTML_TARZ@
-export RESULTING_HTML_TARZ_ARCHIVE_FILE=$DOXTEMP/$PROJECT_NAME-html.tar.gz
+export RESULTING_HTML_TARZ_ARCHIVE_FILE="$DOXTEMP/$PROJECT_NAME-html.tar.gz"
+
+# ----------------------------------------------------------------------------
+# Build the contributors list.
+
+if test "x@VTK_SOURCE_DIR@" != "x" ; then
+ if test "x$PERL_PROG" != "xNOTFOUND" ; then
+ $PERL_PROG "$PATH_TO_VTK_DOX_SCRIPTS/doc_contributors.pl" \
+ --authors "$SOURCE_DIR/Utilities/Doxygen/authors.txt" \
+ --cachedir "$DOXTEMP/cache" \
+ --class_group '^(cm[A-Z0-9][A-Za-z0-9]+)\.(?:c|cpp|cxx|h|fl)$' \
+ --files_in '(?:^hints|dummy|README|^Makefile\.borland|\.(?:c|cmake|cpp|cxx|h|html|in|java|fl|pl|py|tcl|txt))$' \
+ --files_out '(?:^ChangeLog\.txt)$' \
+ --gnuplot_file "$DOXTEMP/contrib/history.plt" \
+ --history_img "|lines|$DOXTEMP/contrib/history.png" \
+ --history_img "365|lines|$DOXTEMP/contrib/history2y.png" \
+ --history_img "180|linespoints|$DOXTEMP/contrib/history6m.png" \
+ --history_dir "$DOXTEMP/contrib" \
+ --history_max_nb 10 \
+ --lines_add 1.0 \
+ --lines_rem 0.5 \
+ --massive 50 \
+ --max_class_nb 10 \
+ --max_file_nb 5 \
+ --min_class 0.02 \
+ --min_file 0.01 \
+ --min_contrib 0.05 \
+ --min_gcontrib 0.0001 \
+ --store "doc_""$PROJECT_NAME""_contributors.dox" \
+ --relativeto "$SOURCE_DIR/$REL_PATH_TO_TOP" \
+ --to "$INTERMEDIATE_DOX_DIR" \
+ "$SOURCE_DIR/$REL_PATH_TO_TOP"
+ fi
+
+ if test "x$GNUPLOT_PROG" != "xNOTFOUND" ; then
+ $GNUPLOT_PROG $DOXTEMP/contrib/history.plt
+ fi
+fi
# ----------------------------------------------------------------------------
# Create the Doxygen doc.
@@ -124,10 +171,24 @@ if test "x$DOXYGEN_PROG" != "xNOTFOUND" ; then
$RM_PROG -fr $OUTPUT_DIRECTORY
fi
- $DOXYGEN_PROG $DOXYFILE
+ $DOXYGEN_PROG "$DOXYFILE"
fi
# ----------------------------------------------------------------------------
+# Clean the HTML pages to remove the path to the intermediate Doxygen dir.
+
+if test "x@VTK_SOURCE_DIR@" != "x" ; then
+ if test "x$PERL_PROG" != "xNOTFOUND" ; then
+ $PERL_PROG $PATH_TO_VTK_DOX_SCRIPTS/doc_rmpath.pl \
+ --verbose \
+ --to "$INTERMEDIATE_DOX_DIR" \
+ --html "$OUTPUT_DIRECTORY/html"
+ fi
+fi
+
+exit 0;
+
+# ----------------------------------------------------------------------------
# Create the CHM HTML HELP doc.
if test "x$COMPILE_HTML_HELP" == "xON" ; then
@@ -168,6 +229,7 @@ fi
# Clean-up.
if test "x$RM_PROG" != "xNOTFOUND" ; then
+ $RM_PROG -fr $INTERMEDIATE_DOX_DIR
if test "x$DOWNLOAD_VTK_TAGFILE" == "xON" ; then
if test "x$VTK_TAGFILE" != "x" ; then
diff --git a/Utilities/Doxygen/doxyfile.in b/Utilities/Doxygen/doxyfile.in
index c7d5c9fa6a..0e1f5fb560 100644
--- a/Utilities/Doxygen/doxyfile.in
+++ b/Utilities/Doxygen/doxyfile.in
@@ -1,6 +1,6 @@
# -------------------------------------------------------------------------
# doxyfile for CMake
-# modified by S. Barre (Time-stamp: <2001-11-02 15:30:58 barre>
+# modified by S. Barre (Time-stamp: <2002-02-13 18:24:35 barre>
# -------------------------------------------------------------------------
PROJECT_NAME = CMake
@@ -31,12 +31,13 @@ GRAPHICAL_HIERARCHY = YES
ALLEXTERNALS = NO
-IMAGE_PATH =
+IMAGE_PATH = "@CMAKE_BINARY_DIR@/Utilities/Doxygen/contrib"
OUTPUT_DIRECTORY = "@CMAKE_BINARY_DIR@/Utilities/Doxygen/doc"
INPUT = \
"@CMAKE_SOURCE_DIR@/Source" \
+ "@CMAKE_BINARY_DIR@/Utilities/Doxygen/dox/doc_CMake_contributors.dox" \
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO