Closed jgvictores closed 5 years ago
YARP 3.0 introduced CMake components, i.e. former YARP subprojects are now split into OS, dev, math, etc. Boost-like components loadable via find_package(YARP)
. Since only a tiny subset is loaded by default, we need to provide yarpidl et al. in this instruction.
See https://github.com/roboticslab-uc3m/questions-and-answers/issues/65#issuecomment-405119846:
Dependent projects may not support all required YARP components of a RL dependency. Prior to roboticslab-uc3m/kinematics-dynamics@273ac97, asibot-hmi builds were failing since kin-dyn explicitly requested YARP_math while the Travis build environment for the former didn't even install Eigen3.
I forgot about this. YARP 3.x will happily treat idl_tools in the default components, but show deprecations warnings if the CMake macros it sets are used. Looks like explicit components are preferred, at least in this case. I'd defer this matter until a) deprecations become build failures, or b) we enforce YARP 3.0 or later. Then, we'll start resolving deprecations one by one.
It looks like YARP_HAS_IDL
had always been set to TRUE
since 2014 (https://github.com/robotology/yarp/commit/1052996f4c4d3f99beb8e32ecc5bd81c5773a451), therefore our CMake check was useless anyway. In YARP 3.0, the set(YARP_HAS_IDL TRUE)
line disappeared (although the corresponding deprecation notice was added).
Tested and working! @PeterBowman thanks!!!
Cause (using
YARP version 3.1.100+20190227.3+gitd9b4a5a
):YARP_HAS_IDL variable is deprecated
Results in: