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), Ubuntu (gcc7) and Mac (XCode). 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

  • Clone the repository:

git clone --recurse-submodules https://bitbucket.org/lpresearch/openzen.git

Open the folder OpenZen in Visual Studio and compile the library. You will then be able to run the the command line tool OpenZenExample in the output folder of Visual Studio.

Linux

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

  • Install CMake, git: sudo apt-get install git cmake

  • Install the Bluetooth libraries if you need Bluetooth support: sudo apt-get install libbluetooth-dev

  • Install Qt (5.11.2 or higher) if you need Bluetooth Low Energy support: sudo apt-get install qtbase5-dev qtconnectivity5-dev

  • Clone the repository:

git clone --recurse-submodules https://bitbucket.org/lpresearch/openzen.git
  • Create a build folder and run cmake:

cd openzen
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