Best way to implement a Middleware...

Dear all,
I want to make some components and use them.
I saw that someone put all the components in a unique library
(orocos-opencv).

What's the "best practice" in this sense?
If I have to design one or more repositories that contain the project,
how the directory tree will be?

I thought something like:

nameOfProject
|_ components
|_component1
|_src
|_component1.cpp
|_include
|_component1.hpp
|_CMakeLists.txt
|_manifest.txt
|_...
|_component2
|_...

|_deployment
|_launch.sh
|_startCoordinator.lua
|_testComponent1.ods
|_...

but in this case I have to compile every component manually and I can't
compile the whole project in one shot.

Any suggestions?
Regards

Fabrizio

Best way to implement a Middleware...

2012/3/26 fabrizio <fabrizio [dot] boriero [..] ...>

> Dear all,
>

Hi Fabrizio,

> I want to make some components and use them.
> I saw that someone put all the components in a unique library
> (orocos-opencv).
>

I guess you point to the RoboTIS gitorious repository.
This package is not officially released, and then not very polished...

>
> What's the "best practice" in this sense?
> If I have to design one or more repositories that contain the project,
> how the directory tree will be?
>

I think it depends on what kind of repository you want to create.
For orocos-opencv, it is intended to provide all components to make
computer vision: image IO (camera, file loading and writing, ...), some
algorithms, etc.
It is to be organized this way (quite similar to OpenCV modules).

>
> I thought something like:
>
> nameOfProject
> |_ components
> |_component1
> |_src
> |_component1.cpp
> |_include
> |_component1.hpp
> |_CMakeLists.txt
> |_manifest.txt
> |_...
> |_component2
> |_...
>
> |_deployment
> |_launch.sh
> |_startCoordinator.lua
> |_testComponent1.ods
> |_...
>
> but in this case I have to compile every component manually and I can't
> compile the whole project in one shot.
>

I very rarely make a single repository with my components and my deployment.
"Best practices" would like your components to be application-independent,
and then your "application deployment" would import these components.

Maybe you can also inspire from Rock's apps to organize your folder:
http://rock.opendfki.de/wiki/WikiStart/OngoingWork/App

Charles.

> Any suggestions?
> Regards
>
> Fabrizio
>
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>