Fabian
Fabian

Reputation: 4211

What is the QHG_LOCATION path relative to for doxygen?

When I set QHG_LOCATION to be an absolute path, I can create a valid doxygen documentation in html and qch. If I put qhelpgenerator and its DLLs into the current directory ./ and set QHG_LOCATION=qhelpgenerator, it also works. But I cannot figure out how to put the qhelpgenerator into a subdirectory qt/bin/qhelpgenerator and have doxygen find it. It always says

error: failed to run qhelpgenerator on index.qhp

which means that it could not find qhelpgenerator.

So the question is: If I want QHG_LOCATION to be a relative path, what directory is it relative to? It is neither relative to ./ nor to the html output directory.

Upvotes: 0

Views: 517

Answers (2)

albert
albert

Reputation: 9077

Debugging the problem can be done by outputting the external commands executed: doxygen -d extcmd and execute the given command 'by hand' outside of doxygen.

From the documentation of QHG_LOCATION:

The QHG_LOCATION tag can be used to specify the location of Qt's qhelpgenerator. If nonempty doxygen will try to run qhelpgenerator on the generated .qhp file.

and from the documenattion of QCH_FILE:

If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify the file name of the resulting .qch file. The path specified is relative to the HTML output folder.

Upvotes: 2

Fabian
Fabian

Reputation: 4211

Indeed, both QHG_LOCATION and QCH_FILE must be relative to the HTML output directory. Furthermore, you must use backslashes \ as directory separators on Windows. Forward slashes are supported in the rest of the doxyfile but not here.

I find both issues quite irritating, but this is the way it is.

Thanks to albert for a helpful comment!

Upvotes: 0

Related Questions