diff options
Diffstat (limited to 'doc/CMakeLists.txt')
-rw-r--r-- | doc/CMakeLists.txt | 57 |
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() |