A package for processing sensor data.
| Dependency | Version | Description |
|---|---|---|
| CMake | >= 3.21 | CMake Build Tool |
| cmakebox | >= 0.0.1 | CMake Functions and Utilities |
| cppbox | >= 0.1.0 | C++ Package |
| Eigen3 | >= 3.4.0 | Linear Algebra Package |
| nlohmann_json | >= 3.7.3 (< g++-10) or >= 3.8.0 (>= g++-10) | JSON Package |
| mathbox | 0.6.0 | Math Package |
There are several ways to include sensorbox within your project:
- [Preferred] Via
FetchContentallowing package to be built as a submodule. - Via
find_package, requiring package to be installed to the system, locally, or to a catkin workspace.
It is recommended to leverage the functionality of cmakebox by including the following lines in the CMakeLists.txt (replace X.Y.Z with version):
set(CMAKEBOX_VERSION "0.0.1")
FetchContent_Declare(
cmakebox
GIT_REPOSITORY [email protected]:willat343/cmakebox.git
GIT_TAG v${CMAKEBOX_VERSION}
)
FetchContent_MakeAvailable(cmakebox)
list(APPEND CMAKE_MODULE_PATH "${cmakebox_SOURCE_DIR}/cmake")
include(CMakeBox)
set(SENSORBOX_VERSION "X.Y.Z")
import_dependency(
sensorbox
TARGET sensorbox::sensorbox
VERSION ${SENSORBOX_VERSION}
GIT_REPOSITORY [email protected]:willat343/sensorbox
GIT_TAG v${SENSORBOX_VERSION}
)Without relying on cmakebox, this can be achieved with (replace X.Y.Z with version):
set(SENSORBOX_VERSION "X.Y.Z")
FetchContent_Declare(
sensorbox
GIT_REPOSITORY [email protected]:willat343/sensorbox
GIT_TAG v${SENSORBOX_VERSION}
)
FetchContent_MakeAvailable(sensorbox)git clone [email protected]:willat343/sensorbox.git
cd sensorboxFor system install:
cmake -S . -B buildFor local install:
cmake -S . -B build -DCMAKE_INSTALL_DIR=$HOME/.localcmake --build build -jsudo cmake --build build --target installInclude with the following lines in the CMakeLists.txt:
find_package(sensorbox REQUIRED)
target_link_libraries(<target> PUBLIC sensorbox::sensorbox)sudo cmake --build build --target uninstallA package.xml is supplied to facilitate an isolated installation within a catkin workspace (e.g. for ROS applications).
cd /path/to/catkin_ws/src
git clone [email protected]:willat343/sensorbox.gitcd /path/to/catkin_ws
catkin build sensorboxTo use the package in a downstream project, one should add to their package.xml:
<depend>sensorbox</depend>One can then include sensorbox package by includeing in the CMakeLists.txt:
find_package(sensorbox REQUIRED)
target_link_libraries(<target> PUBLIC sensorbox::sensorbox)cd /path/to/catkin_ws
catkin clean sensorboxDocumentation must be turned on by setting the -DBUILD_DOCUMENTATION=ON cmake argument.
To view the HTML documentation, open the build/docs/html/index.html file.
To view the LaTeX documentation, build it with:
cd build/docs/latex
makeThen open the file refman.pdf.
Tests must be turned on by setting the -DBUILD_TESTS=ON cmake argument.
They can then be run with ctest:
ctest --test-dir testFor more explicit output, the test executables can be run directly from the build directory.