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:
git clone https://github.com/eclipse-ecal/ecal.git cd ecal git submodule init git submodule update
Building eCAL on Windows
Windows Dependencies
-
Download and install the build-dependencies
-
Visual Studio (2019 or newer / Toolset ≥ v142) (https://visualstudio.microsoft.com/downloads/)
-
CMake (https://cmake.org)
-
Qt (Qt6 ≥ 6.5 or Qt5 ≥ 5.12) (https://www.qt.io/download)
Choose the appropriate version for your compiler, e.g. msvc2019_64 for Visual Studio 2019.
-
-
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
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
-
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 -
If you plan to create the eCAL python language extension:
Terminal window sudo apt-get install python3.10-dev python3-pippython3 -m pip install setuptools
-
Install the dependencies from the ordinary Ubuntu 20.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 -
If you plan to create the eCAL python language extension:
Terminal window sudo apt-get install python3.8-dev python3-pippython3 -m pip install setuptools
Ubuntu 22.04 / 20.04 build
-
Compile eCAL with the following options (additional set
BUILD_PY_BINDING
toON
if plan to build the python extension):Terminal window mkdir _buildcd _buildcmake .. -DCMAKE_BUILD_TYPE=Release -DECAL_THIRDPARTY_BUILD_PROTOBUF=OFF -DECAL_THIRDPARTY_BUILD_CURL=OFF -DECAL_THIRDPARTY_BUILD_HDF5=OFF -DECAL_THIRDPARTY_BUILD_QWT=OFFmake -j4 -
Create a debian package and install it:
Terminal window cpack -G DEBsudo dpkg -i _deploy/eCAL-*sudo ldconfig -
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 Releasesudo pip3 install _deploy/ecal5-*