CMakeLists.txt 1.1 KB

123456789101112131415161718192021222324
  1. find_package(Sphinx REQUIRED)
  2. file(COPY ${PROJECT_SOURCE_DIR}/doc DESTINATION ${PROJECT_BINARY_DIR})
  3. function(generate_rst in out)
  4. add_custom_command(OUTPUT ${out}
  5. DEPENDS ${PROJECT_SOURCE_DIR}/tools/c2rst.py ${in}
  6. PRE_BUILD
  7. COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tools/c2rst.py ${in} ${out})
  8. endfunction()
  9. generate_rst(${PROJECT_SOURCE_DIR}/include/ua_types.h ${PROJECT_BINARY_DIR}/doc/types.rst)
  10. add_custom_target(doc_latex ${SPHINX_EXECUTABLE}
  11. -b latex -c "${PROJECT_BINARY_DIR}/doc" "${PROJECT_BINARY_DIR}/doc" "${PROJECT_BINARY_DIR}/doc_latex"
  12. DEPENDS ${PROJECT_BINARY_DIR}/doc/types.rst
  13. COMMENT "Building LaTeX sources for documentation with Sphinx")
  14. add_custom_target(doc ${SPHINX_EXECUTABLE}
  15. -b html -c "${PROJECT_BINARY_DIR}/doc" "${PROJECT_BINARY_DIR}/doc" "${PROJECT_BINARY_DIR}/doc_html"
  16. COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_BINARY_DIR}/doc/open62541_html.png" "${PROJECT_BINARY_DIR}/doc_html/_static/"
  17. DEPENDS ${PROJECT_BINARY_DIR}/doc/types.rst
  18. COMMENT "Building HTML documentation with Sphinx")