]> www.ginac.de Git - cln.git/blob - doc/CMakeLists.txt
Add support for LoongArch
[cln.git] / doc / CMakeLists.txt
1 find_program(MAKEINFO makeinfo)
2 find_program(TEXI2DVI texi2dvi)
3 find_package(LATEX)
4
5 macro(add_info_file thename)
6         set(${thename}_INFO ${CMAKE_CURRENT_BINARY_DIR}/${thename}.info)
7         set(${thename}_HTML ${CMAKE_CURRENT_BINARY_DIR}/${thename}.html)
8         set(${thename}_TEXINFO ${CMAKE_CURRENT_SOURCE_DIR}/${thename}.texi)
9         add_custom_command(
10                 OUTPUT ${${thename}_INFO}
11                 COMMAND ${MAKEINFO} --no-split -o ${${thename}_INFO} ${${thename}_TEXINFO}
12                 DEPENDS ${${thename}_TEXINFO}
13                 COMMENT "MAKEFINO ${thename}.texi"
14                 VERBATIM)
15         add_custom_command(
16                 OUTPUT ${${thename}_HTML}
17                 COMMAND ${MAKEINFO} --html --no-split -o ${${thename}_HTML} ${${thename}_TEXINFO}
18                 DEPENDS ${${thename}_TEXINFO} ${${thename}_HTML_EXTRA_DEPS}
19                 COMMENT "MAKEINFOHTML ${thename}.texi"
20                 VERBATIM)
21         add_custom_target(${thename}_info ALL DEPENDS ${${thename}_INFO})
22         add_custom_target(${thename}_html ALL DEPENDS ${${thename}_HTML})
23         add_dependencies(info ${thename}_info)
24         add_dependencies(html ${thename}_html)
25 endmacro()
26
27 macro(add_doc_format src fmt)
28         set(_out ${CMAKE_CURRENT_BINARY_DIR}/${src}.${fmt})
29         set(_src ${CMAKE_CURRENT_SOURCE_DIR}/${src}.texi)
30         add_custom_command(
31                 OUTPUT ${_out}
32                 COMMAND ${TEXI2DVI} --${fmt} --batch -o ${_out} ${_src}
33                 DEPENDS ${_src} ${_${src}_tutorial_figures_${fmt}}
34                 COMMENT "TEXI2DVI ${src}.texi => ${src}.${fmt}"
35                 VERBATIM)
36         add_custom_target(${fmt}_${src}_tutorial DEPENDS ${_out})
37         add_dependencies(${fmt} ${fmt}_${src}_tutorial)
38 endmacro()
39
40 if (MAKEINFO)
41         add_info_file(cln)
42         if (PDFLATEX_COMPILER)
43                 add_doc_format(cln pdf)
44         endif()
45 endif()
46