in reply to Re^2: Doxygen Perl Filter on Windows
in thread Doxygen Perl Filter on Windows

Sorry, I didn't intend to imply you wanted us to do your work for you, but just that I couldn't figure out from your description what problem you were having. In such cases examples can help a lot.

I got curious about the problem and it turns out that the module documentation is crap! Marshall had part of the answer and careful trawling through the module documentation and a little experimenting provided the rest. The key is that doxygen-filter-perl, as the name suggests, is just a filter. Use it as: doxygen-filter-perl source-file.pm > source-file.cpp then use doxygen Doxyfile as suggested in the documentation to parse the .cpp files and generate the documentation.

If I had a pile of this stuff to do I'd write a wrapper script that processes a directory tree of modules and scripts to do the doxygen-filter-perl step (copy appropriate code from the doxygen-filter-perl script).

True laziness is hard work

Replies are listed 'Best First'.
Re^4: Doxygen Perl Filter on Windows
by Anonymous Monk on Dec 28, 2011 at 16:27 UTC

    There is no need to do the piping to a .cpp file and there is no need to write a wrapper that will parse a directory tree, it already does that. The Doxyfile configuration file controls all of that. You do NOT need to run doxygen-filter-perl as a stand alone script. Doxygen will call it as it parses the directory tree. All of this is standard doxygen style stuff. See the Doxygen manual for more information.

    As the docs on CPAN state, all you need to do is place a Doxyfile configuration file is the base of your project and then run "doxygen Doxyfile". You will then magically get a documentation tree called something like ./doc/html/

    I think you are trying to make this much harder than it is. I also think you are trying to use this like "perldoc" for viewing POD. Doxygen::Filter::Perl does not work by itself. You must have Doxygen installed and you must use Doxygen to call it.

      That would all be fine if it works as trivially as you suggest. However the OP and I both had the same experience trying to use the tool as described in the module's documentation. I had Doxygen installed. I followed the instructions in the POD (to the extent I could - see below). A doc folder was created where I expected it to be and there was an index.html file where I expected it to be. When I opened the index.html the page shown was essentially empty. By following the manual steps I described I could get Doxygen to generate the documentation I expected.

      There is a gap between the process you describe and what the OP and I experienced. Maybe there is a configuration setting somewhere that we have missed, but if so it is not clearly documented and you haven't mentioned it. I searched the Doxyfile for any Perl related configuration information that may be pertinent, but didn't find anything. Note though that there was no Doxyfile installed to the bin folder containing the doxygen-filter-perl script or in the Doxygen::Filter::Perl context, which were the only places I could think of to look in response to the "Copy over the Doxyfile file from this project" instruction.

      It would help a great deal if there were documentation for any special content in the Doxyfile that is pertinent to using Doxygen::Filter::Perl. It would probably also help if "this project" were rather less vague as on reflection this is most likely where things have gone pear shaped!

      True laziness is hard work