CMake options
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, necessary to build eCAL recording / replay tools |
|
|
Platform supports Qt 5 library, necessary to build eCAL monitoring tool |
|
|
Build with CURL (i.e. upload support in the recorder app) |
|
|
Platform supports Cap’n Proto library, necessary to use capnp serialization as message system and to enable eCAL monitoring capnp message reflection. eCAL does not add Cap’n Proto as a submodule. If you set this option to |
|
|
Build the eCAL documentation, requires the installation of doxygen and a recent CMake version (>= 3.14 preferred, but some lower versions might work) |
|
|
Build the eCAL applications, such as the monitoring tool |
|
|
Build the eCAL sample applications |
|
|
Build the eCAL time interfaces, necessary if you want to use eCAL in time synchronized mode (based on PTP for example) |
|
|
Build the eCAL python language binding |
|
|
Build eCAL python binding as standalone wheel |
|
|
Build the eCAL C# language binding |
|
|
Build the eCAL google tests |
|
|
Include python language sample projects into CMake |
|
|
Install the sources of eCAL samples |
|
|
Specific multicast network bug workaround |
|
|
Enable the eCAL to use Npcap for udp socket communication (i.e. the Win10 performance fix) |
|
|
Build CMakeFunctions with eCAL |
|
|
Build Spdlog with eCAL, included as a submodule in the thirdparty folder. You can always use your custom spdlog installation, this is only for convenience. |
|
|
Build tinyxml2 with eCAL, included as a submodule in the thirdparty directory. |
|
|
Build fineFTP with eCAL, included as a submodule in the thirdparty directory. |
|
|
Build termcolor with eCAL, included as a submodule in the thirdparty directory. |
|
|
Build tcp_pubsub library with eCAL, included as a submodule in the thirdparty directory. |
|
|
Build steinwurf::recylce with eCAL, included as a submodule in the thirdparty directory. |
|
|
Build GoogleTest with eCAL, included as a submodule in the thirdparty folder. You can always use your custom gtest installation, this is only for convenience. |
|
|
Build Protobuf with eCAL, included as a submodule in the thirdparty folder. You can always use your custom protobuf installation, this is only for convenience. Note, at least protobuf 3.0 is required to compile eCAL, we recommend using 3.11.4 or newer (tested with 3.11.4). |
|
|
Build CURL with eCAL, included as a submodule in the thirdparty folder. |
|
|
Build HDF5 with eCAL, included as a submodule in the thirdparty folder. |
|
|
Build yaml-cpp with eCAL, included as a submodule in the thirdparty folder. |
|
|
Use Innosetup to create a Windows installer with cpack. |
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.