Doxygen docs: convert doxygen input file to current version

CMake only: "current" version means the doxygen version available
on the system where docs are generated.

Todo: do the same for autoconf/make builds.
This commit is contained in:
Albrecht Schlosser 2021-09-21 20:28:02 +02:00
parent a774e120bc
commit 54213b95fe
1 changed files with 35 additions and 10 deletions

View File

@ -36,22 +36,34 @@ if (OPTION_BUILD_HTML_DOCUMENTATION)
set (GENERATE_LATEX NO)
set (LATEX_HEADER "")
configure_file (
${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
@ONLY
)
configure_file (
${CMAKE_CURRENT_SOURCE_DIR}/src/tiny.png
${CMAKE_CURRENT_BINARY_DIR}/html/tiny.png
COPYONLY
)
# generate html docs
# configure Doxygen input file for HTML docs (Doxyfile.in)
configure_file (
${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.in
@ONLY
)
# convert Doxyfile to current doxygen version
add_custom_command (
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${DOXYGEN_EXECUTABLE} -u -s - < Doxyfile.in > Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Converting Doxyfile to current doxygen version" VERBATIM
)
# generate HTML documentation
add_custom_target (html
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating HTML documentation" VERBATIM
)
@ -66,7 +78,7 @@ if (OPTION_BUILD_PDF_DOCUMENTATION)
list (APPEND DOCS pdf)
# generate Doxygen file "Doxybook"
# generate Doxygen input file "Doxybook"
set (GENERATE_HTML NO)
set (GENERATE_LATEX YES)
@ -79,12 +91,23 @@ if (OPTION_BUILD_PDF_DOCUMENTATION)
OUTPUT_VARIABLE YEAR
)
# configure Doxygen input file for PDF docs (Doxybook.in)
configure_file (
${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
${CMAKE_CURRENT_BINARY_DIR}/Doxybook
${CMAKE_CURRENT_BINARY_DIR}/Doxybook.in
@ONLY
)
# convert Doxybook to current doxygen version
add_custom_command (
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Doxybook
COMMAND ${DOXYGEN_EXECUTABLE} -u -s - < Doxybook.in > Doxybook
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Converting Doxybook to current doxygen version" VERBATIM
)
# generate LaTeX title fltk-title.tex
configure_file (
@ -103,6 +126,8 @@ if (OPTION_BUILD_PDF_DOCUMENTATION)
COMMAND ${DOXYGEN_EXECUTABLE} Doxybook
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/make_pdf
COMMAND cp -f latex/refman.pdf fltk.pdf
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Doxybook
${CMAKE_CURRENT_BINARY_DIR}/fltk-title.tex
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating PDF documentation" VERBATIM
)