> ${CMAKE_CURRENT_BINARY_DIR}/${inst_file}
)
- SET(inst_targets
- ${CMAKE_CURRENT_BINARY_DIR}/${inst_file}
- ${inst_targets}
- )
+ LIST(APPEND inst_targets ${CMAKE_CURRENT_BINARY_DIR}/${inst_file})
ENDFOREACH()
#
--- /dev/null
+MACRO(TO_STRING variable)
+ SET(variable_tmp ${${variable}})
+ SET(${variable} "")
+ FOREACH(var ${variable_tmp})
+ SET(${variable} "${${variable}} ${var}")
+ ENDFOREACH()
+ENDMACRO()
IF(DEAL_II_WITH_DOXYGEN)
+ #
+ # Generate the documentation via doxygen:
+ #
+ ADD_SUBDIRECTORY(doxygen)
+
+
+ #
+ # Install the homepage:
+ #
+
IF(DEAL_II_INSTALL_COMPAT_FILES)
#
# The good, old directory where the documentation gets installed to:
INSTALL(DIRECTORY .
DESTINATION ${DEAL_II_DOCUMENTATION_RELDIR}
COMPONENT documentation
- FILES_MATCHING REGEX "^.*(html|css|136|eps|fig|png)$" # TODO! cmapx, dot
+ FILES_MATCHING REGEX "^.*(html|css|eps|fig|png)$" # TODO! cmapx, dot
)
- SET(doc_files_to_configure
- title.html.in
- doxygen/tutorial/toc.html.in
- doxygen/header.136.in
- doxygen/header.tex.in
- doxygen/options.dox.in
- doxygen/Makefile.in
- doxygen/options.136.in
- doxygen/header.html.in
+ CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/title.html.in
+ ${CMAKE_CURRENT_BINARY_DIR}/title.html
+ )
+ INSTALL(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/title.html
+ DESTINATION ${DEAL_II_DOCUMENTATION_RELDIR}
+ COMPONENT documentation
)
-
- FOREACH(infile ${doc_files_to_configure})
- STRING(REGEX REPLACE "\\.in$" "" outfile "${infile}" )
- CONFIGURE_FILE(
- ${CMAKE_CURRENT_SOURCE_DIR}/${infile}
- ${CMAKE_CURRENT_BINARY_DIR}/${outfile}
- )
- INSTALL(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${outfile}
- DESTINATION ${DEAL_II_DOCUMENTATION_RELDIR}
- COMPONENT documentation
- )
- ENDFOREACH()
ENDIF(DEAL_II_WITH_DOXYGEN)
--- /dev/null
+#
+# TODO:
+#
+# A very primitive proof of concept on how to use doxygen, atm.
+#
+#
+# doxygen/tutorial/toc.html.in
+# doxygen/header.tex.in
+#
+
+CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/options.dox.in
+ ${CMAKE_CURRENT_BINARY_DIR}/options.dox
+ )
+
+CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/header.html.in
+ ${CMAKE_CURRENT_BINARY_DIR}/header.html
+ )
+
+CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/footer.html
+ ${CMAKE_CURRENT_BINARY_DIR}/footer.html
+ COPYONLY
+ )
+
+CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/filter
+ ${CMAKE_CURRENT_BINARY_DIR}/filter
+ COPYONLY
+ )
+
+
+
+file(GLOB doxygen_input
+ ${CMAKE_SOURCE_DIR}/include/deal.II/*
+ ${CMAKE_BINARY_DIR}/include/deal.II/*
+ ${CMAKE_SOURCE_DIR}/doc/news/*.h
+ ${CMAKE_SOURCE_DIR}/contrib/parameter_gui/*.h
+ ${CMAKE_SOURCE_DIR}/contrib/parameter_gui/main.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/headers
+ )
+TO_STRING(doxygen_input)
+
+
+file(GLOB doxygen_image_path
+ ${CMAKE_CURRENT_SOURCE_DIR}/images
+ ${CMAKE_SOURCE_DIR}/examples/*/doc
+ ${CMAKE_SOURCE_DIR}/contrib/parameter_gui/images
+ )
+TO_STRING(doxygen_image_path)
+
+
+FILE(APPEND "${CMAKE_CURRENT_BINARY_DIR}/options.dox"
+ "
+ INPUT=${doxygen_input}
+ IMAGE_PATH=${doxygen_image_path}
+ "
+ )
+
+
+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?
+ ${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
+ ${CMAKE_CURRENT_BINARY_DIR}/header.html
+ ${CMAKE_CURRENT_BINARY_DIR}/footer.html
+ ${CMAKE_CURRENT_BINARY_DIR}/filter
+ #${CMAKE_BINARY_DIR}/include/deal.II/base/config.h
+ #${CMAKE_BINARY_DIR}/include/deal.II/lac/lapack_templates.h
+ COMMENT "Generating documentation via doxygen"
+ VERBATIM
+ )
+
<link rel="SHORTCUT ICON" href="http://www.dealii.org/deal.ico">
<meta name="author" content="the deal.II authors <authors@dealii.org>">
<meta name="copyright" content="Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 by the deal.II authors">
- <meta name="deal.II-version" content="@PACKAGE_VERSION@">
+ <meta name="deal.II-version" content="@DEAL_II_PACKAGE_VERSION@">
</head>
<body>
\begin{titlepage}
\vspace*{7cm}
\begin{center}
-{\Large deal.II Reference Manual for Version @PACKAGE_VERSION@}\\
+{\Large deal.II Reference Manual for Version @DEAL_II_PACKAGE_VERSION@}\\
\vspace*{1cm}
{\large Wolfgang Bangerth, Timo Heister, Guido Kanschat}\\
\vspace*{0.5cm}
# 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@"
+PROJECT_NUMBER = "Reference documentation for deal.II version @DEAL_II_PACKAGE_VERSION@"
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
# If left blank the directory from which doxygen is run is used as the
# path to strip.
-STRIP_FROM_PATH = @prefix@
+STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ @CMAKE_BINARY_DIR@
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
# the path mentioned in the documentation of a class, which tells
# directories that contain example code fragments that are included (see
# the \include command).
-EXAMPLE_PATH = @prefix@/examples/doxygen @prefix@/doc/doxygen/tutorial/plain
+EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/examples/doxygen @CMAKE_SOURCE_DIR@/doc/doxygen/tutorial/plain
# 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
# contain include files that are not input files but should be processed by
# the preprocessor.
-INCLUDE_PATH = @prefix@/include/deal.II
+INCLUDE_PATH = @CMAKE_SOURCE_DIR@/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
# 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@
+HAVE_DOT = YES
# 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
<body class="title">
<div class="fixedhead">
- <h1 class="head">deal.II @PACKAGE_VERSION@ Documentation</h1>
+ <h1 class="head">deal.II @DEAL_II_PACKAGE_VERSION@ Documentation</h1>
</div>
</body>
</html>