Переглянути джерело

Improve documentation (#713)

align CMAKE options and build documentation
Markus Graube 8 роки тому
батько
коміт
f894625e28
2 змінених файлів з 49 додано та 35 видалено
  1. 2 2
      CMakeLists.txt
  2. 47 33
      doc/building.rst

+ 2 - 2
CMakeLists.txt

@@ -37,7 +37,7 @@ endif()
 # Options
 set(UA_LOGLEVEL 300 CACHE STRING "Level at which logs shall be reported")
 option(UA_ENABLE_METHODCALLS "Enable the Method service set" ON)
-option(UA_ENABLE_NODEMANAGEMENT "Enable dynamic addition and removal of nodes" ON)
+option(UA_ENABLE_NODEMANAGEMENT "Enable dynamic addition and removal of nodes at runtime" ON)
 option(UA_ENABLE_SUBSCRIPTIONS "Enable subscriptions support." ON)
 option(UA_ENABLE_MULTITHREADING "Enable multithreading" OFF)
 option(UA_ENABLE_AMALGAMATION "Concatenate the library to a single file open62541.h/.c" OFF)
@@ -55,7 +55,7 @@ mark_as_advanced(UA_ENABLE_TYPENAMES)
 
 option(UA_ENABLE_GENERATE_NAMESPACE0 "Generate and load UA XML Namespace 0 definition" OFF)
 
-option(UA_ENABLE_EMBEDDED_LIBC "Target has no libc, use internal definitions" OFF)
+option(UA_ENABLE_EMBEDDED_LIBC "Use a custom implementation of some libc functions that might be missing on embedded targets (e.g. string handling)." OFF)
 mark_as_advanced(UA_ENABLE_EMBEDDED_LIBC)
 
 option(UA_ENABLE_EXTERNAL_NAMESPACES "Enable namespace handling by an external component (experimental)" OFF)

+ 47 - 33
doc/building.rst

@@ -58,7 +58,7 @@ with MinGW, just replace the compiler selection in the call to CMake.
    <path-to>\cmake.exe .. -G "Visual Studio 14 2015"
    :: You can use use cmake-gui for a graphical user-interface to select single features
 
-- Then open "build\open62541.sln" in Visual Studio 2015 and build as usual
+- Then open :file:`build\open62541.sln` in Visual Studio 2015 and build as usual
 
 Building on OS X
 ----------------
@@ -85,23 +85,28 @@ Follow Ubuntu instructions without the ``apt-get`` commands as these are taken c
 Build Options
 -------------
 
+
+Build Type and Logging
+~~~~~~~~~~~~~~~~
+
 **CMAKE_BUILD_TYPE**
-  - RelWithDebInfo: -O2 optimization with debug symbols
-  - Release: -O2 optimization without debug symbols
-  - Debug: -O0 optimization with debug symbols
-  - MinSizeRel: -Os optimization without debug symbols
+  - ``RelWithDebInfo`` -O2 optimization with debug symbols
+  - ``Release`` -O2 optimization without debug symbols
+  - ``Debug`` -O0 optimization with debug symbols
+  - ``MinSizeRel`` -Os optimization without debug symbols
 
 **UA_LOGLEVEL**
    The level of logging events that are reported
-   - 600: Fatal and all below
-   - 500: Error and all below
-   - 400: Error and all below
-   - 300: Info and all below
-   - 200: Debug and all below
-   - 100: Trace and all below
+
+     - 600: Fatal and all below
+     - 500: Error and all below
+     - 400: Error and all below
+     - 300: Info and all below
+     - 200: Debug and all below
+     - 100: Trace and all below
 
 Further options that are not inherited from the CMake configuration are defined
-in ua_config.h. Usually there is no need to adjust them.
+in :file:`ua_config.h`. Usually there is no need to adjust them.
 
 UA_BUILD_* group
 ~~~~~~~~~~~~~~~~
@@ -111,15 +116,21 @@ and open62541.dll.a resp. open62541.lib are build. Additional artifacts can be
 specified by the following options:
 
 **UA_BUILD_DOCUMENTATION**
-   Generate documentation with doxygen
-**UA_BUILD_EXAMPLECLIENT**
-   Compile example clients from client.c. There are a static and a dynamic binary client and client_static, respectively
-**UA_BUILD_EXAMPLESERVER**
-   Compile example server from server.c There are a static and a dynamic binary server and server_static, respectively
-**UA_BUILD_UNIT_TESTS**
-   Compile unit tests with Check framework. The tests can be executed with make test
+  Generate Make targets for documentation
+
+   * HTML documentation: ``make doc``
+   * Latex Files: ``latex``
+   * PDF documentation: ``make pdf``
+
 **UA_BUILD_EXAMPLES**
-   Compile specific examples from https://github.com/acplt/open62541/blob/master/examples/
+   Compile example servers and clients from :file:`examples/{xyz}.c`. A static and a dynamic binary is linked, respectively.
+
+**UA_BUILD_UNIT_TESTS**
+   Compile unit tests with Check framework. The tests can be executed with ``make test``
+
+**UA_BUILD_EXAMPLES_NODESET_COMPILER**
+   Generate an OPC UA information model from a nodeset XML (experimental)
+
 **UA_BUILD_SELFIGNED_CERTIFICATE**
    Generate a self-signed certificate for the server (openSSL required)
 
@@ -131,28 +142,31 @@ This group contains build options related to the supported OPC UA features.
 **UA_ENABLE_SUBSCRIPTIONS**
    Enable subscriptions
 **UA_ENABLE_METHODCALLS**
-   Enable method calls in server and client
+   Enable the Method service set
 **UA_ENABLE_NODEMANAGEMENT**
-   Node management services (adding and removing nodes and references) at runtime in server and client
+   Enable dynamic addition and removal of nodes at runtime
 **UA_ENABLE_AMALGAMATION**
-   Compile a single-file release files open62541.c and open62541.h
+   Compile a single-file release files :file:`open62541.c` and :file:`open62541.h`
 **UA_ENABLE_MULTITHREADING**
-   Enable multi-threading support (experimental)
+   Enable multi-threading support
 **UA_ENABLE_COVERAGE**
    Measure the coverage of unit tests
-**UA_ENABLE_EMBEDDED_LIBC**
-   Use a custom implementation of some libc functions that might be missing on embedded targets (e.g. string handling).
+
+
 
 Some options are marked as advanced. The advanced options need to be toggled to
 be visible in the cmake GUIs.
 
-**UA_ENABLE_EXTERNAL_NAMESPACES**
-   Enable external namespaces in server
+**UA_ENABLE_TYPENAMES**
+   Add the type and member names to the UA_DataType structure
 **UA_ENABLE_GENERATE_NAMESPACE0**
-   Enable automatic generation of NS0
-**UA_ENABLE_GENERATE_NAMESPACE0_FILE**
-   File for NS0 generation from namespace0 folder. Default value is Opc.Ua.NodeSet2.xml
+   Generate and load UA XML Namespace 0 definition
+   ``UA_GENERATE_NAMESPACE0_FILE`` is used to specify the file for NS0 generation from namespace0 folder. Default value is ``Opc.Ua.NodeSet2.xml``
+**UA_ENABLE_EMBEDDED_LIBC**
+   Use a custom implementation of some libc functions that might be missing on embedded targets (e.g. string handling).
+**UA_ENABLE_EXTERNAL_NAMESPACES**
+  Enable namespace handling by an external component (experimental)
 **UA_ENABLE_NONSTANDARD_STATELESS**
-   Stateless service calls
+   Enable stateless extension
 **UA_ENABLE_NONSTANDARD_UDP**
-   UDP network layer
+   Enable udp extension