[cfe-dev] Doxygen 1.8.4 uses libclang to improve parsing

David Röthlisberger david at rothlis.net
Mon May 20 11:15:11 PDT 2013


On 20 May 2013, at 18:53, Chandler Carruth wrote:
> 
> On Mon, May 20, 2013 at 5:38 PM, David Röthlisberger <david at rothlis.net> wrote:
>> On 20 May 2013, at 18:19, Dimitri van Heesch wrote:
>> > I'm pleased to announce that as of version 1.8.4 doxygen can optionally use libclang to
>> > provide a more accurate source browsing experience, and better syntax highlighting,
>> > cross referencing, and call graphs.
>> 
>> 
>> Great news! How does it work: How does doxygen get hold of the compiler
>> flags that it needs to pass to clang?
>> 
>> (This is the hardest thing I've found with any clang-based tooling.)
> 
> We designed a whole system to solve this problem. Some documentation:
> 
> http://clang.llvm.org/docs/JSONCompilationDatabase.html#json-compilation-database-format-specification
> http://clang.llvm.org/docs/LibTooling.html#writing-a-standalone-tool
> 
> It would be best to re-use this work so that all of the tools use the same platform for communicating with build systems.

Thanks; I'm aware of the JSON compilation database. It's still a little
bit complicated if you're not using CMake. :-)

I've tried to document the various approaches here (it's the README for
my toy tool, "clang-ctags"):
https://github.com/drothlis/clang-ctags#compilation-command-line

Though it would certainly be awesome if Doxygen supported the
compilation database... :-)





More information about the cfe-dev mailing list