CMake options
eCAL is using CMake as build system. The build makes use of CMake options to configure what features to build and to see what capabilities are available. The options are grouped by their prefix:
HAS_
variables indicate if a certain feature is supported for the build. E.g settingHAS_QT5
to off, will disable all components of eCAL that have a GUI attached.BUILD_
variables turn on / off certain eCAL components. Those components can be language bindings, application (like monitor / player / recorder), documentation or testsECAL_THIRDPARTY_
variables control on a dependency by dependency basis, if that dependency is to be compiled alongside eCAL.
There are a few addional options which do not fit in these categories, but they are also documentd below.
All options can be passed on the command line cmake -D<option>=<value>
or in the CMake GUI application.
CMake option |
Default |
Description |
---|---|---|
|
|
Platform supports HDF5 library |
|
|
Platform supports Qt 5 6 library. |
|
|
Build with CURL (i.e. upload support in the recorder app) |
|
|
Platform supports Cap’n Proto library |
|
|
Platform supports flatbuffers library |
|
|
Platform supports FTXUI library. Requires C++17 and up. |
|
|
Build the eCAL documentation |
|
|
Build the eCAL applications |
|
|
Build the eCAL samples |
|
|
Build the eCAL time interfaces |
|
|
Build eCAL python binding |
|
|
Build eCAL python binding as standalone wheel |
|
|
Build eCAL C# binding |
|
|
Build the eCAL google tests |
|
|
Include python language sample projects into CMake |
|
|
Install the sources of eCAL samples |
|
|
Enable the eCAL Npcap Receiver (i.e. the Win10 performance fix) |
|
|
Use native mutex with monotonic clock (requires glibc >= 2.30) |
|
|
Build asio with eCAL |
|
|
Build CMakeFunctions with eCAL |
|
|
Build fineFTP with eCAL |
|
|
Build ftxui with eCAL |
|
|
Build gtest with eCAL |
|
|
Build steinwurf::recylce with eCAL |
|
|
Build spdlog with eCAL |
|
|
Build tclap library with eCAL |
|
|
Build tcp_pubsub library with eCAL |
|
|
Build termcolor with eCAL |
|
|
Build tinyxml2 with eCAL |
|
|
Build udpcap library with eCAL |
|
|
Build protobuf with eCAL |
|
|
Build yaml-cpp with eCAL |
|
|
Build CURL with eCAL |
|
|
Build HDF5 with eCAL |
|
|
Build qwt::qwt with eCAL |
|
|
Link shared libs of HDF5 |
|
|
Create Innosetup installer for the Windows build |
To build the eCAL csharp extension you need to set the CMake option BUILD_CSHARP_BINDING
to ON
.
In order to make the CSharp Google::Protobuf extension work you need to install additionally the Microsoft package management tool Nuget.
Please ensure that the installation path is part of your windows user or system PATH environment variable.
Nuget will be used to download the .Net Google.Protobuf package automatically when building the extension.