15
votes

Is there a way to suppress Doxygen from giving "not documented" warnings on particular files? My project has several automatically generated code headers that cause it to throw hundreds or thousands of errors that make it difficult to sift through.

4

4 Answers

15
votes

There's a config option for that, as stated in documentation

WARN_IF_UNDOCUMENTED

If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag will automatically be disabled.

13
votes

You could use suppression tags in the generated files:

//! @cond Doxygen_Suppress
code
//! @endcond

You don't need the "Doxygen_Suppress" in there, but I like it for clarity.

There are more options in the doxygen FAQ

EDIT: Ok, I should have done my due diligence, I have an answer that is more appropriate to your situation. I believe you need to exclude the files entirely. Add this to your doxygen file:

# The EXCLUDE tag can be used to specify files and/or directories that should 
# excluded from the INPUT source files. This way you can easily exclude a 
# subdirectory from a directory tree whose root is specified with the INPUT tag.

EXCLUDE                = abc.cpp \
                         abc.h

The irony is I have had this problem and solved it, then forgot all about it... Brain must be full again.

I pulled this information from the doxygen Configuration page, but if you are lazy like me, just use the gui tool (doxywizard) and go through and select all the things you want and have it save the doxyfile for you.

1
votes

In my automatically generated headers I just add the doxygen documentation into the auto-generation routine.

This means that nothing is left undocumented.

0
votes

If anyone is using Eclipse, I definitely suggest to open your file (*.doxyfile) with a text editor (note that eclipse open it with "Doxyfile Editor" by default).

So:

  • right click on your doxyfile and select "open-with"->"text editor"
  • search for WARN_IF_UNDOCUMENTED (setted 'YES' by default)
  • change in 'NO'.

Adding tags

//! @cond Doxygen_Suppress
code
//! @endcond

if you have many classes should be boring and hard.

Documentation for other configuration's options are available here.