Difference between revisions of "YARP 2.4 Migration"
Jump to navigation
Jump to search
Line 17: | Line 17: | ||
[[ICub Software Installation]] | [[ICub Software Installation]] | ||
* Repository description [[Better_Repository]], in particular templates have been updated: | * Repository description [[Better_Repository]], in particular CMake templates have been updated: | ||
[[Simple template for modules in main]] | [[Simple template for modules in main]] |
Revision as of 13:55, 9 December 2013
This page is still work in progress.
Migrating from YARP 2.3 to YARP 2.4 might require some changes to your code.
Things that change in iCub
- Remove references to ICUB_ROOT in ResourceFinder configuration
- No need to set ICUB_ROOT environment variable
- ICUB_ROOT.ini is obsolete
- Target install_application and ICUB_INSTALL_APPLICATIONS cmake flag removed, now applications and other files are with the binaries both in the build and in the installation directory
- Updated installation instructions:
- Repository description Better_Repository, in particular CMake templates have been updated:
Simple template for modules in main
Simple template for libraries in main
Simple template for modules in contrib
Simple template for libraries in contrib
- Before you compile modules in contrib you have to set up the contrib package (this is described in the installation instructions)
- cmake functions for applications like icub_app()/icub_app_install() are obsolete, use yarp_install() instead
- Devices:
controlBoardWrapper2 analogServer virtualAnalogServer
have been moved to yarp. The version in icubmod is deprecated and will be removed.
- YARP_ROBOT_NAME
Changes in YARP
- ResourceFinder changed: see ResourceFinder
List of incompatible changes
This is a list of incompatible changes from YARP 2.3 series to YARP 2.4
CMake
YARP_MODULE_PATH
cmake variable YARP_MODULE_PATH
is a real "PATH" and therefore could be a list and not a single directory. This might break in a few cases (i.e. when used in include(${YARP_MODULE_PATH}/something.cmake)
) There are 2 options to fix this:
- Use the variable
YARP_MODULE_DIR
instead ofYARP_MODULE_PATH
:
include(${YARP_MODULE_DIR}/something.cmake)
- Add YARP_MODULE_PATH to the CMAKE_MODULE_PATH variable and use the filename without the path and the extension :
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${YARP_MODULE_PATH}) include(something)