
* Add spec generation to offload-tblgen tool * This patch adds generation of Sphinx compatible reStructuedText utilizing the C domain to document the Offload API directly from the spec definition `.td` files. * Add Sphinx HTML documentation target * Introduces the `docs-offload-html` target when CMake is configured with `LLVM_ENABLE_SPHINX=ON` and `SPHINX_OUTPUT_HTML=ON`. Utilized `offload-tblgen -gen-spen` to generate Offload API specification docs.
38 lines
1.6 KiB
CMake
38 lines
1.6 KiB
CMake
if(LLVM_ENABLE_SPHINX)
|
|
include(AddSphinxTarget)
|
|
if(SPHINX_FOUND AND SPHINX_OUTPUT_HTML)
|
|
# Generate offload-api.rst from OffloadAPI.td
|
|
set(LLVM_TARGET_DEFINITIONS
|
|
${OFFLOAD_SOURCE_DIR}/liboffload/API/OffloadAPI.td)
|
|
tablegen(OFFLOAD source/offload-api.rst -gen-doc
|
|
EXTRA_INCLUDES ${OFFLOAD_SOURCE_DIR}/liboffload/API)
|
|
add_public_tablegen_target(OffloadDocsGenerate)
|
|
|
|
# Due to Sphinx only allowing a single source direcotry and the fact we
|
|
# only generate a single file, copy offload-api.rst to the source directory
|
|
# to be included in the generated documentation.
|
|
# Additionally, copy the llvm-theme into the Sphinx source directory.
|
|
# A .gitignore file ensures the copied files will not be added to the
|
|
# repository.
|
|
add_custom_target(OffloadDocsCopy
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${CMAKE_CURRENT_BINARY_DIR}/source/offload-api.rst
|
|
${CMAKE_CURRENT_SOURCE_DIR}/offload-api.rst
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${OFFLOAD_SOURCE_DIR}/../clang/www/favicon.ico
|
|
${CMAKE_CURRENT_SOURCE_DIR}/_static/favicon.ico
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${OFFLOAD_SOURCE_DIR}/../llvm/docs/_static/llvm.css
|
|
${CMAKE_CURRENT_SOURCE_DIR}/_static/llvm.css
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${OFFLOAD_SOURCE_DIR}/../llvm/docs/_themes
|
|
${CMAKE_CURRENT_SOURCE_DIR}/_themes
|
|
)
|
|
add_dependencies(OffloadDocsCopy OffloadDocsGenerate)
|
|
|
|
# Generate the HTML documentation, the docs-offload-html target.
|
|
add_sphinx_target(html offload)
|
|
add_dependencies(docs-offload-html OffloadDocsCopy)
|
|
endif()
|
|
endif()
|