Noman
Noman

Reputation: 303

Doxygen not documenting headers in nested directories

Here is my demo project structure

Demo
│   Doxyfile
│   hello.h
│
├───doc
└───lib
    └───include
            bye.h

Here are hello and bye files

/**
 * @file
 * @author My Self
 * @date 9 Sep 2012
 * @brief File containing example of doxygen usage for quick reference.
 *
 * Here typically goes a more extensive explanation of what the header
 * defines. Doxygens tags are words preceeded by either a backslash @\
 * or by an at symbol @@.
 */

#ifndef HELLO_H
#define HELLO_H

/**
 * Bye Function
 * @returns 0;
 */
int hello();

#endif /* HELLO_H */

/**
 * @file
 * @author My Self
 * @date 9 Sep 2012
 * @brief File containing example of doxygen usage for quick reference.
 *
 * Here typically goes a more extensive explanation of what the header
 * defines. Doxygens tags are words preceeded by either a backslash @\
 * or by an at symbol @@.
 */

#ifndef BYE_H
#define BYE_H

/**
 * Bye Function
 * @returns 0;
 */
int bye();

#endif /* BYE_H */

Doxygen only documents the hello.h and not bye.h Here is my doxyfile.

Here is the doxygen log

Doxygen version used: 1.8.19 (21742756bdcc961f1542d168e64e17ee30694b62)
Searching for include files...
Searching for example files...
Searching for images...
Searching for dot files...
Searching for msc files...
Searching for dia files...
Searching for files to exclude
Searching INPUT for files to process...
Searching for files in directory P:/TEMP/CoreProgramming/CProjects/Demo
Reading and parsing tag files
Parsing files
Preprocessing P:/TEMP/CoreProgramming/CProjects/Demo/hello.h...
Parsing file P:/TEMP/CoreProgramming/CProjects/Demo/hello.h...
Building macro definition list...
Building group list...
Building directory list...
Building namespace list...
Building file list...
Building class list...
Computing nesting relations for classes...
Associating documentation with classes...
Building example list...
Searching for enumerations...
Searching for documented typedefs...
Searching for members imported via using declarations...
Searching for included using directives...
Searching for documented variables...
Building interface member list...
Building member list...
Searching for friends...
Searching for documented defines...
Computing class inheritance relations...
Computing class usage relations...
Flushing cached template relations that have become invalid...
Computing class relations...
Add enum values to enums...
Searching for member function documentation...
Creating members for template instances...
Building page list...
Search for main page...
Computing page relations...
Determining the scope of groups...
Sorting lists...
Determining which enums are documented
Computing member relations...
Building full member lists recursively...
Adding members to member groups.
Computing member references...
Inheriting documentation...
Generating disk names...
Adding source references...
Adding xrefitems...
Sorting member lists...
Setting anonymous enum type...
Computing dependencies between directories...
Generating citations page...
Counting members...
Counting data structures...
Resolving user defined references...
Finding anchors and sections in the documentation...
Transferring function references...
Combining using relations...
Adding members to index pages...
Correcting members for VHDL...
Generating style sheet...
Generating search indices...
Generating example documentation...
Generating file sources...
Generating code for file hello.h...
Generating file documentation...
Generating docs for file hello.h...
Generating page documentation...
Generating group documentation...
Generating class documentation...
Generating namespace index...
Generating graph info page...
Generating directory documentation...
Generating index page...
Generating page index...
Generating module index...
Generating namespace index...
Generating namespace member index...
Generating annotated compound index...
Generating alphabetical compound index...
Generating hierarchical class index...
Generating member index...
Generating file index...
Generating file member index...
Generating example index...
finalizing index lists...
writing tag file...
Running plantuml with JAVA...
lookup cache used 1/65536 hits=1 misses=1
finished...
*** Doxygen has finished

How do I document bye.h?

I have checked scan recursive, optimize for C, extract all and source browser option, nothing seems to be working, and doxygen is not even looking into the lib folder.

Upvotes: 0

Views: 677

Answers (1)

Noman
Noman

Reputation: 303

Thanks to albert and Karsten Koop for helping me out.

Seems like this is an open issue in Doxywizard. Follow here on github. Only doxywizard affected version is 1.8.19 and the command line version of doxygen version 1.8.19 when using stdin as input for the doxygen configuration settings (i.e. doxygen -).

And according to the thread, the only survival tool is the command line.

The easiest approach is to use Doxywizard to generate Doxyfile. And then use the command line doxygen tool with Doxyfile as an argument to generate docs. Before that add doxygen path in windows PATH variable (by default it is, C:\Program Files\doxygen\bin).

Upvotes: 0

Related Questions