diff --git a/Utilities/Doxygen/CMakeLists.txt b/Utilities/Doxygen/CMakeLists.txt index b2f121adc..113421ae6 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 000000000..9ba6ccac4 --- /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 22295731b..e9d3f2a0b 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,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 diff --git a/Utilities/Doxygen/doxyfile.in b/Utilities/Doxygen/doxyfile.in index c7d5c9fa6..0e1f5fb56 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