Skip to content

Building eCAL from Source

If you want to build eCAL yourself, this tutorial may help you with that.

To build eCAL, you will need:

  • A C++17 compliant compiler, such as Visual Studio 2019 or newer, or GCC 8 or newer.

    A C++14 compliant compiler is sufficient, if you only want to build the eCAL Core Library.

  • Qt 5.12 or newer (Qt6 is supported, too, since eCAL 5.13) for building the eCAL Qt based applications.

Currently, we support:

  • Windows 10 / 11
  • Ubuntu 22.04 / 20.04

Repository checkout

First check out the eCAL repository and all of the submodules:

Terminal window
git clone https://github.com/eclipse-ecal/ecal.git
cd ecal
git submodule init
git submodule update

Building eCAL on Windows

Windows Dependencies

  1. Download and install the build-dependencies

  2. Optional: Install additional dependendencies (not required for the simple build)

    • Python for Windows (64 Bit, Version 3.9): To build the python extensions and the documentation
    • Doxygen: To build the documentation
    • Innosetup: To create an executable Installer

Windows build

Terminal window
mkdir _build\complete
cd _build\complete
rem Replace with your Qt installation path:
set "CMAKE_PREFIX_PATH=C:/Qt/5.15.2/msvc2019_64"
cmake ../.. -A x64 -DCMAKE_INSTALL_PREFIX=_install -DBUILD_SHARED_LIBS=OFF
cmake --build . --parallel --config Release

This will create a _build\complete\ directory in your eCAL root folder and build eCAL there.

Building eCAL on Ubuntu

We support building on currently supported Ubuntu LTS releases.

Build dependencies

  1. Install the dependencies from the ordinary Ubuntu 22.04 repositories:

    Terminal window
    sudo apt-get install git cmake doxygen graphviz build-essential zlib1g-dev qtbase5-dev libhdf5-dev libprotobuf-dev libprotoc-dev protobuf-compiler libcurl4-openssl-dev libqwt-qt5-dev libyaml-cpp-dev
  2. If you plan to create the eCAL python language extension:

    Terminal window
    sudo apt-get install python3.10-dev python3-pip
    python3 -m pip install setuptools

Ubuntu 22.04 / 20.04 build

  1. Compile eCAL with the following options (additional set BUILD_PY_BINDING to ON if plan to build the python extension):

    Terminal window
    mkdir _build
    cd _build
    cmake .. -DCMAKE_BUILD_TYPE=Release -DECAL_THIRDPARTY_BUILD_PROTOBUF=OFF -DECAL_THIRDPARTY_BUILD_CURL=OFF -DECAL_THIRDPARTY_BUILD_HDF5=OFF -DECAL_THIRDPARTY_BUILD_QWT=OFF
    make -j4
  2. Create a debian package and install it:

    Terminal window
    cpack -G DEB
    sudo dpkg -i _deploy/eCAL-*
    sudo ldconfig
  3. Optional: Create and install the eCAL python wheel (Only available if you enabled the BUILD_PY_BINDING CMake option in step 1):

    Terminal window
    cmake --build . --target create_python_wheel --config Release
    sudo pip3 install _deploy/ecal5-*