Installation

Installation#

Building sdu_estimators#

Prerequisites#

Building sdu_estimators requires the following software installed:

  • A C++17-compliant compiler.

  • CMake >= 3.9.

  • Eigen3 >= 3.3 for linear algebra.

  • Doxygen (optional, documentation building is skipped if missing)

  • Python >= 3.8 for building Python bindings

On debian-based linux distributions like Ubuntu, you can install the dependencies with:

sudo apt install build-essential cmake python3-dev python3-pip libeigen3-dev

The following sequence of commands builds sdu_controllers. It assumes that your current working directory is the top-level directory of the freshly cloned repository:

git submodule update --init --recursive
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install

The build process can be customized with the following CMake variables, which can be set by adding -D<var>={ON, OFF} to the cmake call:

  • BUILD_TESTING: Enable building of the test suite (default: ON)

  • BUILD_DOCS: Enable building the documentation (default: ON)

  • BUILD_PYTHON: Enable building the Python bindings (default: ON)

  • BUILD_EXAMPLES: Enable building the examples (default: ON)

Add the following to the CMakeLists.txt in your project to link to it:

find_package(sdu_estimators REQUIRED)

target_link_libraries(my_ext
    PRIVATE
    sdu_estimators::sdu-estimators
)

If you wish to build and install the project as a Python project without having access to C++ build artifacts like libraries and executables, you can do so using pip from the root directory:

git submodule update --init --recursive
python3 -m pip install .