Author: A. Maitland Bottoms <bottoms@debian.org>
Forwarded: not-needed
Description: doxygen pdf
 Work-In-Progress Debian inclusion of PDF format documentation.

--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -10,14 +10,31 @@
 
     message(STATUS "Doxygen found. Building docs ...")
 
+    find_package(LATEX COMPONENTS PDFLATEX)
+
+    if(ENABLE_DOXYGEN_PDF AND LATEX_FOUND)
+        set(enable_pdf_docs YES)
+        message(STATUS "latex found. Building PDF docs ...")
+    else()
+        set(enable_pdf_docs NO)
+    endif()
+
     configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_BINARY_DIR}/Doxyfile
                    @ONLY)
 
     add_custom_target(
         volk_doc
         ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile
-        WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
         COMMENT "Generating documentation with Doxygen"
         VERBATIM)
 
+    add_custom_target(
+        volk_pdf_doc
+        make
+        DEPENDS volk_doc
+        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/latex
+        COMMENT "Generating PDF documentation with Doxygen"
+        VERBATIM)
+
 endif(DOXYGEN_FOUND)
--- a/docs/Doxyfile.in
+++ b/docs/Doxyfile.in
@@ -1817,7 +1817,7 @@
 # the output language.
 # This tag requires that the tag GENERATE_LATEX is set to YES.
 
-LATEX_CMD_NAME         = latex
+LATEX_CMD_NAME         = xelatex
 
 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
 # index for LaTeX.
@@ -1866,7 +1866,7 @@
 # If left blank no extra packages will be included.
 # This tag requires that the tag GENERATE_LATEX is set to YES.
 
-EXTRA_PACKAGES         =
+EXTRA_PACKAGES         = {amsmath} {pmboxdraw} {unicode-math}
 
 # 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
@@ -2368,7 +2368,7 @@
 # set to NO
 # The default value is: YES.
 
-HAVE_DOT               = NO
+HAVE_DOT               = YES
 
 # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
 # to run in parallel. When set to 0 doxygen will base this on the number of
