From: maier Date: Mon, 8 Oct 2012 18:13:11 +0000 (+0000) Subject: Port the documentation to cmake. First step X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1186a00f775794fc95515341dccd5c619cc37bdf;p=dealii-svn.git Port the documentation to cmake. First step git-svn-id: https://svn.dealii.org/branches/branch_cmake@27013 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/README.CMAKE b/deal.II/README.CMAKE index a1aad14a40..6d6abdb496 100644 --- a/deal.II/README.CMAKE +++ b/deal.II/README.CMAKE @@ -156,9 +156,6 @@ CONFIGURATION DEAL_II_WITH_BOOST Build deal.II with support for boost. Always activated - DEAL_II_WITH_DOXYGEN - Build deal.II with support for doxygen and dot - DEAL_II_WITH_FUNCTIONPARSER Build deal.II with support for functionparser diff --git a/deal.II/cmake/configure/configure_doxygen.cmake b/deal.II/cmake/configure/configure_doxygen.cmake deleted file mode 100644 index 8c5c987568..0000000000 --- a/deal.II/cmake/configure/configure_doxygen.cmake +++ /dev/null @@ -1,77 +0,0 @@ -##### -## -## Copyright (C) 2012 by the deal.II authors -## -## This file is part of the deal.II library. -## -## -## This file is dual licensed under QPL 1.0 and LGPL 2.1 or any later -## version of the LGPL license. -## -## Author: Matthias Maier -## -##### - -# -# Configuration for doxygen -# - - -MACRO(FEATURE_DOXYGEN_FIND_EXTERNAL var) - FIND_PACKAGE(Doxygen) - - # - # We use doxygen and dot: - # - IF(DOXYGEN_FOUND AND DOXYGEN_DOT_FOUND) - SET(${var} TRUE) - ENDIF() -ENDMACRO() - - -MACRO(FEATURE_DOXYGEN_CONFIGURE_EXTERNAL var) - # - # The FindDoxygen defines for us: - # - # DOXYGEN_EXECUTABLE = The path to the doxygen command. - # DOXYGEN_FOUND = Was Doxygen found or not? - # DOXYGEN_VERSION = The version reported by doxygen --version - # - # DOXYGEN_DOT_EXECUTABLE = The path to the dot program used by doxygen. - # DOXYGEN_DOT_FOUND = Was Dot found or not? - # DOXYGEN_DOT_PATH = The path to dot not including the executable - # - SET(${var} TRUE) -ENDMACRO() - - -SET(FEATURE_DOXYGEN_CUSTOM_ERROR_MESSAGE TRUE) - - -MACRO(FEATURE_DOXYGEN_ERROR_MESSAGE) - MESSAGE(FATAL_ERROR "\n" - "Could not find the doxygen package!\n\n" - "Please ensure that doxygen and dot are installed on your computer.\n" - "If the packages are not at a default location, either provide some hints\n" - "for the autodetection, or set the relevant variables by hand in ccmake.\n\n" - ) -ENDMACRO() - - -CONFIGURE_FEATURE(DOXYGEN) - -# -# Additional dependency check: -# DEAL_II_COMPONENT_DOCUMENTATION needs DEAL_II_WITH_DOXYGEN -# -IF(DEAL_II_COMPONENT_DOCUMENTATION AND NOT DEAL_II_WITH_DOXYGEN) - IF(DEAL_II_FEATURE_AUTODETECTION) - FEATURE_DOXYGEN_ERROR_MESSAGE() - ELSE() - MESSAGE(FATAL_ERROR "\n" - "DEAL_II_COMPONENT_DOCUMENTATION has unmet configuration requirements: " - "DEAL_II_WITH_DOXYGEN required, but set to OFF!\n\n" - ) - ENDIF() -ENDIF() - diff --git a/deal.II/doc/CMakeLists.txt b/deal.II/doc/CMakeLists.txt index dc92cdf145..3e846328b3 100644 --- a/deal.II/doc/CMakeLists.txt +++ b/deal.II/doc/CMakeLists.txt @@ -31,7 +31,8 @@ IF(DEAL_II_COMPONENT_DOCUMENTATION) INSTALL(DIRECTORY . DESTINATION ${DEAL_II_DOCUMENTATION_RELDIR} COMPONENT documentation - FILES_MATCHING REGEX "^.*(html|css|eps|jpg|gif|fig|png|ico)$" # TODO + FILES_MATCHING REGEX "^.*(html|css|eps|jpg|gif|fig|png|ico)$" + PATTERN "doxygen" EXCLUDE ) CONFIGURE_FILE( diff --git a/deal.II/doc/doxygen/CMakeLists.txt b/deal.II/doc/doxygen/CMakeLists.txt index 27fbcd3480..503577e068 100644 --- a/deal.II/doc/doxygen/CMakeLists.txt +++ b/deal.II/doc/doxygen/CMakeLists.txt @@ -1,7 +1,27 @@ -# -# doxygen/tutorial/toc.html.in -# doxygen/header.tex.in -# +##### +## +## Copyright (C) 2012 by the deal.II authors +## +## This file is part of the deal.II library. +## +## +## This file is dual licensed under QPL 1.0 and LGPL 2.1 or any later +## version of the LGPL license. +## +## Author: Matthias Maier +## +##### + +FIND_PACKAGE(Perl REQUIRED) +FIND_PACKAGE(Doxygen REQUIRED) + +IF(NOT DOXYGEN_FOUND OR NOT DOXYGEN_DOT_FOUND) + MESSAGE(FATAL_ERROR + "Could not find doxygen and dot which is required for building the documentation" + ) +ENDIF() + +ADD_SUBDIRECTORY(tutorial) CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/options.dox.in @@ -19,7 +39,14 @@ CONFIGURE_FILE( COPYONLY ) +CONFIGURE_FILE( + ${CMAKE_CURRENT_SOURCE_DIR}/deal.css + ${CMAKE_CURRENT_BINARY_DIR}/deal.II/deal.css + COPYONLY + ) + file(GLOB doxygen_input + # TODO: Steps ${CMAKE_SOURCE_DIR}/include/deal.II/* ${CMAKE_BINARY_DIR}/include/deal.II/* ${CMAKE_SOURCE_DIR}/doc/news/*.h @@ -27,7 +54,7 @@ file(GLOB doxygen_input ${CMAKE_SOURCE_DIR}/contrib/parameter_gui/main.cpp ${CMAKE_CURRENT_SOURCE_DIR}/headers ) -TO_STRING(doxygen_input) +TO_STRING(doxygen_input ${doxygen_input}) file(GLOB doxygen_image_path @@ -35,7 +62,7 @@ file(GLOB doxygen_image_path ${CMAKE_SOURCE_DIR}/examples/*/doc ${CMAKE_SOURCE_DIR}/contrib/parameter_gui/images ) -TO_STRING(doxygen_image_path) +TO_STRING(doxygen_image_path ${doxygen_image_path}) FILE(APPEND "${CMAKE_CURRENT_BINARY_DIR}/options.dox" @@ -45,19 +72,12 @@ FILE(APPEND "${CMAKE_CURRENT_BINARY_DIR}/options.dox" " ) - -ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/deal.II - COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/deal.II - ) - - ADD_CUSTOM_TARGET(doxygen ALL # TODO: Really all? + # + # ./deal.II is already created due to CONFIGURE_FILE(... deal.css ...) + # ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/options.dox WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS - ${CMAKE_CURRENT_BINARY_DIR}/deal.II - ${CMAKE_CURRENT_BINARY_DIR}/options.dox # TODO COMMENT "Generating documentation via doxygen" VERBATIM ) diff --git a/deal.II/doc/doxygen/Makefile.in b/deal.II/doc/doxygen/Makefile.in deleted file mode 100644 index f6239f87e9..0000000000 --- a/deal.II/doc/doxygen/Makefile.in +++ /dev/null @@ -1,86 +0,0 @@ -# $Id$ -# $Name$ -# -# Copyright (c) the deal.II authors 2003, 2010 - -SHELL=/bin/bash -############################### -# Configured variables - -D = @prefix@ -include $D/common/Make.global_options - - - -html: deal.tag - -private: - perl -pi -e 's/(EXTRACT_PRIVATE\s*=\s*)NO/$$1YES/;s/(INTERNAL_DOCS\s*=\s*)NO/$$1YES/;' options.dox - $(MAKE) html - -# Generate documentation. write the output to a file so as not to hide the -# important message to impatient observers that this process can take quite -# a while -# -# We have to fix up one case after doxygen runs: doxygen versions -# 1.6.2 and 1.6.3 (and only these versions) create output files for -# @page commands that contain underscores where the underscore is -# escaped by a second underscore (e.g. "step__1.html" instead of -# "step_1.html"). While all internal links from the doxygen output are -# correct, the links we have from the handwritten html files won't -# work any more this way. The simplest way to avoid this is to simply -# copy all such files to their alternative (traditional) name so that -# the external links still work (they will link to a different but -# equal file). -deal.II deal.tag: tutorial \ - deal.dox \ - $D/include/deal.II/*/*.h \ - headers/*.h \ - $D/contrib/parameter_gui/*.h \ - $D/contrib/parameter_gui/main.cpp \ - $(addprefix tutorial/doxygen/, $(shell ls tutorial/doxygen/)) - @echo "=== Generating reference documentation. " \ - "This can take several minutes..." - @if test ! -d deal.II ; then mkdir deal.II ; fi - cat @DOXYGEN_OPTIONS@ deal.dox | @DOXYGEN@ - > doxygen.log - @if test -f deal.II/step__1.html ; then \ - for i in deal.II/*__*html ; do \ - j="`echo $$i | sed s/__/_/g`" ; \ - cp $$i $$j ; \ - done ; \ - fi - @cp deal.css deal.II - - -tutorial: - @cd tutorial ; $(MAKE) - -deal.dox: Makefile $(shell echo images ../../examples/*/doc ../news/*.h) - @echo "=== Making $@" - @echo "INPUT=`echo headers $D/include/deal.II/* tutorial/doxygen ../news/*.h $D/contrib/parameter_gui/*.h $D/contrib/parameter_gui/main.cpp`" > $@ - @echo "IMAGE_PATH=`echo images ../../examples/*/doc $D/contrib/parameter_gui/images`" >> $@ - - - -# validate cross references. there are so many html files in these -# directories that we can just call -# $(PERL) $D/common/scripts/validate-xrefs.pl deal.II/*.html -# as this leads to error messages of the kind "/usr/bin/perl: Argument -# list too long". Instead, use a loop over all html files -validate-xrefs: - @echo "--- Validating xrefs in doxygen/deal.II/ ---" - @cd deal.II ; \ - for i in *.html ; do \ - $(PERL) $D/common/scripts/validate-xrefs.pl $$i ; \ - done - -# we have so many files that we can't just do "rm deal.II/*" because that -# leads to overlong command lines. gotta split it up -clean: - -for i in deal.II/* ; do rm $$i ; done - -rm *.tag - @cd tutorial ; $(MAKE) CLEAN=yes clean - - -.PHONY: html tutorial private deal.II \ - validate-xrefs clean tutorial diff --git a/deal.II/doc/doxygen/header.136.in b/deal.II/doc/doxygen/header.136.in deleted file mode 100644 index 19894ac0b8..0000000000 --- a/deal.II/doc/doxygen/header.136.in +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - $title - - - - - - -
-

deal.II Reference Manual for Version @PACKAGE_VERSION@

-
diff --git a/deal.II/doc/doxygen/options.136.in b/deal.II/doc/doxygen/options.136.in deleted file mode 100644 index e5721e799d..0000000000 --- a/deal.II/doc/doxygen/options.136.in +++ /dev/null @@ -1,1137 +0,0 @@ -# Doxyfile 1.3.6 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = deal.II - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = "Reference documentation for deal.II version @PACKAGE_VERSION@" - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = . - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, -# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en -# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, -# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# This tag can be used to specify the encoding used in the generated output. -# The encoding is not always determined by the language that is chosen, -# but also whether or not the output is meant for Windows or non-Windows users. -# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES -# forces the Windows encoding (this is the default for the Windows binary), -# whereas setting the tag to NO uses a Unix-style encoding (the default for -# all platforms other than Windows). - -USE_WINDOWS_ENCODING = NO - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is used -# as the annotated text. Otherwise, the brief description is used as-is. If left -# blank, the following values are used ("$name" is automatically replaced with the -# name of the entity): "The $name class" "The $name widget" "The $name file" -# "is" "provides" "specifies" "contains" "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited -# members of a class in the documentation of that class as if those members were -# ordinary class members. Constructors, destructors and assignment operators of -# the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. It is allowed to use relative paths in the argument list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @prefix@ - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - -JAVADOC_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources -# only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = YES - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp -# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories -# that are symbolic links (a Unix filesystem feature) are excluded from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. - -EXCLUDE_PATTERNS = *.templates.h - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = @prefix@/examples/doxygen - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). This is overwritten in deal.dox - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. - -INPUT_FILTER = ./filter - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = YES - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 3 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = header.136 - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = stylesheet.css - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = YES - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_PREDEFINED tags. - -EXPAND_ONLY_PREDEF = YES - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = @prefix@/include/deal.II - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. - -# [deal.II] Set MT flags so that the corresponding documentation will always -# be visible, irrespective of whether MT is actually switched on or not. Do -# the same for a bunch of other external packages as well. Also, define a -# variable DOXYGEN in order to mask out inline functions - -PREDEFINED = DOXYGEN=1 \ - DEBUG=1 \ - DEAL_II_USE_PETSC=1 \ - DEAL_II_USE_SLEPC=1 \ - DEAL_II_USE_TRILINOS=1 \ - DEAL_II_USE_MT=1 \ - DEAL_II_USE_MT_POSIX=1 \ - DEAL_II_USE_ARPACK=1 \ - DEAL_II_USE_METIS=1 \ - DEAL_II_USE_MUMPS=1 \ - DEAL_II_USE_P4EST=1 - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = DeclException0 \ - DeclException1 \ - DeclException2 \ - DeclException3 \ - DeclException4 \ - DeclException5 - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse the -# parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or -# super classes. Setting the tag to NO turns the diagrams off. Note that this -# option is superseded by the HAVE_DOT option below. This is only a fallback. It is -# recommended to install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = NO - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = @DEAL_II_HAVE_DOT@ - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = NO - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = NO - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found on the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_WIDTH = 1024 - -# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_HEIGHT = 1024 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes that -# lay further from the root node will be omitted. Note that setting this option to -# 1 or 2 may greatly reduce the computation time needed for large code bases. Also -# note that a graph may be further truncated if the graph's image dimensions are -# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). -# If 0 is used for the depth value (the default), the graph is not depth-constrained. - -MAX_DOT_GRAPH_DEPTH = 2 - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/deal.II/doc/doxygen/tutorial/CMakeLists.txt b/deal.II/doc/doxygen/tutorial/CMakeLists.txt new file mode 100644 index 0000000000..423b656975 --- /dev/null +++ b/deal.II/doc/doxygen/tutorial/CMakeLists.txt @@ -0,0 +1,79 @@ +##### +## +## Copyright (C) 2012 by the deal.II authors +## +## This file is part of the deal.II library. +## +## +## This file is dual licensed under QPL 1.0 and LGPL 2.1 or any later +## version of the LGPL license. +## +## Author: Matthias Maier +## +##### + + +# +# Prepare steps.png and steps.cmapx: +# + +file(GLOB steps_args + ${CMAKE_SOURCE_DIR}/examples/step-* + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/steps.dot + COMMAND ${PERL_EXECUTABLE} + ARGS + ${CMAKE_SOURCE_DIR}/doc/scripts/steps.pl + ${steps_args} + > ${CMAKE_CURRENT_BINARY_DIR}/steps.dot + ) + +ADD_CUSTOM_COMMAND( + OUTPUT + ${CMAKE_CURRENT_BINARY_DIR}/steps.png + ${CMAKE_CURRENT_BINARY_DIR}/steps.cmapx + COMMAND ${DOXYGEN_DOT_EXECUTABLE} + ARGS + -Tpng -o ${CMAKE_CURRENT_BINARY_DIR}/steps.png + -Tcmapx -o ${CMAKE_CURRENT_BINARY_DIR}/steps.cmapx + ${CMAKE_CURRENT_BINARY_DIR}/steps.dot + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/steps.dot + ) + + +# +# Prepare toc.html: +# + +CONFIGURE_FILE( + ${CMAKE_CURRENT_SOURCE_DIR}/toc.html.in + ${CMAKE_CURRENT_BINARY_DIR}/toc.html.in + COPYONLY + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/toc.html + COMMAND ${PERL_EXECUTABLE} + ARGS + ${CMAKE_SOURCE_DIR}/doc/scripts/make_toc.pl + > ${CMAKE_CURRENT_BINARY_DIR}/toc.html + WORKING_DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/toc.html.in + ${CMAKE_CURRENT_BINARY_DIR}/steps.cmapx + ) + +ADD_CUSTOM_TARGET(blubb ALL + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/toc.html + ) + + +# +# Prepare toc.html: +# + diff --git a/deal.II/doc/doxygen/tutorial/Makefile b/deal.II/doc/doxygen/tutorial/Makefile index 836c387594..bcdebfe83d 100644 --- a/deal.II/doc/doxygen/tutorial/Makefile +++ b/deal.II/doc/doxygen/tutorial/Makefile @@ -1,67 +1,3 @@ -# $Id$ -# Create proper HTML output from the different example programs - -# include paths and global variables -include ../../../common/Make.global_options - -# plain names of those files that we shall treat. simply take all those -# directories in examples/ that have a /doc subdirectory -example-names := $(subst /doc,, \ - $(shell cd $D/examples && echo */doc)) - - -# prefix names for generated intermediate files -gen-example-names := $(addprefix generated/, $(example-names)) - -# names of commented program files, plain files, and tocs for the commented -# and commented and plain versions of the program as well as a combined one -example-toc-prog := $(addsuffix _toc.prog,$(gen-example-names)) -example-toc-plain := $(addsuffix _toc.plain,$(gen-example-names)) -example-toc-intro := $(addsuffix _toc.intro,$(gen-example-names)) -example-toc-results:= $(addsuffix _toc.results,$(gen-example-names)) -example-toc := $(addsuffix _toc.combined,$(gen-example-names)) - -# same for intermediate files for doxygen output -example-dox-prog := $(addsuffix _prog.dox,$(gen-example-names)) -example-dox-plain := $(addsuffix _plain.dox,$(gen-example-names)) -example-plain := $(addprefix plain/,$(addsuffix .cc,$(example-names))) - -# finally a target for combined Doxygen files -example-doxygen := $(addprefix doxygen/,$(addsuffix .h,$(example-names))) - - -# a makefile command that extracts the base name of a program -get_basename = $(shell echo $(1) | $(PERL) -pi -e 's/(generated|doxygen).//g; s/\..*//g; s/_(prog|plain|toc.*)//g;') - - - -all: $(example-doxygen) toc.html - -# Generation of the map of the example programs. Note, that the -# following command only merges the map into toc.html. The map itself -# is not generated automatically, but requires to call -# -# make steps.png -# -# by hand. This way, we avoid testing for dot during -# configuration. The map only needs to be generated after changes in -# the structure of the tutorials. -toc.html: steps.cmapx toc.html.in - @echo ================== Making $@ - @perl make_toc.pl > toc.html - -# generate dot file -steps.dot: steps.pl $D/examples/*/doc/tooltip $D/examples/*/doc/builds-on $D/examples/*/doc/kind - @echo ================== Making $@ - @perl $< > $@ - -steps.png: steps.dot - @echo ================== Making $@ - @dot -Tpng -Tcmapx -O $< - @mv steps.dot.png steps.png - @mv steps.dot.cmapx steps.cmapx - - $(example-toc-prog): @echo ================== Making $@ @cat $D/examples/$(call get_basename, $@)/*.cc \ diff --git a/deal.II/doc/doxygen/tutorial/steps.cmapx b/deal.II/doc/doxygen/tutorial/steps.cmapx deleted file mode 100644 index 535c5731ea..0000000000 --- a/deal.II/doc/doxygen/tutorial/steps.cmapx +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deal.II/doc/doxygen/tutorial/create_anchors b/deal.II/doc/scripts/create_anchors similarity index 100% rename from deal.II/doc/doxygen/tutorial/create_anchors rename to deal.II/doc/scripts/create_anchors diff --git a/deal.II/doc/doxygen/tutorial/intro2toc b/deal.II/doc/scripts/intro2toc similarity index 100% rename from deal.II/doc/doxygen/tutorial/intro2toc rename to deal.II/doc/scripts/intro2toc diff --git a/deal.II/doc/doxygen/tutorial/make_toc.pl b/deal.II/doc/scripts/make_toc.pl similarity index 100% rename from deal.II/doc/doxygen/tutorial/make_toc.pl rename to deal.II/doc/scripts/make_toc.pl diff --git a/deal.II/doc/doxygen/tutorial/program2doxygen b/deal.II/doc/scripts/program2doxygen similarity index 100% rename from deal.II/doc/doxygen/tutorial/program2doxygen rename to deal.II/doc/scripts/program2doxygen diff --git a/deal.II/doc/doxygen/tutorial/program2doxyplain b/deal.II/doc/scripts/program2doxyplain similarity index 100% rename from deal.II/doc/doxygen/tutorial/program2doxyplain rename to deal.II/doc/scripts/program2doxyplain diff --git a/deal.II/doc/doxygen/tutorial/program2html b/deal.II/doc/scripts/program2html similarity index 100% rename from deal.II/doc/doxygen/tutorial/program2html rename to deal.II/doc/scripts/program2html diff --git a/deal.II/doc/doxygen/tutorial/program2plain b/deal.II/doc/scripts/program2plain similarity index 100% rename from deal.II/doc/doxygen/tutorial/program2plain rename to deal.II/doc/scripts/program2plain diff --git a/deal.II/doc/doxygen/tutorial/program2toc b/deal.II/doc/scripts/program2toc similarity index 100% rename from deal.II/doc/doxygen/tutorial/program2toc rename to deal.II/doc/scripts/program2toc diff --git a/deal.II/doc/doxygen/tutorial/steps.pl b/deal.II/doc/scripts/steps.pl similarity index 69% rename from deal.II/doc/doxygen/tutorial/steps.pl rename to deal.II/doc/scripts/steps.pl index 191cdb62e6..57dae7e18f 100644 --- a/deal.II/doc/doxygen/tutorial/steps.pl +++ b/deal.II/doc/scripts/steps.pl @@ -8,13 +8,6 @@ use strict; -my @steps = (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, 27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41, 43,44,45,46, 48); - - # List of additional node attributes to highlight purpose and state of the example my %style = ( "basic" => ',height=.8,width=.8,shape="octagon",fillcolor="green"', @@ -51,26 +44,30 @@ EOT # print all nodes -foreach (@steps) +my $step; +foreach $step (@ARGV) { + my $number = $step; + $number =~ s/^.*-//; + # read first line of tooltip file - open TF, "../../../examples/step-$_/doc/tooltip" - or die "Can't open tooltip file step-$_/doc/tooltip"; + open TF, "$step/doc/tooltip" + or die "Can't open tooltip file $step/doc/tooltip"; my $tooltip = ; close TF; chop $tooltip; - printf "Step$_ [label=\"$_\", URL=\"../deal.II/step_$_.html\", tooltip=\"$tooltip\""; + printf "Step$number [label=\"$number\", URL=\"../deal.II/step_$number.html\", tooltip=\"$tooltip\""; # read first line of 'kind' file - open KF, "../../../examples/step-$_/doc/kind" - or die "Can't open kind file step-$_/doc/kind"; + open KF, "$step/doc/kind" + or die "Can't open kind file $step/doc/kind"; my $kind = ; close KF; chop $kind; - die "Unknown kind '$kind' in file step-$_/doc/kind" if (! defined $style{$kind}); + die "Unknown kind '$kind' in file $step/doc/kind" if (! defined $style{$kind}); print "$style{$kind}"; print "];\n"; @@ -79,12 +76,15 @@ foreach (@steps) # Print all edges # Keep sorted by second node on edge! -my $target; -foreach $target (@steps) +my $step; +foreach $step (@ARGV) { + my $number = $step; + $number =~ s/^.*-//; + # read first line of dependency file - open BF, "../../../examples/step-$target/doc/builds-on" - or die "Can't open builds-on file step-$target/doc/builds-on"; + open BF, "$step/doc/builds-on" + or die "Can't open builds-on file $step/doc/builds-on"; my $buildson = ; close BF; chop $buildson; @@ -92,7 +92,7 @@ foreach $target (@steps) my $source; foreach $source (split ' ', $buildson) { $source =~ s/step-/Step/g; - print "$source -> Step$target\n"; + print "$source -> Step$number\n"; } }