diff --git a/meta-ros-common/recipes-extended/geographiclib/geographiclib_1.48.bb b/meta-ros-common/recipes-extended/geographiclib/geographiclib_1.48.bb index 052cf16d699..d8bff5f05ea 100644 --- a/meta-ros-common/recipes-extended/geographiclib/geographiclib_1.48.bb +++ b/meta-ros-common/recipes-extended/geographiclib/geographiclib_1.48.bb @@ -24,3 +24,21 @@ FILES_${PN}-node = "${libdir}/node_modules" FILES_${PN}-python = "${libdir}/python" inherit cmake + +# enable both shared and static libraries (static is required by robot-localization-2.6.9-1 in melodic) +EXTRA_OECMAKE += "-DGEOGRAPHICLIB_LIB_TYPE=BOTH" + +# stage bindir to keep CMake happy +# | -- Reading /jenkins/mjansa/build/ros/webos-melodic-hardknott/tmp-glibc/work/qemux86-webos-linux/robot-localization/2.6.9-1-r0/recipe-sysroot/usr/lib/cmake/GeographicLib/geographiclib-config.cmake +# | -- GeographicLib configuration, version 1.48 +# | CMake Error at /jenkins/mjansa/build/ros/webos-melodic-hardknott/tmp-glibc/work/qemux86-webos-linux/robot-localization/2.6.9-1-r0/recipe-sysroot/usr/lib/cmake/GeographicLib/geographiclib-targets.cmake:123 (message): +# | The imported target "CartConvert" references the file +# | +# | "/jenkins/mjansa/build/ros/webos-melodic-hardknott/tmp-glibc/work/qemux86-webos-linux/robot-localization/2.6.9-1-r0/recipe-sysroot/usr/bin/CartConvert" +# | +# | but this file does not exist. Possible reasons include: +# OE doesn't stage ${bindir} for target recipes, but in this case the CartConvert isn't +# being called during the cross-build, so we can include it just to keep CMake happy +sysroot_stage_all_append() { + sysroot_stage_dir ${D}${bindir} ${SYSROOT_DESTDIR}${bindir} +}