Skip to content
Snippets Groups Projects
Commit 702792bd authored by Joaquim Casals Buñuel's avatar Joaquim Casals Buñuel
Browse files

Quick update to reflect last changes to plugin system

parent 4db0d6f8
No related branches found
No related tags found
No related merge requests found
Pipeline #3647 passed
......@@ -5,8 +5,8 @@
## Installing wolf(core)
```
git clone https://gitlab.iri.upc.edu/mobile_robotics/wolf_projects/wolf_lib/plugins/core.git
cd core
git clone https://gitlab.iri.upc.edu/mobile_robotics/wolf_projects/wolf_lib/wolf.git
cd wolf
mkdir build & cd build
cmake ..
make
......@@ -32,8 +32,8 @@ If you want to use the core, you just need to have it installed and in your CMak
`find_package(wolf REQUIRED)`.
If wolf is indeed installed, this will define two variables
`${wolf_INCLUDE_DIR}` which will contain the path to the wolf include directory
and `${wolf_LIBRARY}` which will contain the path to the wolf library.
`${wolf_INCLUDE_DIRS}` which will contain the path to the wolf include directory
and `${wolf_LIBRARIES}` which will contain the path to the wolf library.
## Using wolf plugins
......@@ -41,13 +41,13 @@ If you also want to use some wolf plugin, you just follow the same procedure, ch
`find_package(wolf<plugin name> REQUIRED)`.
If the pluging is indeed installed, this will define two variables
`${wolf<plugin name>_INCLUDE_DIR}` which will contain the path to the plugin's include directory
and `${wolf<plugin name>_LIBRARY}` which will contain the path to the plugin's library.
`${wolf<plugin name>_INCLUDE_DIRS}` which will contain the path to the plugin's include directory
and `${wolf<plugin name>_LIBRARIES}` which will contain the path to the plugin's library.
As an example, suppose that we want to use the _vision_ plugin. First, we will clone and install it
As an example, suppose that we want to use the _laser_ plugin. First, we will clone and install it
```
git clone https://gitlab.iri.upc.edu/mobile_robotics/wolf_projects/wolf_lib/plugins/vision.git
cd vision
git clone https://gitlab.iri.upc.edu/mobile_robotics/wolf_projects/wolf_lib/plugins/laser.git
cd laser
mkdir build && cd build
cmake ..
make
......@@ -56,15 +56,12 @@ sudo make install
Then, in the CMakeLists.txt of the application we are developing we will put the following line
```
find_package(wolfvision REQUIRED)
find_package(wolflaser REQUIRED)
```
if the plugin has been correctly installed, and thus find_package succeeds, then it will define two variables
- ${wolfvision_INCLUDE_DIRS} which is the path to the includes. It should have the value `/usr/local/include/iri-algorithms/wolf/plugin_vision`
- ${wolfvision_LIBRARIES} which is the path to the compiled (& linked) library. It should have the value `/usr/local/lib/iri-algorithms/libwolfvision.so`
**IMPORTANT NOTE** For the time being, each plugin is only responsible for finding their own includes and library. This means that for instance wolfvision, which obviously requires
the _core_ plugin, will not find its own dependencies. It is the responsibility of the programmer to do `find_package(wolf REQUIRED)` to get the includes and library. In the future this will change and each plugin will be responsible for finding all the necessary dependencies.
- ${wolflaser_INCLUDE_DIRS} which is the path to the includes. It should have the value `/usr/local/include/iri-algorithms/wolf/plugin_laser;/usr/local/include/iri-algorithms`
- ${wolfvision_LIBRARIES} which is the path to the required libraries. It should have the value `/usr/local/lib/iri-algorithms/libwolflaser.so;/usr/local/lib/iri-algorithms/liblaser_scan_utils.so`
# Creating your plugin
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment