aboutsummaryrefslogtreecommitdiffstats
path: root/doc/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/CMakeLists.txt')
-rw-r--r--doc/CMakeLists.txt57
1 files changed, 27 insertions, 30 deletions
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 44db22fe..85ac0b34 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -24,54 +24,51 @@
## process this file with CMake to produce Makefile
-add_custom_target(doc)
-if (LATEX_COMPILER)
- add_custom_command(
- TARGET doc
+MACRO(DocDependency outfile)
+ add_dependencies(doc ${outfile})
+ add_custom_target(
+ ${outfile}
+ DEPENDS ${ARGN}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- COMMAND echo Compiling to .dvi for gawk.texi and gawkinet.texi
- COMMAND texi2dvi -q --clean gawkinet.texi gawk.texi
- COMMAND echo Compiling to .ps for gawk.1 and igawk.1
- COMMAND groff -z -man gawk.1 > gawk.1.ps
- COMMAND groff -z -man igawk.1 > igawk.1.ps
+ COMMAND ${CMAKE_SOURCE_DIR}/cmake/docmaker ${outfile} ${ARGN}
)
+ENDMACRO(DocDependency)
+find_program(TEXI2DVI_CONVERTER texi2dvi)
+if (TEXI2DVI_CONVERTER)
+ add_custom_target(doc)
+ DocDependency(gawk.texi gawktexi.in)
+ DocDependency(gawk.dvi gawk.texi)
+ DocDependency(gawkinet.dvi gawkinet.texi)
+ DocDependency(gawk.1.ps gawk.1)
+ DocDependency(igawk.1.ps igawk.1)
+ find_program(DVIPS_CONVERTER dvips)
if (DVIPS_CONVERTER)
- add_custom_command(
- TARGET doc
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- COMMAND echo Compiling to .ps for gawk.dvi and gawkinet.dvi
- COMMAND dvips -q -o gawk.ps gawk.dvi
- COMMAND dvips -q -o gawkinet.ps gawkinet.dvi
- )
+ DocDependency(gawk.ps gawk.dvi)
+ DocDependency(gawkinet.ps gawkinet.dvi)
+ find_program(PS2PDF_CONVERTER ps2pdf)
if (PS2PDF_CONVERTER)
- add_custom_command(
- TARGET doc
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- COMMAND echo Compiling to .pdf for gawk.1.ps, igawk.1.ps, gawk.ps and gawkinet.ps
- COMMAND ps2pdf -q gawk.1.ps gawk.1.pdf
- COMMAND ps2pdf -q igawk.1.ps igawk.1.pdf
- COMMAND ps2pdf -q gawk.ps gawk.pdf
- COMMAND ps2pdf -q gawkinet.ps gawkinet.pdf
- )
+ DocDependency(gawk.1.pdf gawk.1.ps)
+ DocDependency(igawk.1.pdf igawk.1.ps)
+ DocDependency(gawk.pdf gawk.ps)
+ DocDependency(gawkinet.pdf gawkinet.ps)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/gawk.1.pdf DESTINATION doc)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/igawk.1.pdf DESTINATION doc)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/gawk.pdf DESTINATION doc)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/gawkinet.pdf DESTINATION doc)
else()
- message(WARNING "Found no PS2PDF_CONVERTER; no doc will be generated")
+ message(WARNING "Found no ps2pdf tool; no doc will be generated")
install(CODE "MESSAGE(\"doc generated only in .ps files\")")
endif()
else()
- message(WARNING "Found no DVIPS_CONVERTER; no doc will be generated")
+ message(WARNING "Found no dvips tool; no doc will be generated")
install(CODE "MESSAGE(\"doc generated only in .dvi files and man pages in .ps files\")")
endif()
else()
- message(WARNING "Found no LATEX_COMPILER; no doc will be generated")
+ message(WARNING "Found no texi2dvi tool; no doc will be generated")
add_custom_command(
TARGET doc
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- COMMAND echo no doc generated because of missing LATEX_COMPILER
+ COMMAND echo no doc generated because of missing texi2dvi
)
endif()