Is there a guide on writing your doxygen generation with the Modern CMake approach? I’d like to not have to re-write all the include paths and #defines a second time in the doxygen call, I’d like to be able to get those values from the targets themselves. Basically a way to build doxygen-per-target (like an executable && all it’s transitive dependencies).
doxygen_add_docs() command from the FindDoxygen module what you’re looking for, or are you after something else?
As far as I know,
doxygen_add_docs() doesn’t take dependent TARGETS which it can pull transitive compile defines, includes, warnings, etc. It wants you do provide #defines and INCLUDES via the DOXYGEN_xxx variables.
It would be great if we could build documentation based on how the code was built, i.e. using the paths and defines given to the code.
For example, this would be nice:
add_executable(foo <sources>) target_compile_defines(foo -D...) target_include_directories(foo -I...) doxygen_add_docs(foo_docs ... TARGET foo ...)