]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
update
authormaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 20 Sep 2012 15:08:39 +0000 (15:08 +0000)
committermaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 20 Sep 2012 15:08:39 +0000 (15:08 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_cmake@26571 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/contrib/cmake/macros/macro_expand_instantiations.cmake
deal.II/contrib/cmake/macros/macro_to_string.cmake [new file with mode: 0644]
deal.II/doc/CMakeLists.txt
deal.II/doc/doxygen/CMakeLists.txt [new file with mode: 0644]
deal.II/doc/doxygen/header.html.in
deal.II/doc/doxygen/header.tex.in
deal.II/doc/doxygen/options.dox.in
deal.II/doc/title.html.in

index 7336bff86a639082f6ecccba08ed9b2e3033f741..d4084e5cb931532edf11e3e2f05be911b0118126 100644 (file)
@@ -30,10 +30,7 @@ MACRO(macro_expand_instantiations target inst_in_files)
            > ${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()
 
   #
diff --git a/deal.II/contrib/cmake/macros/macro_to_string.cmake b/deal.II/contrib/cmake/macros/macro_to_string.cmake
new file mode 100644 (file)
index 0000000..df29ba0
--- /dev/null
@@ -0,0 +1,7 @@
+MACRO(TO_STRING variable)
+  SET(variable_tmp ${${variable}})
+  SET(${variable} "")
+  FOREACH(var ${variable_tmp})
+    SET(${variable} "${${variable}} ${var}")
+  ENDFOREACH()
+ENDMACRO()
index 4ad86b27b77cc01c90f16fd1bb0c74ebaa571571..3c7f9bfaffa19489e528419daa2be985ae92dbe2 100644 (file)
@@ -5,6 +5,16 @@
 
 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:
@@ -21,32 +31,18 @@ IF(DEAL_II_WITH_DOXYGEN)
   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)
 
diff --git a/deal.II/doc/doxygen/CMakeLists.txt b/deal.II/doc/doxygen/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1c42372
--- /dev/null
@@ -0,0 +1,82 @@
+#
+# 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
+  )
+
index 30ee4d3a4239fa339ed2fc00a3237cd750ef9fbd..d09d6eb7b43c1056d145cea8f931af253b64d086 100644 (file)
@@ -15,7 +15,7 @@
     <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>
index a3ce1323fcc96d6ab493868e6db91019dba714df..7666dea680e0dd24421293d55ef856ba90a9b87f 100644 (file)
@@ -15,7 +15,7 @@
 \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}
index 8b8c2235a67b98d97ac7cc91fb7f4ca080a72310..ec29fb9ceaa0130b26c63a7e401242c68df1f391 100644 (file)
@@ -23,7 +23,7 @@ PROJECT_NAME           = "The deal.II library"
 # 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.
@@ -105,7 +105,7 @@ FULL_PATH_NAMES        = YES
 # 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
@@ -477,7 +477,7 @@ EXCLUDE_PATTERNS       = *.templates.h
 # 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
@@ -968,7 +968,7 @@ SEARCH_INCLUDES        = YES
 # 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
@@ -1089,7 +1089,7 @@ HIDE_UNDOC_RELATIONS   = NO
 # 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
index b92faaab1c8aad8f697dfcd70bfdbe2285a58107..9fce84ee7df4aa71a04d75daa55113cb6a09da19 100644 (file)
@@ -12,7 +12,7 @@
 
 <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>

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.