Sebastien Barre 24 роки тому
батько
коміт
bc673070bc

+ 1 - 0
Utilities/CMakeLists.txt

@@ -0,0 +1 @@
+SUBDIRS(Doxygen)

+ 23 - 0
Utilities/Doxygen/CMakeLists.txt

@@ -0,0 +1,23 @@
+#
+# Build the documentation
+#
+INCLUDE (${CMAKE_ROOT}/Modules/DocumentationVTK.cmake OPTIONAL)
+
+IF (BUILD_DOCUMENTATION)
+
+  #
+  # Configure the script and the doxyfile, then add target
+  #
+  CONFIGURE_FILE(
+    ${CMAKE_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
+    ${CMAKE_BINARY_DIR}/Utilities/Doxygen/doxyfile)
+
+  CONFIGURE_FILE(
+    ${CMAKE_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.sh.in
+    ${CMAKE_BINARY_DIR}/Utilities/Doxygen/doc_makeall.sh)
+
+  ADD_CUSTOM_TARGET(DoxygenDoc
+    ${BASH}
+    ${CMAKE_BINARY_DIR}/Utilities/Doxygen/doc_makeall.sh)
+
+ENDIF (BUILD_DOCUMENTATION)

+ 192 - 0
Utilities/Doxygen/doc_makeall.sh.in

@@ -0,0 +1,192 @@
+# -------------------------------------------------------------------------
+# Doxygen documentation batch
+# modified by S. Barre (Time-stamp: <2001-11-02 15:58:40 barre>
+# -------------------------------------------------------------------------
+
+# Path to several tools (_PROG to avoid the typical GZIP env var pb)
+# Example: 
+#   DOXYGEN_PROG=@DOXYGEN@   (INCLUDE(${CMAKE_ROOT}/Modules/FindDoxygen.cmake))
+#   GZIP_PROG=@GZIP@         (INCLUDE(${CMAKE_ROOT}/Modules/FindCygwin.cmake))
+#   HHC_PROG=@HHC@           (INCLUDE(${CMAKE_ROOT}/Modules/FindHhc.cmake))
+#   MV_PROG=@MV@             (INCLUDE(${CMAKE_ROOT}/Modules/FindCygwin.cmake))
+#   PERL_PROG=@PERL@         (INCLUDE(${CMAKE_ROOT}/Modules/FindPerl.cmake))
+#   RM_PROG=@RM@             (INCLUDE(${CMAKE_ROOT}/Modules/FindCygwin.cmake))
+#   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)
+
+# PROJECT_NAME:
+# Documentation/project name. Used in some of the resulting file names and
+# xrefs to uniquify two or more projects linked together through their 
+# Doxygen's tag files. Mandatory for each documentation set.
+# Note: might be the same as the doxyfile's PROJECT_NAME
+# Example: 
+#   PROJECT_NAME=VTK
+#
+export PROJECT_NAME=CMake
+
+# SOURCE_DIR:
+# Source directory. The top directory of the source files.
+# Example: 
+#   SOURCE_DIR=@VTK_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
+# (or top directory) holding the files to document. Useful if several parts
+# of the same source directory should be documented separately.
+# Example: 
+#   REL_PATH_TO_TOP=.
+#   REL_PATH_TO_TOP=framework/src
+#
+export REL_PATH_TO_TOP=Source
+
+# INTERMEDIATE_DOX_DIR:
+# Directory where the intermediate Doxygen files should be stored (mainly
+# these headers files converted from the VTK format to the Doxygen format).
+# This directory is erased at the end of this script, unless you comment
+# the corresponding line.
+# DOXTEMP might be used to simplify the syntax.
+# Example: 
+#   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
+
+# DOXYFILE:
+# Path to the Doxygen configuration file (i.e. doxyfile).
+# Example: 
+#   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, or TAR archive for example).
+# Example: 
+#   OUTPUT_DIRECTORY=$DOXTEMP/doc
+#   ALLOW_ERASE_OUTPUT_DIRECTORY=ON
+#
+export OUTPUT_DIRECTORY=$DOXTEMP/doc
+export ALLOW_ERASE_OUTPUT_DIRECTORY=ON
+
+# COMPILE_HTML_HELP RESULTING_HTML_HELP_FILE:
+# Compile the CHM (Compressed HTML) HTML Help file, name of the resulting 
+# file. If set to ON and name is non-empty these options will actually 
+# trigger the HTML-Help compiler to create the CHM. The resulting
+# file (usually index.chm) will be renamed to this name.
+# Note: if ON, the whole $OUTPUT_DIRECTORY will be erased at the end of
+#       this script, since this file is considered to be one of the 
+#       advanced final output, unless ALLOW_ERASE_OUTPUT_DIRECTORY is OFF
+# Note: your doxyfile should be configured to enable HTML Help creation 
+#       (using GENERATE_HTML = YES, GENERATE_HTMLHELP = YES)
+# Example: 
+#   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
+
+# CREATE_HTML_TARZ_ARCHIVE RESULTING_HTML_TARZ_ARCHIVE_FILE:
+# Create a compressed (gzip) tar archive of the html directory (located
+# under the OUTPUT_DIRECTORY), and name of the resulting archive file. 
+# Note: if ON, the whole $OUTPUT_DIRECTORY will be erased at the end of
+#       this script, since this file is considered to be one of the 
+#       advanced final output, unless ALLOW_ERASE_OUTPUT_DIRECTORY is OFF
+# Note: your doxyfile should be configured to enable HTML creation 
+#       (using GENERATE_HTML = YES)
+# Example: 
+#   CREATE_HTML_TARZ_ARCHIVE=ON
+#   CREATE_HTML_TARZ_ARCHIVE=@DOCUMENTATION_HTML_TARZ@
+#   RESULTING_HTML_TARZ_ARCHIVE_FILE=$DOXTEMP/vtk4-html.tar.gz
+#   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/vtk4-html.tar.gz
+export RESULTING_HTML_TARZ_ARCHIVE_FILE=$DOXTEMP/$PROJECT_NAME-html.tar.gz
+
+# ----------------------------------------------------------------------------
+# Create the Doxygen doc.
+
+if test "x$DOXYGEN_PROG" != "xNOTFOUND" ; then
+    $DOXYGEN_PROG $DOXYFILE
+fi
+
+# ----------------------------------------------------------------------------
+# Create the CHM HTML HELP doc.
+
+if test "x$COMPILE_HTML_HELP" == "xON" ; then
+    if test "x$RESULTING_HTML_HELP_FILE" != "x" ; then
+        cd $OUTPUT_DIRECTORY/html
+        if test "x$HHC_PROG" != "xNOTFOUND" ; then
+            $HHC_PROG index.hhp
+            if test "x$MV_PROG" != "xNOTFOUND" ; then
+                $MV_PROG -f index.chm $RESULTING_HTML_HELP_FILE
+            fi
+       fi
+   fi
+fi
+
+# ----------------------------------------------------------------------------
+# Create the compressed tar archive.
+
+if test "x$CREATE_HTML_TARZ_ARCHIVE" == "xON" ; then
+    if test "x$RESULTING_HTML_TARZ_ARCHIVE_FILE" != "x" ; then
+        cd $OUTPUT_DIRECTORY
+        if test "x$TAR_PROG" != "xNOTFOUND" ; then
+            if test "x$RM_PROG" != "xNOTFOUND" ; then
+                $RM_PROG -f html.tar
+            fi
+            $TAR_PROG -cf html.tar html
+            if test "x$GZIP_PROG" != "xNOTFOUND" ; then
+                if test "x$RM_PROG" != "xNOTFOUND" ; then
+                    $RM_PROG -f html.tar.gz
+                fi
+                $GZIP_PROG html.tar
+                $MV_PROG -f html.tar.gz $RESULTING_HTML_TARZ_ARCHIVE_FILE
+            fi
+       fi
+   fi
+fi
+
+# ----------------------------------------------------------------------------
+# Clean-up.
+
+if test "x$RM_PROG" != "xNOTFOUND" ; then
+
+    if test "x$DOWNLOAD_VTK_TAGFILE" == "xON" ; then
+        if test "x$VTK_TAGFILE" != "x" ; then
+            $RM_PROG -f $VTK_TAGFILE_DEST_DIR/$VTK_TAGFILE
+        fi
+    fi
+
+    if test "x$COMPILE_HTML_HELP" == "xON" ; then
+        if test "x$RESULTING_HTML_HELP_FILE" != "x" ; then
+            if test "x$ALLOW_ERASE_OUTPUT_DIRECTORY" == "xON" ; then
+                $RM_PROG -fr $OUTPUT_DIRECTORY
+            fi
+        fi
+    fi
+
+    if test "x$CREATE_HTML_TARZ_ARCHIVE" == "xON" ; then
+        if test "x$RESULTING_HTML_TARZ_ARCHIVE_FILE" != "x" ; then
+            if test "x$ALLOW_ERASE_OUTPUT_DIRECTORY" == "xON" ; then
+                $RM_PROG -fr $OUTPUT_DIRECTORY
+            fi
+        fi
+    fi
+fi

+ 70 - 0
Utilities/Doxygen/doxyfile.in

@@ -0,0 +1,70 @@
+# -------------------------------------------------------------------------
+# doxyfile for CMake
+# modified by S. Barre (Time-stamp: <2001-11-02 15:30:58 barre>
+# -------------------------------------------------------------------------
+
+PROJECT_NAME         = CMake
+
+FULL_PATH_NAMES      = YES
+WARN_IF_UNDOCUMENTED = NO
+
+GENERATE_TREEVIEW    = NO
+GENERATE_TODOLIST    = YES
+GENERATE_BUGLIST     = YES
+GENERATE_HTML        = YES
+GENERATE_HTMLHELP    = YES
+GENERATE_LATEX       = NO
+GENERATE_MAN         = NO
+GENERATE_RTF         = NO
+
+HAVE_DOT             = YES
+#HAVE_DOT            = NO
+DOT_PATH             = "@DOT_PATH@"
+CLASS_GRAPH          = YES
+COLLABORATION_GRAPH  = YES
+TEMPLATE_RELATIONS   = YES
+INCLUDE_GRAPH        = YES
+INCLUDED_BY_GRAPH    = YES
+CLASS_DIAGRAMS       = YES
+GENERATE_LEGEND      = YES
+GRAPHICAL_HIERARCHY  = YES
+
+ALLEXTERNALS         = NO
+
+IMAGE_PATH           = 
+
+OUTPUT_DIRECTORY     = "@CMAKE_BINARY_DIR@/Utilities/Doxygen/doc"
+
+INPUT                = \
+ "@CMAKE_SOURCE_DIR@/Source" \
+
+EXTRACT_ALL          = YES
+EXTRACT_PRIVATE      = NO
+EXTRACT_STATIC       = YES
+HIDE_UNDOC_MEMBERS   = NO
+HIDE_UNDOC_CLASSES   = YES
+ALWAYS_DETAILED_SEC  = NO
+SOURCE_BROWSER       = YES
+INLINE_SOURCES       = NO
+CASE_SENSE_NAMES     = YES
+VERBATIM_HEADERS     = NO
+SHOW_INCLUDE_FILES   = YES
+JAVADOC_AUTOBRIEF    = YES
+SORT_MEMBER_DOCS     = NO
+DISTRIBUTE_GROUP_DOC = YES
+TAB_SIZE             = 3
+
+FILE_PATTERNS        = *.h
+RECURSIVE            = NO
+EXCLUDE_PATTERNS     =
+
+HTML_ALIGN_MEMBERS   = YES
+ALPHABETICAL_INDEX   = YES
+COLS_IN_ALPHA_INDEX  = 3
+IGNORE_PREFIX        = cm
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION      = YES
+SEARCH_INCLUDES      = YES
+INCLUDE_PATH         =
+EXPAND_ONLY_PREDEF   = YES