KSpam wrote:
Finally, Doxygen documentation is impossible to do in code generated with BOOST_PP. This is the only "real" issue as far as I am concerned. I wonder if there is a way to get that working with the help of wave.
There is. I use wave as a Doxygen filter when generating the docs for proto. The relevant parts of the Jamfile look like: wave-command = [ path.native ../../../../dist/bin/wave ] ; # Generate reference section using Doxygen doxygen protodoc : [ glob ../../../../boost/xpressive/proto/*.hpp ] : doxygen:paramEXTRACT_ALL=YES doxygen:paramHIDE_UNDOC_MEMBERS=NO # Use Boost.Wave to preprocess Proto's source doxygen:param"INPUT_FILTER=\"$(wave-command) \\ -S ../../../.. \\ -S \\\"C:\\Program Files\\Microsoft Visual Studio .NET 2003\\vc7\\include\\\" \\ -D _WIN32 \\ -D BOOST_PROTO_DOXYGEN_INVOKED \\ -p 1 \"" # This ensures that Wave is actually built before we try to execute it <dependency>../../../../tools/wave/build release ; xml proto : proto.qbk ; boostbook standalone : proto : xsl:paramtoc.max.depth=3 xsl:paramtoc.section.depth=3 xsl:paramchunk.section.depth=3 <dependency>protodoc ; This lives in CVS head at libs/xpressive/proto/doc/Jamfile.v2. Sadly, I've had to hard-code the standard include path. I don't know any other way. -- Eric Niebler Boost Consulting www.boost-consulting.com