how-to-export-cpp-library
                                
                                 how-to-export-cpp-library copied to clipboard
                                
                                    how-to-export-cpp-library copied to clipboard
                            
                            
                            
                        Generate a Doxygen TAG file
From #24.
What do you mean with TAG, to handle the project version?
What do you mean with TAG, to handle the project version?
cc @traversaro
See the Doxytag docs for more info. Basically they are useful to ensure cross-projects links in Doxygen documentation.
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.
Do we have some sample code about this?
See usage of YARP_DOXYGEN_TAGFILE and DOX_GENERATE_TAGFILE in https://github.com/robotology/yarp/blob/master/cmake/YarpDoc.cmake#L43 .
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 .
See also https://en.cppreference.com/w/Cppreference:Archives#Doxygen_tag_file .
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!
Relevant ign-cmake PR: https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/65/doxygen-macro-for-downstream-packages-30/diff .
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.