-
Notifications
You must be signed in to change notification settings - Fork 216
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix doxygen_xml2qbk
execution from make_qbk.py
#1312
Conversation
When b2 invokes doc/make_qbk.py, it passes a relative path to the compiled doxygen_xml2qbk executable. This path becomes invalid if used from a directory different from doc, which may happen as make_qbk.py changes the current directory during its execution. Additionally, doc/index/make_qbk.py invokes doxygen_xml2qbk unqualified, which requires the executable to be in PATH and is never the case unless the user has pre-compiled and placed it accordingly. To fix this, first resolve the paths to doxygen and doxygen_xml2qbk to absolute paths before changing the current directory. Additionally, pass the resolved path to doxygen_xml2qbk to doc/index/make_qbk.py via the DOXYGEN_XML2QBK environment variable. Fixes boostorg#1311.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot!
So this fixes a structural issue and makes making documentation easier.
For others, @Lastique also solved the "1.79.2" problem, as discussed here
boostorg/boostbook#13
For that research, this PR was essential.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot, looks good to me, I approve.
Just a note on documentation, there is a CI job that builds documentation and seems to work as expected. Of course it is on Ubuntu so it cannot catch issues on Mac/win etc.
The |
That is a good suggestion, I opened a PR. Please feel free to review it. |
When
b2
invokesdoc/make_qbk.py
, it passes a relative path to the compileddoxygen_xml2qbk
executable. This path becomes invalid if used from a directory different from doc, which may happen asmake_qbk.py
changes the current directory during its execution. Additionally,doc/index/make_qbk.py
invokesdoxygen_xml2qbk
unqualified, which requires the executable to be inPATH
and is never the case unless the user has pre-compiled and placed it accordingly.To fix this, first resolve the paths to
doxygen
anddoxygen_xml2qbk
to absolute paths before changing the current directory. Additionally, pass the resolved path todoxygen_xml2qbk
todoc/index/make_qbk.py
via theDOXYGEN_XML2QBK
environment variable.Fixes #1311.