Browse Source

Improve documentation (#713)

align CMAKE options and build documentation
Markus Graube 8 years ago
parent
commit
f894625e28
2 changed files with 49 additions and 35 deletions
  1. 2 2
      CMakeLists.txt
  2. 47 33
      doc/building.rst

+ 2 - 2
CMakeLists.txt

@@ -37,7 +37,7 @@ endif()
 # Options
 # Options
 set(UA_LOGLEVEL 300 CACHE STRING "Level at which logs shall be reported")
 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_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_SUBSCRIPTIONS "Enable subscriptions support." ON)
 option(UA_ENABLE_MULTITHREADING "Enable multithreading" OFF)
 option(UA_ENABLE_MULTITHREADING "Enable multithreading" OFF)
 option(UA_ENABLE_AMALGAMATION "Concatenate the library to a single file open62541.h/.c" 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_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)
 mark_as_advanced(UA_ENABLE_EMBEDDED_LIBC)
 
 
 option(UA_ENABLE_EXTERNAL_NAMESPACES "Enable namespace handling by an external component (experimental)" OFF)
 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"
    <path-to>\cmake.exe .. -G "Visual Studio 14 2015"
    :: You can use use cmake-gui for a graphical user-interface to select single features
    :: 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
 Building on OS X
 ----------------
 ----------------
@@ -85,23 +85,28 @@ Follow Ubuntu instructions without the ``apt-get`` commands as these are taken c
 Build Options
 Build Options
 -------------
 -------------
 
 
+
+Build Type and Logging
+~~~~~~~~~~~~~~~~
+
 **CMAKE_BUILD_TYPE**
 **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**
 **UA_LOGLEVEL**
    The level of logging events that are reported
    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
 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
 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:
 specified by the following options:
 
 
 **UA_BUILD_DOCUMENTATION**
 **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**
 **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**
 **UA_BUILD_SELFIGNED_CERTIFICATE**
    Generate a self-signed certificate for the server (openSSL required)
    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**
 **UA_ENABLE_SUBSCRIPTIONS**
    Enable subscriptions
    Enable subscriptions
 **UA_ENABLE_METHODCALLS**
 **UA_ENABLE_METHODCALLS**
-   Enable method calls in server and client
+   Enable the Method service set
 **UA_ENABLE_NODEMANAGEMENT**
 **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**
 **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**
 **UA_ENABLE_MULTITHREADING**
-   Enable multi-threading support (experimental)
+   Enable multi-threading support
 **UA_ENABLE_COVERAGE**
 **UA_ENABLE_COVERAGE**
    Measure the coverage of unit tests
    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
 Some options are marked as advanced. The advanced options need to be toggled to
 be visible in the cmake GUIs.
 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**
 **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**
 **UA_ENABLE_NONSTANDARD_STATELESS**
-   Stateless service calls
+   Enable stateless extension
 **UA_ENABLE_NONSTANDARD_UDP**
 **UA_ENABLE_NONSTANDARD_UDP**
-   UDP network layer
+   Enable udp extension