Generate RDC docs on make and put into package

DOxygen docs from rdc.h will be generated on build and a
new pdf file will be created in the docs folder. Note
that the generated pdf should should only be updated in
the git repo when certain files are modified:

* rdc.h Doxygen comments are updated (or any future files that
are processed for Doxygen comments)

* the Doxygen config file is updated

Change-Id: I3084520f5b02aaa8e4973f9055d8679d6788b0ef
Этот коммит содержится в:
Chris Freehill committed 2020-08-17 14:07:25 -05:00
1 родитель 61579371f8
Коммит 3793e8df27
5 files changed
+37 -16

No files matched your search

+35
Просмотреть файл
@@ -164,6 +164,41 @@ install(TARGETS ${CLIENT_LIB}
# DESTINATION ${RDC}/include/rdc
# COMPONENT ${CLIENT_COMPONENT})
# Generate Doxygen documentation for client api manual
find_package(Doxygen)
find_package(LATEX COMPONENTS PDFLATEX)
if (DOXYGEN_FOUND AND LATEX_FOUND)
set (RDC_MANUAL_NAME "RDC_API_Manual")
message("Building ${RDC_MANUAL_NAME}.pdf")
configure_file(${PROJECT_SOURCE_DIR}/docs/rdc_doxygen.cfg
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.tex
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
DEPENDS ${PROJECT_SOURCE_DIR}/docs/rdc_doxygen.cfg
"${PROJECT_SOURCE_DIR}/include/rdc/rdc.h"
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf
COMMAND make > /dev/null
COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf
${PROJECT_SOURCE_DIR}/docs/${RDC_MANUAL_NAME}.pdf
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.tex
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/latex)
add_custom_target(docs DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf)
add_dependencies(${CLIENT_LIB} docs)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf
DESTINATION ${RDC}/docs/${RDC_MANUAL_NAME}.pdf
COMPONENT ${CLIENT_COMPONENT})
install(FILES ${PROJECT_SOURCE_DIR}/docs/README.md
DESTINATION ${RDC}/docs/
COMPONENT ${CLIENT_COMPONENT})
else()
message("Doxygen or Latex is not found. Will not generate documents.")
endif(DOXYGEN_FOUND AND LATEX_FOUND)
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
message(" Finished Cmake Client Lib ")
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")