doxygen
doxygen copied to clipboard
Add option to process documentation without actually writing any files
I use doxygen in my pre-commit stage. The vast majority of the time is spent on the doxygen output/warnings and not necessarily on the HTML output itself.
Errors/warnings can be caught without actually looking at the generated documentation. It would be nice to have an option to not write the files to the file system to increase efficiency and to keep things clean. e.g. doxygen --no-write / --no-output // --null-output. or else....
Which version of doxygen are you using?
You could try to set:
on *nux:
OUTPUT_DIRECTORY = "/dev/null"
HTML_OUTPUT = ""
on Windows:
OUTPUT_DIRECTORY = "nul:"
HTML_OUTPUT = ""
A quick test, on Wo0ndows, looks succeed.
- Please check out whether this works for you
I use doxygen v1.10.0 for Linux (Ubuntu 22.04.3 LTS), and just downloaded 1.10.0 for Windows to test it.
On Windows it does seem to work.
On Linux couldn't get doxygen to output to /dev/null, when running doxygen I get an error :Could not create output directory /dev/null/html
So actually Windows was a bit lucky. I see some more problems when using external programs that read / write files like:
bibtexfor the\citecommandlatexfor formulas (when not using MathJaxdotfor different type of graphs (call / caller graphs /\dotcommand etc.)plantumlfor the\startumlcommand- ...
So there are some side effects to be expected even when using a "non writing " output format.
I think this issue addresses the same issue as defined in #3256
#3256 is originally what I was looking for.
Currently I manually disable those side effects e.g HAVE_DOT = NO
Nevertheless, I wonder if this issue is equivalent to #3256, as it defines a "fast syntax checking mode", meaning is there something to be done to improve syntax checking in addition to disable file output ?
I got an idea when rereading your comment and had a quick look in the code.
One can set all GENERATE_... that are relevant to output to NO and define a tag file through GENERATE_TAGFILE, this disables all output and only writes the tagfile (should be acceptable). It looks like this is doing what you want and it also looks like you can even leave HAVE_DOT=YES (didn't test it with other external program settings), of course errors in these files won't be caught.