浏览代码

ENH: Contribution graphs

Sebastien Barre 24 年之前
父节点
当前提交
d8f1dba1e7
共有 4 个文件被更改,包括 108 次插入22 次删除
  1. 6 0
      Utilities/Doxygen/CMakeLists.txt
  2. 17 0
      Utilities/Doxygen/authors.txt
  3. 82 20
      Utilities/Doxygen/doc_makeall.sh.in
  4. 3 2
      Utilities/Doxygen/doxyfile.in

+ 6 - 0
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
   #

+ 17 - 0
Utilities/Doxygen/authors.txt

@@ -0,0 +1,17 @@
+andy: Cedilnik, Andy ([email protected])
+barre: Barre, Sebastien ([email protected])
+berk: Geveci, Berk ([email protected])
+bettingf: Bettinger, Franck ([email protected])
+biddi: Biddiscombe, John ([email protected])
+blezek: Blezek, Dan ([email protected])
+geoff: Cross, Geoffrey ([email protected])
+hoffman: Hoffman, Bill ([email protected])
+ibanez: Ibanez, Luis ([email protected])
+iscott: Scott, Ian ([email protected])
+king: King, Brad ([email protected])
+lorensen: Lorensen, Bill ([email protected])
+martink, lymbdemo: Martin, Ken ([email protected])
+millerjv: Miller, Jim ([email protected])
+perera: Perera, Amitha ([email protected])
+starreveld: Starreveld, Yves ([email protected])
+will, schroede: Schroeder, Will ([email protected])

+ 82 - 20
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,9 +171,23 @@ 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.
 
@@ -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

+ 3 - 2
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