blob: 9c5db87b5ab4e2d89d75feca48eb8a0b3c1b93c7 [file] [log] [blame]
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()