1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321
|
# -------------------------------------------------------------------------
# Doxygen documentation batch
# modified by S. Barre (Time-stamp: <2005-06-17 15:12:59 barre>
# -------------------------------------------------------------------------
# Path to several tools (_PROG to avoid the typical GZIP env var pb)
# Example:
# DOXYGEN_PROG=@DOXYGEN@ (INCLUDE(FindDoxygen.cmake))
# GZIP_PROG=@GZIP@ (INCLUDE(FindCygwin.cmake))
# HHC_PROG=@HTML_HELP_COMPILER@ (INCLUDE(FindHTMLHelp.cmake))
# MV_PROG=@MV@ (INCLUDE(FindCygwin.cmake))
# PERL_PROG=@PERL@ (INCLUDE(FindPerl.cmake))
# RM_PROG=@RM@ (INCLUDE(FindCygwin.cmake))
# TAR_PROG=@TAR@ (INCLUDE(FindCygwin.cmake))
# WGET_PROG=@WGET@ (INCLUDE(FindWget.cmake))
#
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="@HTML_HELP_COMPILER@" # HTML Help Compiler
export MV_PROG="@MV@" # mv (Unix-like 'move/rename files')
export CP_PROG="@CP@" # 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=@DOXYGEN_PROJECT_NAME@
# 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=@CMAKE_CURRENT_SOURCE_DIR@
#
export PATH_TO_VTK_DOX_SCRIPTS=/usr/share/vtk9/doxygen/
export PATH_TO_VTKGDCM_FINAL_PATH="@VTKGDCM_FINAL_PATH@"
# SOURCE_DIR:
# Source directory. The top directory of the source files.
# Example:
# SOURCE_DIR=@DOXYGEN_PROJECT_SOURCE_DIR@
#
export SOURCE_DIR="@DOXYGEN_PROJECT_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=.
# 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=@CMAKE_CURRENT_BINARY_DIR@
# INTERMEDIATE_DOX_DIR=$DOXTEMP/dox
#
export DOXTEMP="@CMAKE_CURRENT_BINARY_DIR@"
export INTERMEDIATE_DOX_DIR="$DOXTEMP/dox"
# CVSWEB_CHECKOUT, CVSWEB_CHECKOUT_SUFFIX:
# URL to the CVSWeb of the project, in checkout mode (i.e. appending a file
# name to this URL will retrieve the contents of the file). In the same way
# CVSWEB_CHECKOUT_SUFFIX is appended to the result.
# Example:
# CVSWEB_CHECKOUT=http://public.kitware.com/cgi-bin/cvsweb.cgi/~checkout~/VTK
# CVSWEB_CHECKOUT_SUFFIX=?cvsroot=CMake
#
export CVSWEB_CHECKOUT="@DOXYGEN_CVSWEB_CHECKOUT@"
export CVSWEB_CHECKOUT_SUFFIX="@DOXYGEN_CVSWEB_CHECKOUT_SUFFIX@"
# 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
#
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
#
export CREATE_HTML_TARZ_ARCHIVE=@DOCUMENTATION_HTML_TARZ@
export RESULTING_HTML_TARZ_ARCHIVE_FILE="$DOXTEMP/$PROJECT_NAME-html.tar.gz"
# DOWNLOAD_VTK_TAGFILE VTK_TAGFILE VTK_TAGFILE_REMOTE_DIR VTK_TAGFILE_DEST_DIR:
# Download the VTK tag file, name, remote location and destination dir of this
# tag file. If set to ON, the tag file is retrieved from its remote location
# using wget and stored in the destination dir.
# The tag file is expected to be compressed using gzip, but DO NOT include
# the .gz extension in VTK_TAGFILE.
# Note: your doxyfile must be tailored to make use-of or create this tag file.
# (using TAGFILES = vtk4-nightly.tag=http://www.vtk.org/doc/nightly/html
# or GENERATE_TAGFILE = "@FOO_BINARY_DIR@/Utilities/Doxygen/vtk4.tag")
# Example:
# DOWNLOAD_VTK_TAGFILE=OFF
# VTK_TAGFILE=vtk4-nightly.tag
# VTK_TAGFILE_REMOTE_DIR=http://www.vtk.org/doc/nightly/html
# VTK_TAGFILE_DEST_DIR=$DOXTEMP
#
export DOWNLOAD_VTK_TAGFILE=@DOCUMENTATION_DOWNLOAD_VTK_TAGFILE@
export VTK_TAGFILE=vtkNightlyDoc.tag
export VTK_TAGFILE_REMOTE_DIR="http://www.vtk.org/files/nightly"
export VTK_TAGFILE_DEST_DIR="$DOXTEMP"
echoexit()
{
echo "$1"
exit 1
}
cd "${DOXTEMP}" || echoexit "Cannot find Doxygen output directory: ${DOXTEMP}"
# ----------------------------------------------------------------------------
# Convert the VTK headers to the Doxygen format.
echo "Convert the VTK headers to the Doxygen format."
if test "x$PERL_PROG" != "xNOTFOUND" ; then
$PERL_PROG "$PATH_TO_VTK_DOX_SCRIPTS/doc_header2doxygen.pl" \
--to "$INTERMEDIATE_DOX_DIR" \
--relativeto "@DOXYGEN_SOURCE_LOCATIONS_DIR@" \
@DOXYGEN_SOURCE_LOCATIONS@ || echoexit "Problem converting VTK headers"
if test "x@DOXYGEN_BINARY_LOCATIONS_DIR@" != "x"; then
$PERL_PROG "$PATH_TO_VTK_DOX_SCRIPTS/doc_header2doxygen.pl" \
--to "$INTERMEDIATE_DOX_DIR" \
--relativeto "@DOXYGEN_BINARY_LOCATIONS_DIR@" \
@DOXYGEN_BINARY_LOCATIONS@ || echoexit "Problem converting VTK headers"
fi
fi
echo "Convert the VTK headers to the Doxygen format - done"
# ----------------------------------------------------------------------------
# Build the full-text index.
echo "Build the full-text index."
if test "x$PERL_PROG" != "xNOTFOUND" ; then
cp "$PATH_TO_VTK_DOX_SCRIPTS/doc_index.stop" doc_index.stop
$PERL_PROG "$PATH_TO_VTK_DOX_SCRIPTS/doc_index.pl" \
--project "$PROJECT_NAME" \
--stop "doc_index.stop" \
--store "doc_""$PROJECT_NAME""_index.dox" \
--to "$INTERMEDIATE_DOX_DIR" \
@DOXYGEN_SOURCE_LOCATIONS@ \
@DOXYGEN_BINARY_LOCATIONS@ || echoexit "Problem building full-text index"
rm -f doc_index.stop
fi
echo "Build the full-text index - done"
# # ----------------------------------------------------------------------------
# # Generate the 'Class to Demos' page cross-linking each class to these
# # demos that use that class.
# if test "x$PERL_PROG" != "xNOTFOUND" ; then
# gzip -dc $PATH_TO_VTK_DOX_SCRIPTS/doc_class2example.pl | $PERL_PROG - \
# --datamatch "\W((VTK|ParaView)_DATA_ROOT|(VTK|MedVIP)Data|(vtk)?GetDataRoot|ExpandDataFileName)\W" \
# --dataicon "paper-clip.gif" \
# --dirmatch "^demos$" \
# --label "Demos" \
# --project "$PROJECT_NAME" \
# --store "doc_""$PROJECT_NAME""_class2demos.dox" \
# --title "Class To Demos" \
# --to "$INTERMEDIATE_DOX_DIR" \
# --unique "d" \
# "$SOURCE_DIR/framework/demos"
# fi
# ----------------------------------------------------------------------------
# Retrieve the (gziped) VTK 4 tag file and decompress it
if test "x$DOWNLOAD_VTK_TAGFILE" == "xON" ; then
if test "x$VTK_TAGFILE" != "x" ; then
if test "x$WGET_PROG" != "xNOTFOUND" ; then
$WGET_PROG -nd -nH \
"$VTK_TAGFILE_REMOTE_DIR/$VTK_TAGFILE.gz" \
-O "$VTK_TAGFILE_DEST_DIR/$VTK_TAGFILE.gz"
if test "x$GZIP_PROG" != "xNOTFOUND" ; then
$GZIP_PROG -f -d "$VTK_TAGFILE_DEST_DIR/$VTK_TAGFILE.gz"
fi
fi
fi
fi
# ----------------------------------------------------------------------------
# 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" || echoexit "Problem running doxygen"
fi
# ----------------------------------------------------------------------------
# Clean the HTML pages to remove the path to the intermediate Doxygen dir.
if test "x$PERL_PROG" != "xNOTFOUND" ; then
$PERL_PROG "$PATH_TO_VTK_DOX_SCRIPTS/doc_rmpath.pl" \
--to "$INTERMEDIATE_DOX_DIR" \
--html "$OUTPUT_DIRECTORY/html" || echoexit "Problem cleaning HTML pages"
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 || echoexit "Problem generating CHM"
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
# ----------------------------------------------------------------------------
# Let's overwrite any *vtk* file produce by our custom vtk/doxygen tool
# on top of the existing doxygen one.
if test "x$CP_PROG" != "xNOTFOUND" ; then
$CP_PROG "$OUTPUT_DIRECTORY/html/"*vtk* "$PATH_TO_VTKGDCM_FINAL_PATH"
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
$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
|