| 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() |