llnl / llnl/blt

enhanced staging sphinx documentation

Open
#765 0 comments 0 reactions 1 assignee View on GitHub

@chapman39 is already working on this.

Since Jun 2, 2026.

Dominant language
C++
Stars
296
Forks
66
Avg merge
1h 3m
Merged PRs (30d)
1

Description

https://github.com/llnl/blt/pull/764#discussion_r3321550467

```cmake
set(PROJECT_A_STAGE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_stage")
set(PROJECT_A_SOURCE_DIR "${PROJECT_A_STAGE_DIR}/src/docs")

add_custom_target(stage_my_docs
COMMAND ${CMAKE_COMMAND} -E remove_directory "${PROJECT_A_STAGE_DIR}"
COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_A_STAGE_DIR}"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${PROJECT_B_SOURCE_DIR}/src" "${PROJECT_A_STAGE_DIR}/src"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${PROJECT_B_SOURCE_DIR}/examples" "${PROJECT_A_STAGE_DIR}/examples"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${PROJECT_B_SOURCE_DIR}/tests" "${PROJECT_A_STAGE_DIR}/tests"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}" "${PROJECT_A_SOURCE_DIR}"
COMMENT "Staging documentation from project A and B sources"
VERBATIM)

blt_add_sphinx_target(my_docs
SOURCE_DIR "${PROJECT_A_SOURCE_DIR}"
CONF_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
DEPENDS stage_my_docs)
```

the custom cmake target to stage the directories in to a single sphinx source dir, `stage_my_docs`, could be wrapped within the `blt_add_sphinx_target` macro.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.