![]() |
IRSOL
C++ code implementing socket server for interacting with Baumer camera.
|
This guide will lead you through the setup of a development environment that will allow you to edit, compile, and test new code.
This section presents the structure of the repository:
docs
: Contains all documentation associated with this repository.src
: Contains the source code for the project:
The irsol
project uses CMake
as its primary build system. CMake is a powerful, cross-platform build automation tool that generates native build scripts (e.g., Makefiles, Ninja, Visual Studio projects) from a declarative configuration file (CMakeLists.txt).
We use CMake because it enables:
Ensure cmake
is installed in your environment. For openSUSE, this can be done via:
A convenience Makefile
at the root of the repository implements rules for invoking CMake
for you.
Note: for each of the following commands, you can build the same target in Debug
mode by adding the DEBUG=1
flag after the make command. By default, targets are build in Release
mode.
irsol
project, the examples and associated unit-tests Debug
build type irsol
project, associated examples and unit-tests.irsol
examples without the unit-tests irsol
project and associated examples.irsol
project without the examples and without the unit-tests irsol
core project, no examples and no tests.Building documentation
This will build Doxygen documentation and generate HTML content in the docs/generated/html
folder. Documentation is always generated automatically when code is pushed to the main
branch of the repository, following the Github action implemented as a workflow.
A live version of the documentation is published here: https://deldoc.github.io/irsol-camera/
Linting the code (autoformatting)
This will run clang-format
on the repository's codebase and format the files according to the clang-format style guide.
Note: you might need to have to install clang
in your development environment. For openSuse, this can be done via:
Some of the above commands will generate artifacts (executables, or libraries) that are generated within the src/dist/<debug|release>/bin
and src/dist/<debug|release>/lib
folders respectively.
OpenCV is an optional dependency you can install into your development environment in order to compile and run some extra examples that allow interactive visualization of images. Without OpenCV
available in your system, these examples won't be compiled.
Make sure to:
zypper
: Make sure the following command returns a valid path:
such as /usr/share/OpenCV/OpenCVConfig.cmake
If this is found, when building the examples of the irsol
project, the ones requiring OpenCV
will automatically be built as well.