The aim is to create the documentation for my whole Visual Studio C# solution automatically with Doxygen. This should happen on an external buildserver with Jenkins. The structure of my project is like that:
Root
Tools
doxygen-1.8.0
doxygen.exe
Project1
bin
...
Project2
bin
...
...
When creating a doxyfile with the Doxywizard, the paths for the input and output are unfortunately absolute - which means that they depend on my developer machine and won't work on the Jenkins server anymore. Do you know how I can fix that? I have the suspicion that this has something to do with Doxygen's FULL_PATH_NAMES
and STRIP_FROM_PATH
, but to be honest, I don't get the descriptions of those two parameters. Maybe I am wrong and this hasn't anything to do with the 2 parameters at all.
I'm not sure whether doxygen on Windows expects the configuration file to use Windows paths (with the backslash separator) or Unix paths (with the forward slash). Regardless, you should make sure your paths are relative to the directory from which you run doxygen.
In your Doxyfile, set the INPUT
list and OUTPUT_DIRECTORY
to relative paths. Assuming you're running from within Root:
INPUT = ./Project1 \
./Project2
In general, you should update all the variables that specify paths to be relative (and make sure your resources are checked into source control).
In some of our projects, I've found it convenient to set the OUTPUT_DIRECTORY via an environment variable:
OUTPUT_DIRECTORY = $(DOXYGEN_OUTOUT_DIR)
in others, its just a relative path:
OUTPUT_DIRECTORY = ./gen/docs
The leading ./
is not strictly necessary, but it's a readable indicator that this is a relative path.
The FULL_PATH_NAMES
variable will not help you, it controls how the files appear in the generated File List.