From: Lorenzo Natale <lorenzo.natale@ii...> - 2010-07-16 13:50:12
As anticipated some time ago we have implemented a new build system for
the iCub software, this affects the build system and the organization of
The page in the manual: http://eris.liralab.it/wiki/Better_Repository
explains in details what changes and how. The installation instructions
of the software have been updated accordingly.
In brief, the main changes involve the iCub build and how files are
The iCub build was moved to $ICUB_ROOT/main. The idea is that this build
will contain modules that are well tested and follow the iCub standards
(in particular: dependencies, and development environments). There is a
directory in $ICUB_ROOT/contrib that is available for people to store
code that compiles independently of the iCub main build. This code can
use libraries and modules in the iCub build (by calling
find_package(iCub)). There is less pressure for this code to respect
iCub standards and dependencies, but the idea is that when a module in
contrib is mature it is moved to main. So respecting standards and (more
importantly) dependencies will help make the transition smooth.
The new build system uses CMake 2.6 and support out-of-source builds and
installation. CMake code was re-written and improved, Find* scripts have
been standardized to have similar behavior.
At the moment we have moved all modules that are required to run the
robot (i.e. the pc104 set of modules), plus some others that were easy
to move for various reasons (mainly because they were written by people
at IIT). We plan to terminate the transition in the following weeks. The
old build in the repository will continue to compile for another while,
but it will not be updated/supported (during the migration the two
builds can coexist: see:
The transition for modules that are NOT in the iCub build is simple. It
is enough to move them to contrib, they will only need some minor fixes
to CMake files. Template files for modules in contrib are reported at
the end of this page: http://eris.liralab.it/wiki/Better_Repository.
The transition of modules in the iCub build is a bit more critical, for
this we should synchronize with individual developers (we volunteer to
take care of the transition, or just provide support to them).
As usual I'm available for any question.
Istituto Italiano di Tecnologia
Lorenzo Natale, PhD
via Morego, 30 16163 Genova
Ph: +39 010 71781400
Fax: +39 010 7170817
Get latest updates about Open Source Projects, Conferences and News.