Default Build 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_PROJECT_TOP_LEVEL_INCLUDES=cmake/submodule_dependencies.cmake -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.yaml 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 24.04 repositories:

    sudo apt-get install git cmake doxygen graphviz build-essential zlib1g-dev qt6-base-dev qt6-svg-dev libhdf5-dev libprotobuf-dev libprotoc-dev protobuf-compiler libcurl4-openssl-dev libyaml-cpp-dev
    

Ubuntu 24.04 / 22.04 build#

  1. Compile eCAL with the following options:

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

    cpack -G DEB
    sudo dpkg -i _deploy/eCAL-*
    sudo ldconfig
    

Building Python extensions#

Please make sure to have a Python installation available on your system, e.g. Python 3.8 or newer, including pip. Building the python wheel is then pretty straightforward, from the main directory please execute:

python -m pip install build setuptools wheel
python -m build .

The produced python wheels will then work for the used Python version and architecture.