Browse Source

clean up documentation generation

* use variables for directory names
* fix embedding logo in documentation
* add empty line in ua_services.h to fix warning
Markus Graube 8 years ago
parent
commit
33f1054b3c
3 changed files with 28 additions and 42 deletions
  1. 25 40
      doc/CMakeLists.txt
  2. 2 2
      doc/conf.py
  3. 1 0
      src/server/ua_services.h

+ 25 - 40
doc/CMakeLists.txt

@@ -1,42 +1,35 @@
 find_package(Sphinx REQUIRED)
 find_package(LATEX)
 
-
 set(DOC_LATEX_DIR ${PROJECT_BINARY_DIR}/doc_latex)
-make_directory(${PROJECT_BINARY_DIR}/doc_src)
+set(DOC_HTML_DIR  ${PROJECT_BINARY_DIR}/doc)
+set(DOC_SRC_DIR   ${PROJECT_BINARY_DIR}/doc_src)
+
+make_directory(${DOC_SRC_DIR})
 file(GLOB DOC_SRC "${PROJECT_SOURCE_DIR}/doc/*")
-file(COPY ${DOC_SRC} DESTINATION ${PROJECT_BINARY_DIR}/doc_src)
+file(COPY ${DOC_SRC} DESTINATION ${DOC_SRC_DIR})
 
 function(generate_rst in out)
-  add_custom_command(OUTPUT ${out}
-                     DEPENDS ${PROJECT_SOURCE_DIR}/tools/c2rst.py ${in}
-                     PRE_BUILD
-                     COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tools/c2rst.py ${in} ${out})
+  add_custom_command(OUTPUT ${out} DEPENDS ${PROJECT_SOURCE_DIR}/tools/c2rst.py ${in}
+                     PRE_BUILD COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tools/c2rst.py ${in} ${out})
 endfunction()
 
-generate_rst(${PROJECT_SOURCE_DIR}/include/ua_types.h ${PROJECT_BINARY_DIR}/doc_src/types.rst)
-generate_rst(${PROJECT_SOURCE_DIR}/include/ua_constants.h ${PROJECT_BINARY_DIR}/doc_src/constants.rst)
-generate_rst(${PROJECT_BINARY_DIR}/src_generated/ua_types_generated.h ${PROJECT_BINARY_DIR}/doc_src/types_generated.rst)
-generate_rst(${PROJECT_SOURCE_DIR}/include/ua_server.h ${PROJECT_BINARY_DIR}/doc_src/server.rst)
-generate_rst(${PROJECT_SOURCE_DIR}/include/ua_client.h ${PROJECT_BINARY_DIR}/doc_src/client.rst)
-generate_rst(${PROJECT_SOURCE_DIR}/include/ua_client_highlevel.h ${PROJECT_BINARY_DIR}/doc_src/client_highlevel.rst)
-generate_rst(${PROJECT_SOURCE_DIR}/include/ua_log.h ${PROJECT_BINARY_DIR}/doc_src/log.rst)
-generate_rst(${PROJECT_SOURCE_DIR}/include/ua_connection.h ${PROJECT_BINARY_DIR}/doc_src/connection.rst)
-generate_rst(${PROJECT_SOURCE_DIR}/src/server/ua_services.h ${PROJECT_BINARY_DIR}/doc_src/services.rst)
-generate_rst(${PROJECT_SOURCE_DIR}/src/server/ua_nodestore.h ${PROJECT_BINARY_DIR}/doc_src/nodestore.rst)
+generate_rst(${PROJECT_SOURCE_DIR}/include/ua_types.h ${DOC_SRC_DIR}/types.rst)
+generate_rst(${PROJECT_SOURCE_DIR}/include/ua_constants.h ${DOC_SRC_DIR}/constants.rst)
+generate_rst(${PROJECT_BINARY_DIR}/src_generated/ua_types_generated.h ${DOC_SRC_DIR}/types_generated.rst)
+generate_rst(${PROJECT_SOURCE_DIR}/include/ua_server.h ${DOC_SRC_DIR}/server.rst)
+generate_rst(${PROJECT_SOURCE_DIR}/include/ua_client.h ${DOC_SRC_DIR}/client.rst)
+generate_rst(${PROJECT_SOURCE_DIR}/include/ua_client_highlevel.h ${DOC_SRC_DIR}/client_highlevel.rst)
+generate_rst(${PROJECT_SOURCE_DIR}/include/ua_log.h ${DOC_SRC_DIR}/log.rst)
+generate_rst(${PROJECT_SOURCE_DIR}/include/ua_connection.h ${DOC_SRC_DIR}/connection.rst)
+generate_rst(${PROJECT_SOURCE_DIR}/src/server/ua_services.h ${DOC_SRC_DIR}/services.rst)
+generate_rst(${PROJECT_SOURCE_DIR}/src/server/ua_nodestore.h ${DOC_SRC_DIR}/nodestore.rst)
 
 add_custom_target(doc_latex ${SPHINX_EXECUTABLE}
-  -b latex -c "${PROJECT_BINARY_DIR}/doc_src" "${PROJECT_BINARY_DIR}/doc_src" "${PROJECT_BINARY_DIR}/doc_latex"
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/types.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/constants.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/types_generated.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/server.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/client.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/client_highlevel.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/log.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/connection.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/services.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/nodestore.rst
+  -b latex "${DOC_SRC_DIR}" "${DOC_LATEX_DIR}"
+  DEPENDS ${DOC_SRC_DIR}/types.rst ${DOC_SRC_DIR}/constants.rst ${DOC_SRC_DIR}/types_generated.rst
+          ${DOC_SRC_DIR}/server.rst ${DOC_SRC_DIR}/client.rst ${DOC_SRC_DIR}/client_highlevel.rst
+          ${DOC_SRC_DIR}/log.rst ${DOC_SRC_DIR}/connection.rst ${DOC_SRC_DIR}/services.rst ${DOC_SRC_DIR}/nodestore.rst
   COMMENT "Building LaTeX sources for documentation with Sphinx")
 add_dependencies(doc_latex open62541)
 
@@ -50,17 +43,9 @@ add_custom_target(doc_pdf ${PDFLATEX_COMPILER} -q "open62541.tex"
 add_dependencies(doc_pdf doc_latex)
 
 add_custom_target(doc ${SPHINX_EXECUTABLE}
-  -b html -c "${PROJECT_BINARY_DIR}/doc_src" "${PROJECT_BINARY_DIR}/doc_src" "${PROJECT_BINARY_DIR}/doc"
-  COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_BINARY_DIR}/doc_src/open62541_html.png" "${PROJECT_BINARY_DIR}/doc/_static/"
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/types.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/constants.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/types_generated.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/server.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/client.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/client_highlevel.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/log.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/connection.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/services.rst
-  DEPENDS ${PROJECT_BINARY_DIR}/doc_src/nodestore.rst
+  -b html "${DOC_SRC_DIR}" "${DOC_HTML_DIR}"
+  DEPENDS ${DOC_SRC_DIR}/types.rst ${DOC_SRC_DIR}/constants.rst ${DOC_SRC_DIR}/types_generated.rst
+          ${DOC_SRC_DIR}/server.rst ${DOC_SRC_DIR}/client.rst ${DOC_SRC_DIR}/client_highlevel.rst
+          ${DOC_SRC_DIR}/log.rst ${DOC_SRC_DIR}/connection.rst ${DOC_SRC_DIR}/services.rst ${DOC_SRC_DIR}/nodestore.rst
   COMMENT "Building HTML documentation with Sphinx")
 add_dependencies(doc open62541)

+ 2 - 2
doc/conf.py

@@ -127,7 +127,7 @@ html_theme = 'sphinx_rtd_theme'
 
 # The name of an image file (relative to this directory) to place at the top
 # of the sidebar.
-html_logo = "doc/open62541_html.png"
+html_logo = "open62541_html.png"
 
 # The name of an image file (within the static path) to use as favicon of the
 # docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
@@ -137,7 +137,7 @@ html_logo = "doc/open62541_html.png"
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
+html_static_path = ['.']
 
 # Add any extra paths that contain custom files (such as robots.txt or
 # .htaccess) here, relative to this directory. These files are copied

+ 1 - 0
src/server/ua_services.h

@@ -189,6 +189,7 @@ void Service_RegisterNodes(UA_Server *server, UA_Session *session,
 void Service_UnregisterNodes(UA_Server *server, UA_Session *session,
                              const UA_UnregisterNodesRequest *request,
                              UA_UnregisterNodesResponse *response);
+
 /**
  * Query Service Set
  * -----------------