how-to-export-cpp-library icon indicating copy to clipboard operation
how-to-export-cpp-library copied to clipboard

Generate a Doxygen TAG file

Open claudiofantacci opened this issue 6 years ago • 12 comments

claudiofantacci avatar Dec 17 '18 08:12 claudiofantacci

From #24.

claudiofantacci avatar Dec 17 '18 08:12 claudiofantacci

What do you mean with TAG, to handle the project version?

diegoferigo avatar Dec 17 '18 14:12 diegoferigo

What do you mean with TAG, to handle the project version?

cc @traversaro

claudiofantacci avatar Dec 17 '18 14:12 claudiofantacci

See the Doxytag docs for more info. Basically they are useful to ensure cross-projects links in Doxygen documentation.

traversaro avatar Dec 17 '18 16:12 traversaro

I remember now that we discussed on this super cool feature long time ago. Since all our documentation is based on doxygen it would be great having a simple example running.

diegoferigo avatar Dec 19 '18 08:12 diegoferigo

Do we have some sample code about this?

claudiofantacci avatar Dec 19 '18 08:12 claudiofantacci

See usage of YARP_DOXYGEN_TAGFILE and DOX_GENERATE_TAGFILE in https://github.com/robotology/yarp/blob/master/cmake/YarpDoc.cmake#L43 .

traversaro avatar Dec 19 '18 09:12 traversaro

Not sure if they do something similar in ignition-cmake, but I just saw that they have this supercool file that I guess make sure that std doxygen objects are linked to cppreference.com : https://bitbucket.org/ignitionrobotics/ign-cmake/src/default/doc/doxygen/cppreference.tag.xml .

traversaro avatar Dec 19 '18 09:12 traversaro

See also https://en.cppreference.com/w/Cppreference:Archives#Doxygen_tag_file .

traversaro avatar Dec 19 '18 09:12 traversaro

Well, there is some work here to do. I reckon if we can make a standard template project for this it will be really super useful!

claudiofantacci avatar Dec 19 '18 09:12 claudiofantacci

Relevant ign-cmake PR: https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/65/doxygen-macro-for-downstream-packages-30/diff .

traversaro avatar Dec 19 '18 09:12 traversaro

Well, there is some work here to do. I reckon if we can make a standard template project for this it will be really super useful!

Definitely. Another tricky part is how to handle discovering and handling of TAG files of upstream libraries. This is something that the CMake config file could expose, but I am not aware of any C++ project that does this (that's the reason I wanted to check if they di something similar in the ignition projects).

Once we have something like that in place, we can generate in one shot all the doxygen docs for the packages in a superbuild, in a way that they cross link between one and another.

traversaro avatar Dec 19 '18 09:12 traversaro