|
@@ -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
|