ExtendedDoxygen

Collection of helper properties and functions to ease the generation of Doxygen-based documentation from within cmake.

include-ing ExtendedDoxygen will check for

being set to NEW. See Prerequisites for a discussion on why.

include-ing ExtendedDoxygen transitively includes DoxygenAddDocumentation, i.e. there is no need to include the latter by hand.

Variables

include-ing ExtendedDoxygen introduces the DOXYGEN_GENERATE_DOXYGEN variable.

Properties

include-ing ExtendedDoxygen introduces two custom properties. Targets introduced after the include will feature the GENERATE_DOXYGEN target property. Source files introduced after the include will feature the GENERATE_DOXYGEN sourcefile property.

Commands

collect_doxygen_input
collect_doxygen_input(
    <returnVarSources>
    <returnVarIncludes>
    <rootDirectory>
)

Recursively collect all source files and include directories marked as input to doxygen.

Collects all source files that contribute to some target defined at or below directoy <rootDirectory> with the property GENERATE_DOXYGEN enabled. For source file level exclusion of certain files, also see the source file property GENERATE_DOXYGEN.

Additionally, all include directories annotated to targets get collected. Here, the list of include directories is populated from the iterated targets’ property INTERFACE_INCLUDE_DIRECTORIES.

Note

There is no way of excluding certain include directories as there is for source files (yet).

<returnVarSources>

return variable that gets set in the caller’s scope to hold the list of source files acting as input to doxygen

<returnVarIncludes>

return variable that gets set in the caller’s scope to hold the list of include directories

<rootDirectory>

top-most directory to traverse

The specified directory must be known to cmake, i.e. it has to have been introduced via add_subdirectory previously. Subdirectories that are known to cmake get traversed recursively.