38 lines · plain
1if(LLVM_ENABLE_SPHINX)2 include(AddSphinxTarget)3 if(SPHINX_FOUND AND SPHINX_OUTPUT_HTML)4 # Generate offload-api.rst from OffloadAPI.td5 set(LLVM_TARGET_DEFINITIONS6 ${OFFLOAD_SOURCE_DIR}/liboffload/API/OffloadAPI.td)7 tablegen(OFFLOAD source/offload-api.rst -gen-doc8 EXTRA_INCLUDES ${OFFLOAD_SOURCE_DIR}/liboffload/API)9 add_public_tablegen_target(OffloadDocsGenerate)10 11 # Due to Sphinx only allowing a single source direcotry and the fact we12 # only generate a single file, copy offload-api.rst to the source directory13 # to be included in the generated documentation.14 # Additionally, copy the llvm-theme into the Sphinx source directory.15 # A .gitignore file ensures the copied files will not be added to the16 # repository.17 add_custom_target(OffloadDocsCopy18 COMMAND ${CMAKE_COMMAND} -E copy19 ${CMAKE_CURRENT_BINARY_DIR}/source/offload-api.rst20 ${CMAKE_CURRENT_SOURCE_DIR}/offload-api.rst21 COMMAND ${CMAKE_COMMAND} -E copy22 ${OFFLOAD_SOURCE_DIR}/../clang/www/favicon.ico23 ${CMAKE_CURRENT_SOURCE_DIR}/_static/favicon.ico24 COMMAND ${CMAKE_COMMAND} -E copy25 ${OFFLOAD_SOURCE_DIR}/../llvm/docs/_static/llvm.css26 ${CMAKE_CURRENT_SOURCE_DIR}/_static/llvm.css27 COMMAND ${CMAKE_COMMAND} -E copy_directory28 ${OFFLOAD_SOURCE_DIR}/../llvm/docs/_themes29 ${CMAKE_CURRENT_SOURCE_DIR}/_themes30 )31 add_dependencies(OffloadDocsCopy OffloadDocsGenerate)32 33 # Generate the HTML documentation, the docs-offload-html target.34 add_sphinx_target(html offload)35 add_dependencies(docs-offload-html OffloadDocsCopy)36 endif()37endif()38