79494808

Date: 2025-03-08 18:10:33
Score: 1.5
Natty:
Report link

I came to this question since I want to do the same: include some static functions; not all. I didn't find an answer anywhere, but discovered a way regardless; on my own.

  1. Check EXTRACT_STATIC and HIDE_UNDOC_MEMBERS
  2. Ensure EXTRACT_ALL is unchecked
  3. Ensure each static func you want included has a special comment header (i.e. starts with /**)
  4. (Of course) the file must have @file at the top

IMO this is inconsistent (and therefore annoying) behavior of doxygen. In general, doxygen includes a declaration that has the special comment header (as well as in a file with @file). But, static funcs are treated differently. You have to tell it to include all static funcs. But, that includes static funcs that have no doc comments! Annoying. So, have to tell it to ignore any declaration that has no documentation (special header block). Note that if you want to include declarations (i.e. non-static) that have no docs, then you won't want to make that change and then this procedure won't work for you. But, if want undocumented declarations included then you probably want all static funcs included. In fact, you probably want to check EXTRACT_ALL.

Note that EXTRACT_ALL is inconsistent with EXTRACT_STATIC. EXTRACT_ALL overrides HIDE_UNDOC_MEMBERS, but EXTRACT_STATIC does not. Come on doxygen!

Note: In the doxygen GUI frontend (doxywizard), the settings are under Expert tab, Build topic.

As this is a older question I'm sure the OP has moved along a long time ago. But, doxygen is still used today.

Reasons:
  • RegEx Blacklisted phrase (1): I want
  • Long answer (-1):
  • No code block (0.5):
  • User mentioned (1): @file
  • User mentioned (0): @file
Posted by: steve