Installation

Building from source

Required install dependencies

The following dependencies are required at compile time:

  • CMake

  • Eigen >= 3.0.5

  • C++ >= 17

Installation instructions

  1. Clone this repository with:

git clone https://github.com/Simple-Robotics/proxsuite.git --recursive
  1. Create a build tree using CMake, build and install:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF
make
make install

Note: if you are building Proxsuite within a conda environment, consider passing -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX.

  1. Build the Python interface

You just need to ensure that Python3 is indeed present on your system and activate the cmake option BUILD_PYTHON_INTERFACE=ON by replacing:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DBUILD_PYTHON_INTERFACE=ON
make
make install
  1. Generate the doc

To build the documentation, you need installing Doxygen. Once it is done, it then is as simple as:

make doc
open doc/doxygen_html/index.html

Disabling vectorization

We highly encourage you to enable the vectorization of the underlying linear algebra for the best performances. They are active by default in ProxSuite. Yet, some CPU architectures may not support such operations. You just need to deactivate the cmake option BUILD_WITH_VECTORIZATION_SUPPORT=OFF, like:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DBUILD_WITH_VECTORIZATION_SUPPORT=OFF
make
make install

Testing

To test the whole framework, you need installing first Matio (for reading .mat files in C++). You can then activate the build of the unit tests by activating the cmake option BUILD_TESTING=ON.