Boost logo

Boost :

Subject: Re: [boost] Ordering the header files in the library's doxygen reference
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-04-22 10:00:51

On 4/22/2016 8:11 AM, Paul A. Bristow wrote:
>> -----Original Message-----
>> From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Edward Diener
>> Sent: 21 April 2016 22:39
>> To: boost_at_[hidden]
>> Subject: Re: [boost] Ordering the header files in the library's doxygen reference
>> On 4/21/2016 3:35 PM, Andrey Semashev wrote:
>>> On 2016-04-21 21:17, Edward Diener wrote:
>>>> It's the order of the header files which shows in the reference section
>>>> to the VMD library documentation which concerns me. The order is garbled
>>>> from what I specify in my jamfile, which makes it much harder for an
>>>> end-user to look in the reference section to find a VMD macro. This is
>>>> occuring despite the fact that I specify the order which I want the
>>>> header files to be listed in the reference section of the jamfile.
>>> The Docbook XML document is generated by Doxygen and, I assume, the
>>> order in which the headers are listed in the document is determined by
>>> Doxygen and not the Jamfile.
>> I would assume so also. But I would also assume for the Boost.Build
>> doxygen rule that the order of the 'sources' matches the order of INPUT
>> files in the doxygen configuration file, else how else is the doxygen
>> output being generated without an internal doxygen configuration. I also
>> can see in the output from quickbook that doxygen is parsing the files
>> in the exact order I give of the 'sources' to the doxygen rule. But I
>> can also see in the output from quickbook that doxygen is generating
>> docs for the files in the order that shows up in the final documentation
>> and that the order of generating files is very different from the order
>> it is parsing the files. You can see all this if you just look at the
>> VMD library's doc jamfile and try generating the doc for it yourself.
>> I asked both on the doxygen user's mailing list and on stackoverflow why
>> the order specified for the INPUT files does not match the order of
>> files for which the docs are generated and which appear in the reference
>> section, but there has been no answer to this. My guess is that the
>> doxygen programmer knows why, or perhaps it is a bug in some situation
>> I am encountering, but he is not telling if he knows. I notice quite a
>> few questions on the doxygen users mailing list never get answered.
>>> In Boost.Log docs I have the ALPHABETICAL_INDEX=YES Doxygen parameter,
>>> and in the generated docs the headers are listed alphabetically (within
>>> each Reference sub-section). Maybe that's what you're missing?
>> I tried it but it made no difference in the order of the generated
>> files. I did not think it would work, according to the documentation for
>> ALPHABETICAL_INDEX in the dosygen documentation file, and it did not.
>> Thanks anyway !
> Would it help diagnosing the problem to generate Standalone Doxygen and see if the order is what you want there?

I tried doing standalone doxygen and the order of header files for which
it was generating docs is again different from the order of header files
in which parses for its information. The latter matches the order I
specify for the doxygen INPUT configuration. Therefore it is essentially
processing the files exactly the same whether I use the Boost build
jamfile or standalone doxygen.

Where things are different is in the final documentation. In the Boost
build generated final documentation the reference is a flat list of
header files in the generated docs order. In the standalone doxygen
final documentation the header files are presented in a tree-like
structure off of the include directory so there is no sense of the
generated docs order being out of order from how I want an end-user to
view them. That is probably why no one using doxygen cares about the
generated order being different from the INPUT order. In Boost build the
output from doxygen goes into an .xml file which is further processed to
produce the reference section. In doxygen standalone the output I
generate is HTML using doxygen's own format for generating the HTML
output. I could of course tell doxygen standalone to generate xml, but I
am sure it will be the same xml file as Boost build generates and then
processes in its own way.

> Or could it work if you use a wild card to select all the files in one jamfile item like
> [ glob ../../../boost/your_lib/*.hpp ]

How can that ever be the right way to get the alphabetical order I want
? After all its the fact that I am purposely specifying the order of
INPUT headers I want by listing each file in the doxygen rule in Boost
build which should, at least theoretically produce the correct order.
using a glob can only make specifying the order more random.

Boost list run by bdawes at, gregod at, cpdaniel at, john at