Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to optimize doxygen for C++?

Tags:

c++

doxygen

For a Qt/C++ project we will use doxygen to generate some documentation, therefore I'm searching for a "optimal" config file.

One thing that I was thinking about is that you have stuff like

OPTIMIZE_OUTPUT_FOR_C  = NO
OPTIMIZE_OUTPUT_JAVA   = NO
OPTIMIZE_FOR_FORTRAN   = NO
OPTIMIZE_OUTPUT_VHDL   = NO

But I can't find something like that for C++, and I'm not sure if I need anything like that for C++.

Is there a option like "OPTIMIZE_OUTPUT_FOR_C++"?

Thanks Johan

like image 209
Johan Avatar asked Sep 15 '10 13:09

Johan


1 Answers

It seems to me that Doxygen is by default optimized for C++. From what I can tell, C++ was the first language that Doxygen was designed to be used with; it was supported as far back as the "Change Log" goes. Java support, on the other hand, was not added until version 1.2.5. The OPTIMIZE_OUTPUT_FOR_C option was also not added until 1.2.5, indicating that prior to 1.2.5, Doxygen was intended to be used more for C++, and less for C.

Without enabling any of the other OPTIMIZE_FOR_<X> options, Doxygen's output uses C++-style naming in the output. For instance, it will create a group header named "Classes" for listing all classes and structs. On the other hand, if OPTIMIZE_OUTPUT_FOR_C is turned on, that group header's name is changed to "Data Structures" (this makes sense since C doesn't have "classes").

So, if you want to optimize output for C++, I think the answer is just use the default optimization settings (i.e. don't turn on OPTIMIZE_OUTPUT_FOR_C or any of the other such options).

like image 110
Dan Moulding Avatar answered Sep 28 '22 08:09

Dan Moulding