Allow Staging Sphinx Documentation#764
Conversation
chapman39
commented
May 29, 2026
- adds new arguments to blt_add_sphinx_target to set sphinx source and conf.py dirs, as well as an explicit DEPENDS argument
- adds documentation for the motivation and how to use this new feature
- tested minimal, advanced examples, also one using conf.py.in file
kennyweiss
left a comment
There was a problem hiding this comment.
Thanks @chapman39
The PR description says
tested minimal, advanced examples, also one using conf.py.in file
but I didn't see a test.
Also, please see my comment about staging
|
thank you for the feedback @kennyweiss . about testing, i meant i tested the cmake macro locally for the 3 use-cases mentioned. if we want documentation testing in blt let me know. we might need to modify the host configs to include SPHINX_DIR, or something. or i can create an issue on it and we can come back to it. |
|
I think it's in good shape after your latest changes (i.e. highlighting in the code/user docs and RELEASE_NOTES that |
| set(_doxygen_options) | ||
| set(_doxygen_single_value_args TARGET) | ||
| set(_doxygen_multi_value_args) | ||
| cmake_parse_arguments(DOXYGEN |
There was a problem hiding this comment.
To be consistent with the rest of BLT, this should have been:
cmake_parse_arguments(arg
Like:
Lines 20 to 26 in 8999632
This makes it so all the arguments stand out, for example DOXYGEN_TARGET would have been arg_TARGET.
This isnt user facing so is easy to fix in a follow up PR. Would you mind doing one?
| "blt_add_doxygen_target received unexpected arguments: ${DOXYGEN_UNPARSED_ARGUMENTS}") | ||
| endif() | ||
|
|
||
| if(NOT DOXYGEN_TARGET) |
There was a problem hiding this comment.
The specific check should probably go first as well.
| .. code-block:: cmake | ||
|
|
||
| set(PROJECT_A_STAGE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_stage") | ||
| set(PROJECT_A_SOURCE_DIR "${PROJECT_A_STAGE_DIR}/src/docs") |
There was a problem hiding this comment.
I think you should set PROJECT_B_SOURCE_DIR here as well and just call it SPHINX_STAGE_DIR not PROJECT_A_STAGE_DIR