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

See also

To learn more about the available CMake options, please check out the “CMake options” section!

Repository checkout#

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

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

    Note

    • Qt 6 is supported since eCAL 5.13.

    • If you have multiple Versions of Qt installed, eCAL will try to pick the latest match for your Visual Studio Version.

      If this fails (e.g. as you have copied the qt directory without properly installing it) or if you want to use a specific Qt Version, you may have to manually set the CMAKE_PREFIX_PATH or QT_DIR.

  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#

See also

The build described here is a very simple (yet complete and fully functional) build that differs from our “official” binaries, e.g. it does not contain the documentation and is not packaged as an installer. If your goal is to replicate the official build, you should apply the CMake Options exactly as we do. You can grab those from our GitHub Action build scripts:

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.

See also

The build described here is a very simple (yet complete and fully functional) build that differs from our “official” binaries, e.g. in regards of the library install directory and the ecal.ini location-. If your goal is to replicate the official build, you should apply the CMake Options exactly as we do. You can grab those from our GitHub Action build scripts:

Build dependencies#

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

    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:

    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):

    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:

    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):

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