Merge pull request #281 from afh/pull/gendocs
Improve the documentation tools
This commit is contained in:
commit
04d147c9a7
2 changed files with 44 additions and 10 deletions
|
|
@ -37,6 +37,7 @@ set(info_files ledger3.texi ledger-mode.texi)
|
|||
find_program(MAKEINFO makeinfo)
|
||||
find_program(TEXI2PDF texi2pdf)
|
||||
find_program(MAN2HTML man2html)
|
||||
find_program(GROFF groff)
|
||||
|
||||
########################################################################
|
||||
|
||||
|
|
@ -57,8 +58,11 @@ foreach(file ${info_files})
|
|||
if(NOT TEXI2PDF)
|
||||
message(WARNING "Could not find texi2pdf. PDF version of documentation will not be built.")
|
||||
else()
|
||||
if(BUILD_A4_PDF)
|
||||
set(papersize --texinfo=@afourpaper)
|
||||
endif()
|
||||
add_custom_command(OUTPUT ${file_base}.pdf
|
||||
COMMAND texi2pdf -b -q -o ${file_base}.pdf ${CMAKE_CURRENT_SOURCE_DIR}/${file}
|
||||
COMMAND texi2pdf ${papersize} -b -q -o ${file_base}.pdf ${CMAKE_CURRENT_SOURCE_DIR}/${file}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${file}
|
||||
VERBATIM)
|
||||
list(APPEND ledger_doc_files ${file_base}.pdf)
|
||||
|
|
@ -72,15 +76,21 @@ if(BUILD_WEB_DOCS)
|
|||
if(NOT BASH)
|
||||
message(FATAL_ERROR "Could not find bash. Unable to build documentation.")
|
||||
endif()
|
||||
if(NOT MAN2HTML)
|
||||
message(FATAL_ERROR "Could not find man2html. HTML version of man page cannot be built.")
|
||||
if(MAN2HTML)
|
||||
add_custom_command(OUTPUT ledger.1.html
|
||||
COMMAND ${BASH} -c "man2html ${CMAKE_CURRENT_SOURCE_DIR}/ledger.1 | tail -n+3 > ledger.1.html"
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ledger.1
|
||||
VERBATIM)
|
||||
list(APPEND ledger_doc_files ledger.1.html)
|
||||
elseif(GROFF)
|
||||
add_custom_command(OUTPUT ledger.1.html
|
||||
COMMAND ${BASH} -c "groff -mandoc -Thtml ${CMAKE_CURRENT_SOURCE_DIR}/ledger.1 > ledger.1.html"
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ledger.1
|
||||
VERBATIM)
|
||||
list(APPEND ledger_doc_files ledger.1.html)
|
||||
else()
|
||||
message(FATAL_ERROR "Could not find man2html or groff. HTML version of man page cannot be built.")
|
||||
endif()
|
||||
|
||||
add_custom_command(OUTPUT ledger.1.html
|
||||
COMMAND ${BASH} -c "man2html ${CMAKE_CURRENT_SOURCE_DIR}/ledger.1 | tail -n+3 > ledger.1.html"
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ledger.1
|
||||
VERBATIM)
|
||||
list(APPEND ledger_doc_files ledger.1.html)
|
||||
endif(BUILD_WEB_DOCS)
|
||||
|
||||
########################################################################
|
||||
|
|
|
|||
|
|
@ -1,5 +1,29 @@
|
|||
#!/bin/bash
|
||||
|
||||
# By default US Letter is used as the PDF papersize.
|
||||
# For those preferring other dimensions add a4 or small
|
||||
# as a commandline argument to this script to create a
|
||||
# DIN A4 or smallbook version of the PDF.
|
||||
case $1 in
|
||||
a4*|afour*)
|
||||
papersize='--texinfo=@afourpaper';;
|
||||
small*)
|
||||
papersize='--texinfo=@smallbook';;
|
||||
*)
|
||||
papersize='';; # US Letter is texinfo default
|
||||
esac
|
||||
|
||||
# Use keg-only Mac Hombrew texinfo if installed.
|
||||
# Since texi2pdf is a shell script itself executing texi2dvi
|
||||
# PATH is prepended with the path to correct texinfo scripts.
|
||||
if [ $(uname -s) = 'Darwin' ]; then
|
||||
brew list texinfo >/dev/null 2>&1 \
|
||||
&& export PATH="$(brew --prefix texinfo)/bin:$PATH"
|
||||
fi
|
||||
|
||||
echo "===================================== Making Info..."
|
||||
makeinfo ledger3.texi
|
||||
echo "===================================== Making HTML..."
|
||||
makeinfo --html --no-split ledger3.texi
|
||||
echo "===================================== Making PDF..."
|
||||
texi2pdf --quiet --batch ledger3.texi
|
||||
texi2pdf --quiet --batch ${papersize} ledger3.texi
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue