Skip to content

Commit

Permalink
add dependencies and code quality information to the readme
Browse files Browse the repository at this point in the history
  • Loading branch information
jpfr committed Dec 22, 2017
1 parent 92b1758 commit 7310ad6
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,27 @@ Features currently being implemented:
- Event-loop (background tasks) and asynchronous service requests in the client, WIP #1117 #1410
- Publish/Subscribe based on UDP (Specification Part 14), WIP by @jpfr

### Dependencies

None.

On a more serious note, on most systems, open62541 requires the C standard library only. For dependencies during the build process, see the following list and the [build documentation](https://open62541.org/doc/current/building.html) for details.

- Core Library: The core library has no dependencies besides the C99 standard headers.
- Default Plugins: The default plugins use the POSIX interfaces for networking and accessing the system clock. Ports to different (embedded) architectures are achieved by customizing the plugins.
- Building and Code Generation: The build environment is generated via CMake. Some code is auto-generated from XML definitions that are part of the OPC UA standard. The code generation scripts run with both Python 2 and 3.

### Code Quality

We emphasize code quality. The following quality metrics are continuously checked and are ensured to hold before an official release is made:

- Zero errors indicated by the Compliance Testing Tool (CTT) of the OPC Foundation for the supported features
- Zero compiler warnings from GCC/Clang/MSVC with very strict compilation flags
- Zero issues indicated by our unit tests (more than 80% coverage)
- Zero issues indicated by clang-analyzer and clang-tidy and the Coverity static code analysis tool
- Zero unresolved issues from fuzzing the library in Google's oss-fuzz infrastructure
- Zero issues indicated by Valgrind and AddressSanitizer / MemorySanitizer for the CTT tests, unit tests and fuzzing

### Using open62541

A general introduction to OPC UA and the open62541 documentation can be found at http://open62541.org/doc/current.
Expand Down

0 comments on commit 7310ad6

Please sign in to comment.