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(MAKEINFO makeinfo)
|
||||||
find_program(TEXI2PDF texi2pdf)
|
find_program(TEXI2PDF texi2pdf)
|
||||||
find_program(MAN2HTML man2html)
|
find_program(MAN2HTML man2html)
|
||||||
|
find_program(GROFF groff)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
|
|
@ -57,8 +58,11 @@ foreach(file ${info_files})
|
||||||
if(NOT TEXI2PDF)
|
if(NOT TEXI2PDF)
|
||||||
message(WARNING "Could not find texi2pdf. PDF version of documentation will not be built.")
|
message(WARNING "Could not find texi2pdf. PDF version of documentation will not be built.")
|
||||||
else()
|
else()
|
||||||
|
if(BUILD_A4_PDF)
|
||||||
|
set(papersize --texinfo=@afourpaper)
|
||||||
|
endif()
|
||||||
add_custom_command(OUTPUT ${file_base}.pdf
|
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}
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${file}
|
||||||
VERBATIM)
|
VERBATIM)
|
||||||
list(APPEND ledger_doc_files ${file_base}.pdf)
|
list(APPEND ledger_doc_files ${file_base}.pdf)
|
||||||
|
|
@ -72,15 +76,21 @@ if(BUILD_WEB_DOCS)
|
||||||
if(NOT BASH)
|
if(NOT BASH)
|
||||||
message(FATAL_ERROR "Could not find bash. Unable to build documentation.")
|
message(FATAL_ERROR "Could not find bash. Unable to build documentation.")
|
||||||
endif()
|
endif()
|
||||||
if(NOT MAN2HTML)
|
if(MAN2HTML)
|
||||||
message(FATAL_ERROR "Could not find man2html. HTML version of man page cannot be built.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_custom_command(OUTPUT ledger.1.html
|
add_custom_command(OUTPUT ledger.1.html
|
||||||
COMMAND ${BASH} -c "man2html ${CMAKE_CURRENT_SOURCE_DIR}/ledger.1 | tail -n+3 > 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
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ledger.1
|
||||||
VERBATIM)
|
VERBATIM)
|
||||||
list(APPEND ledger_doc_files ledger.1.html)
|
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()
|
||||||
endif(BUILD_WEB_DOCS)
|
endif(BUILD_WEB_DOCS)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,29 @@
|
||||||
#!/bin/bash
|
#!/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..."
|
echo "===================================== Making Info..."
|
||||||
makeinfo ledger3.texi
|
makeinfo ledger3.texi
|
||||||
|
echo "===================================== Making HTML..."
|
||||||
|
makeinfo --html --no-split ledger3.texi
|
||||||
echo "===================================== Making PDF..."
|
echo "===================================== Making PDF..."
|
||||||
texi2pdf --quiet --batch ledger3.texi
|
texi2pdf --quiet --batch ${papersize} ledger3.texi
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue