From cbe31ec920cf1fc94739f5427292c501f1d171e8 Mon Sep 17 00:00:00 2001 From: Nate Koenig <nate@openrobotics.org> Date: Thu, 3 Sep 2020 06:53:25 -0700 Subject: [PATCH] Add additional input directories to parse when generating documentation Signed-off-by: Nate Koenig <nate@openrobotics.org> --- cmake/IgnCreateDocs.cmake | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cmake/IgnCreateDocs.cmake b/cmake/IgnCreateDocs.cmake index 030db1d2..a7d69df0 100644 --- a/cmake/IgnCreateDocs.cmake +++ b/cmake/IgnCreateDocs.cmake @@ -26,6 +26,7 @@ # [API_MAINPAGE_MD <api_markdown_mainpage>] # [AUTOGENERATED_DOC <generated doc dir>] # [TUTORIALS_MAINPAGE_MD <tutorials_markdown_mainpage>] +# [ADDITIONAL_INPUT_DIRS <directory_list>] # [TAGFILES <tagfile_list>]) # # This function will configure doxygen templates and install them. @@ -35,6 +36,7 @@ # AUTOGENERATED_DOC: Optional. Directory with the generated code. # TUTORIALS_MAINPAGE_MD: Optional. Specify a Markdown page to use as the # main page for tutorial documentation. +# ADDITIONAL_INPUT_DIRS: Optional. Specify additional input directories to parse when generating documentation. # TAGFILES: Optional. Specify tagfiles for doxygen to use. It should be a list of strings like: # "${IGNITION-<DESIGNATION>_DOXYGEN_TAGFILE} = ${IGNITION-<DESIGNATION>_API_URL}" function(ign_create_docs) @@ -43,7 +45,7 @@ function(ign_create_docs) # Define the expected arguments set(options) set(oneValueArgs API_MAINPAGE_MD AUTOGENERATED_DOC TUTORIALS_MAINPAGE_MD) - set(multiValueArgs "TAGFILES") + set(multiValueArgs "TAGFILES" "ADDITIONAL_INPUT_DIRS") #------------------------------------ # Parse the arguments @@ -119,6 +121,12 @@ function(ign_create_docs) ign_string_append(IGNITION_DOXYGEN_TAGFILES "\"${tagfile}\"" DELIM " \\\\\\\\\n ") endforeach() + set(IGNITION_DOXYGEN_ADDITIONAL_INPUT_DIRS " ") + + foreach(dir ${ign_create_docs_ADDITIONAL_INPUT_DIRS}) + ign_string_append(IGNITION_DOXYGEN_ADDITIONAL_INPUT_DIRS "${dir}") + endforeach() + find_package(Doxygen) if (DOXYGEN_FOUND AND EXISTS ${IGNITION_CMAKE_DOXYGEN_DIR}/api.in) @@ -137,7 +145,7 @@ function(ign_create_docs) # about the spaces between input files/directories. If you put each cmake # variable on a separate line to make this `set` command more readable, # then doxygen will not generate the correct/complete output. - set(IGNITION_DOXYGEN_INPUT "${IGNITION_DOXYGEN_API_MAINPAGE_MD} ${IGNITION_DOXYGEN_AUTOGENERATED_DOC} ${IGNITION_DOXYGEN_TUTORIALS_DIR} ${IGNITION_DOXYGEN_TUTORIALS_MAINPAGE_MD} ${ign_doxygen_component_input_dirs}") + set(IGNITION_DOXYGEN_INPUT "${IGNITION_DOXYGEN_API_MAINPAGE_MD} ${IGNITION_DOXYGEN_AUTOGENERATED_DOC} ${IGNITION_DOXYGEN_TUTORIALS_DIR} ${IGNITION_DOXYGEN_TUTORIALS_MAINPAGE_MD} ${ign_doxygen_component_input_dirs} ${IGNITION_DOXYGEN_ADDITIONAL_INPUT_DIRS}") configure_file(${IGNITION_CMAKE_DOXYGEN_DIR}/api.in ${CMAKE_BINARY_DIR}/api.dox @ONLY)