# -------------------------------------------------------------------------
# Doxygen documentation batch
# modified by S. Barre (Time-stamp: <2001-11-02 16:40:58 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 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: 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/$PROJECT_NAME-html.tar.gz

# ----------------------------------------------------------------------------
# Create the Doxygen doc.

if test "x$DOXYGEN_PROG" != "xNOTFOUND" ; then

    if test "x$RM_PROG" != "xNOTFOUND" ; then
        $RM_PROG -fr $OUTPUT_DIRECTORY
    fi

    $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
fi
