Setup

Dowloading pre-compiled OpenZen

The pre-compiled binaries for OpenZen for Windows and Linux are available to download here:

OpenZen Releases

The folder example in this download contains a full example how to use OpenZen together with VisualStudio 2017 on Windows x64-bit. Furthermore, it also contains releases of OpenZen for Ubuntu 16.04 (and newer) with support for x64 and ARM64.

Building OpenZen from Source

OpenZen uses CMake (3.11 or higher) as build system, and has been built and tested on Windows (MSVC) and Ubuntu (gcc7). As OpenZen is written in C++17, an up-to-date compiler is required. The following steps guide you through building OpenZen for Windows and Linux.

Windows

  • Install MSVC build tools, or the Visual Studio IDE (requires C++17 support)

  • Install CMake, or a GUI (e.g. Visual Studio) that incorporates CMake

  • Install Qt (5.11.2 or higher)

  • Clone the external repositories:

git submodule update --init
  • Configure CMake with the environment variable CMAKE_PREFIX_PATH pointing towards your Qt bin directory

You can do that by inserting this line (with the correct Qt installation path on your system)

set(CMAKE_PREFIX_PATH "C://Qt//5.12.3//msvc2017_64//")

in the topmost CMakeLists.txt Now you can run the OpenZenExample using MSVC.

Linux

  • Install gcc7 (requires C++17 support): sudo apt-get install gcc-7

  • Install CMake (instructions)

  • Install Qt (5.11.2 or higher): sudo apt-get install qtbase5-dev qtconnectivity5-dev

  • Clone the external repositories:

git submodule update --init
  • Create a build folder and run cmake:

mkdir build && cd build
cmake ..

Now you can run the OpenZenExample:

make -j4
examples/OpenZenExample

OpenZen Build Options

These build options can be supplied to the cmake command to customize your OpenZen build. For example

cmake -DZEN_BLUETOOTH=OFF -DZEN_PYTHON=ON ..

Name

Default

Description

ZEN_USE_STATIC_LIBS

OFF

Compile OpenZen as a static library

ZEN_STATIC_LINK_LIBCXX

OFF

Option to statically link libstdc++ to be portable to older systems (Linux only)

ZEN_BLUETOOTH

ON

Compile with bluetooth support

ZEN_BLUETOOTH_BLE

OFF

Compile with bluetooth low-energy support, needs Qt installed

ZEN_NETWORK

OFF

Compile with support for network streaming of measurement data

ZEN_CSHARP

ON

Compile C# bindings for OpenZen

ZEN_PYTHON

OFF

Compile Python bindings for OpenZen

ZEN_TESTS

ON

Compile with OpenZen tests

ZEN_EXAMPLES

ON

Compile with OpenZen examples