From 15c005679a25f6838f5c880eee42e7dacab31476 Mon Sep 17 00:00:00 2001
From: "A. Maitland Bottoms" <bottoms@debian.org>
Date: Mon, 31 Aug 2020 18:50:56 -0400
Subject: [PATCH 04/11] doxygen pdf

Generate PDF documentation as part of build.
---
 host/docs/CMakeLists.txt | 4 +++-
 host/docs/Doxyfile.in    | 4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

--- a/host/docs/CMakeLists.txt
+++ b/host/docs/CMakeLists.txt
@@ -98,12 +98,14 @@
     add_custom_command(
         OUTPUT ${CMAKE_CURRENT_BINARY_DIR_DOXYGEN} DEPENDS ${DOXYGEN_DEPENDENCIES}
         COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
+	COMMAND cd ${CMAKE_CURRENT_BINARY_DIR_DOXYGEN}/latex && make
         COMMENT "Generating documentation with doxygen"
     )
 
     #make the doxygen generation a built-time dependency
     add_custom_target(doxygen_docs ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR_DOXYGEN})
-    UHD_INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR_DOXYGEN} DESTINATION ${PKG_DOC_DIR} COMPONENT ${DOXYGEN_DEP_COMPONENT})
+    UHD_INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR_DOXYGEN}/latex/refman.pdf DESTINATION ${PKG_DOC_DIR} COMPONENT ${DOXYGEN_DEP_COMPONENT})
+    UHD_INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR_DOXYGEN}/html DESTINATION ${PKG_DOC_DIR} COMPONENT ${DOXYGEN_DEP_COMPONENT})
 endif(ENABLE_MANUAL_OR_DOXYGEN)
 
 ########################################################################
--- a/host/docs/Doxyfile.in
+++ b/host/docs/Doxyfile.in
@@ -772,7 +772,7 @@
 # messages are off.
 # The default value is: NO.
 
-QUIET                  = YES
+QUIET                  = NO
 
 # The WARNINGS tag can be used to turn on/off the warning messages that are
 # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
@@ -1717,7 +1717,7 @@
 # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
 # The default value is: YES.
 
-GENERATE_LATEX         = NO
+GENERATE_LATEX         = YES
 
 # 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
--- a/host/docs/properties.dox
+++ b/host/docs/properties.dox
@@ -24,15 +24,10 @@
 on both the outgoing edge and the incoming edge. This property describes
 something about the data on this graph edge.
 
-```
-           ┌──────────────┐
-           │  DDC Block   │
- samp_rate │              │ samp_rate
-───────────> - freq       ├───────────>
-           │ - decim      │
-           │              │
-           └──────────────┘
-```
+\begin{quote}
+Nicely done figure with	unicode	box drawing characters omitted due to errors
+in the Debian documentation building environment.
+\end{quote}
 
 The key thing, which separates properties from other attributes associated with
 the block, is that we can describe relationships between the properties. In this
@@ -66,15 +61,10 @@
 expects incoming samples at a fixed data rate of 20 Msps. Assume we are running
 this flow graph in a USRP X310, with a master clock rate of 200 Msps:
 
-```
-  ┌─────────────┐          ┌──────────────┐          ┌──────────────┐
-  │ Radio Block │          │  DDC Block   │          │ Modem Block  │
-  │             │samp_rate │              │ samp_rate│              │
-  │             ├──────────> - freq       ├──────────>              │
-  │             │          │ - decim      │          │              │
-  │             │          │              │          │              │
-  └─────────────┘          └──────────────┘          └──────────────┘
-```
+\begin{quote}
+Nicely done figure with	unicode	box drawing characters omitted due to errors
+in the Debian documentation building environment.
+\end{quote}
 
 Upon initialization, the radio block will configure its hardware clocks, and
 set a sampling rate of 200 Msps on its outgoing edge property (`samp_rate`).
@@ -103,15 +93,10 @@
 properties have an index value. A multi-channel DDC block is more accurately
 depicted as such with regard to its properties:
 
-```
-             ┌──────────────┐
-             │  DDC Block   │
-samp_rate[i] │              │ samp_rate[i]
-──────────── > - freq[i]    ├──────────────>
-             │ - decim[i]   │
-             │              │
-             └──────────────┘
-```
+\begin{quote}
+Nicely done figure with	unicode	box drawing characters omitted due to errors
+in the Debian documentation building environment.
+\end{quote}
 
 \b Note: The index of edge properties is tightly coupled to the actual edge
 being used (i.e., `samp_rate` on input edge 0 also has a property index of 0).
@@ -330,17 +315,10 @@
 
 Consider the following graph:
 
-```
-
-  ┌─────────────┐          ┌──────────────┐          ┌──────────────┐
-  │             │          │              │          │              │
-  │ Radio Block ├──────────> DDC Block    ├──────────> Custom DSP   │
-  │             │          │              │          │              │
-  └─────^───────┘          └──────────────┘          └──────┬───────┘
-        │                                                   │
-        │                back edge                          │
-        └───────────────────────────────────────────────────┘
-```
+\begin{quote}
+Nicely done figure with	unicode	box drawing characters omitted due to errors
+in the Debian documentation building environment.
+\end{quote}
 
 In this application, we receive a signal, use the DDC block to correct a
 frequency offset digitally, and then apply some custom DSP before transmitting
