@@ -15,8 +15,16 @@ file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} abs_top_srcdir)
15
15
file (TO_NATIVE_PATH ${CMAKE_BINARY_DIR} abs_top_builddir )
16
16
17
17
set (HAVE_DOT ${DOXYGEN_DOT_FOUND} )
18
+ find_package (LATEX )
19
+ option (ENABLE_DOXYGEN_PDF "Build Doxygen PDF" OFF )
20
+
21
+ if (ENABLE_DOXYGEN_PDF AND LATEX_FOUND )
22
+ set (enable_latex_docs YES )
23
+ else ()
24
+ set (enable_latex_docs NO )
25
+ endif ()
26
+
18
27
set (enable_html_docs YES )
19
- set (enable_latex_docs NO )
20
28
set (enable_mathjax NO )
21
29
set (enable_xml_docs YES )
22
30
@@ -25,7 +33,13 @@ configure_file(
25
33
${CMAKE_CURRENT_BINARY_DIR} /Doxyfile
26
34
@ONLY )
27
35
28
- set (BUILT_DIRS ${CMAKE_CURRENT_BINARY_DIR} /xml ${CMAKE_CURRENT_BINARY_DIR} /html )
36
+ if (enable_html_docs )
37
+ list (APPEND BUILT_DIRS ${CMAKE_CURRENT_BINARY_DIR} /html )
38
+ endif ()
39
+
40
+ if (enable_xml_docs )
41
+ list (APPEND BUILT_DIRS ${CMAKE_CURRENT_BINARY_DIR} /xml )
42
+ endif ()
29
43
30
44
########################################################################
31
45
# Make and install doxygen docs
@@ -39,4 +53,25 @@ add_custom_command(
39
53
40
54
add_custom_target (doxygen_target ALL DEPENDS ${BUILT_DIRS} )
41
55
56
+ ########################################################################
57
+ # Make and install doxygen PDF docs
58
+ ########################################################################
59
+ if (enable_latex_docs )
60
+ add_custom_command (
61
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /latex/refman.pdf
62
+ COMMAND ${LATEX_COMPILER} ${CMAKE_CURRENT_BINARY_DIR} /latex/refman.tex
63
+ COMMAND ${LATEX_COMPILER} ${CMAKE_CURRENT_BINARY_DIR} /latex/refman.tex
64
+ COMMAND ${LATEX_COMPILER} ${CMAKE_CURRENT_BINARY_DIR} /latex/refman.tex
65
+ COMMAND ${DVIPDF_CONVERTER} ${CMAKE_CURRENT_BINARY_DIR} /latex/refman.dvi
66
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /latex
67
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /latex/Makefile
68
+ COMMENT "Generating PDF documentation with latex" )
69
+
70
+ add_custom_target (doxygen_pdf_target ALL
71
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /latex/refman.pdf )
72
+
73
+ install (FILES ${CMAKE_CURRENT_BINARY_DIR} /latex/refman.pdf
74
+ DESTINATION ${GR_PKG_DOC_DIR} )
75
+ endif ()
76
+
42
77
install (DIRECTORY ${BUILT_DIRS} DESTINATION ${GR_PKG_DOC_DIR} )
0 commit comments