Tuesday, December 01, 2009

doxygen weirdness

Spent most of my day getting Doxygen working with Visual Studio 2008. Finally happy with the output after lots of fiddling and trial-and-error. Now my API documentation is getting generated every time I do a build (and tested with UnitTest++).

Some oddities I had to deal with:
  • doxygen doesn't report an error if you've got \msc in your docs, just silently puts a invalid image reference into the HTML. Doesn't seem to actually try to do anything with the \msc command unless you set MSCGEN_PATH
  • I've got doxygen/dot/mscgen checked-in to subversion relative to my project's source code. Running doxygen from a Visual Studio post-build step, and decided to wrap it with a batch script. At least on windows, doxygen seems to have trouble reading an environment variable to set DOT_PATH / MSCGEN_PATH. Seems like it expands the env variable just fine, but it reports an error saying it can't find dot. Ended up just putting the relative path into the config file. Annoying since now I can't share the config file w/ multiple projects at different levels of the tree... but hey, free-ish UML sequence diagrams via mscgen.
  • If I enable HAVE_DOT, lots of unhelpful error messages whenever it tries to run dot. A little googling turned up the problem -- doxygen tries to avoid re-doing some work if it thinks it doesn't have to regenerate some files. Not sure why it isn't working, but you can work-around the problem by creating a pre-build step that deletes the document-output directory.
When I wasn't messing with Doxygen, I was waiting in line at the DMV to renew my driver's license. Whee.

5 comments:

Bartski said...

Didja notice that when you get all nerdy and talk about work stuff that nobody cares?

Actually, it might be more related to the fact that we don't know what you're talking about.

neeber said...

True

Bartski said...

Still...that doesn't mean I love you any less.

Have you ever read The Satanic Verses? Weird book - kinda reminds me of a cross between Kurt Vonnegut and Jack Kerouac. Rushdie uses a strange writing style in this one, but it does seem to be getting a little less weird as it progresses.

neeber said...

satanic verses? why do you hate the baby jesus?

Bartski said...

*sigh*