2013-11-04 19:32:27 +08:00
|
|
|
DESCRIPTION = "The Point Cloud Library (or PCL) for point cloud processing."
|
|
|
|
SECTION = "devel"
|
|
|
|
LICENSE = "BSD"
|
|
|
|
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5b8a2a1aa14e6de44b4273134946a34c"
|
|
|
|
|
pcl: updating to 1.7.2
The update to the latest version 1.7.2 was triggered by compilation
errors in pcl 1.7.0 (i.e., in file common/include/pcl/point_types.h)
due to the update of boost to 1.60.0 in openembedded-core [1].
This failure was detected by the internal CI build on 2016-01-15.
Due to the version update, the commit drops patch
`Fix incompatibility with Boost 1.56`, as the change is included
upstream in version 1.7.2. This commit also adds the upstream-accepted
patch `Add "WITH_OPENGL" option (...)` to make the dependency to OpenGL
libraries optional.
The commit configures package dependencies and compiles with the
least possible packages, so that the pcl-ros recipe compiles. As a
result, all optional packages in PCL, except qhull, can be set to FALSE.
If qhull is deactivated, the do_configure task of pcl-ros reports:
| -- Could NOT find qhull (missing: QHULL_LIBRARY)
| ** WARNING ** surface features related to qhull will be disabled
However, in the do_compile task of pcl-ros, the build process assumes
that the surface features related to qhull are actually never disabled,
i.e., if qhull is deactivated, compiling pcl-ros fails with:
| In file included from [...]/pcl_ros/src/pcl_ros/surface/convex_hull.cpp:40:0:
| [...]/pcl_ros/include/pcl_ros/surface/convex_hull.h:44:37: fatal error: pcl/surface/convex_hull.h: No such file or directory
| compilation terminated.
| CMakeFiles/pcl_ros_surface.dir/build.make:89: recipe for target 'CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o' failed
| make[2]: *** [CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o] Error 1
| make[2]: Leaving directory '[...]/build'
| CMakeFiles/Makefile2:1173: recipe for target 'CMakeFiles/pcl_ros_surface.dir/all' failed
| make[1]: *** [CMakeFiles/pcl_ros_surface.dir/all] Error 2
[1] http://cgit.openembedded.org/openembedded-core/commit/?id=17d77db5e1203e18cdd178e7d9a457310425ebdc
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
2016-01-16 18:30:59 +08:00
|
|
|
DEPENDS = "boost libflann libeigen qhull"
|
2013-11-04 19:32:27 +08:00
|
|
|
|
2019-05-17 22:12:56 +08:00
|
|
|
PV = "1.9.1+git${SRCPV}"
|
|
|
|
SRCREV = "72f41b60a539cd1da67d1329b57222290122a0bb"
|
|
|
|
SRC_URI = "git://github.com/PointCloudLibrary/pcl.git \
|
|
|
|
file://0001-make-the-pcl-library-compile-with-gcc6.patch \
|
|
|
|
"
|
2016-09-30 20:36:32 +08:00
|
|
|
|
2019-05-17 22:12:56 +08:00
|
|
|
S = "${WORKDIR}/git"
|
2013-11-04 19:32:27 +08:00
|
|
|
|
|
|
|
EXTRA_OECMAKE += "\
|
|
|
|
-DCMAKE_SKIP_RPATH=ON \
|
|
|
|
-DHAVE_MM_MALLOC_EXITCODE=0 \
|
pcl: updating to 1.7.2
The update to the latest version 1.7.2 was triggered by compilation
errors in pcl 1.7.0 (i.e., in file common/include/pcl/point_types.h)
due to the update of boost to 1.60.0 in openembedded-core [1].
This failure was detected by the internal CI build on 2016-01-15.
Due to the version update, the commit drops patch
`Fix incompatibility with Boost 1.56`, as the change is included
upstream in version 1.7.2. This commit also adds the upstream-accepted
patch `Add "WITH_OPENGL" option (...)` to make the dependency to OpenGL
libraries optional.
The commit configures package dependencies and compiles with the
least possible packages, so that the pcl-ros recipe compiles. As a
result, all optional packages in PCL, except qhull, can be set to FALSE.
If qhull is deactivated, the do_configure task of pcl-ros reports:
| -- Could NOT find qhull (missing: QHULL_LIBRARY)
| ** WARNING ** surface features related to qhull will be disabled
However, in the do_compile task of pcl-ros, the build process assumes
that the surface features related to qhull are actually never disabled,
i.e., if qhull is deactivated, compiling pcl-ros fails with:
| In file included from [...]/pcl_ros/src/pcl_ros/surface/convex_hull.cpp:40:0:
| [...]/pcl_ros/include/pcl_ros/surface/convex_hull.h:44:37: fatal error: pcl/surface/convex_hull.h: No such file or directory
| compilation terminated.
| CMakeFiles/pcl_ros_surface.dir/build.make:89: recipe for target 'CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o' failed
| make[2]: *** [CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o] Error 1
| make[2]: Leaving directory '[...]/build'
| CMakeFiles/Makefile2:1173: recipe for target 'CMakeFiles/pcl_ros_surface.dir/all' failed
| make[1]: *** [CMakeFiles/pcl_ros_surface.dir/all] Error 2
[1] http://cgit.openembedded.org/openembedded-core/commit/?id=17d77db5e1203e18cdd178e7d9a457310425ebdc
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
2016-01-16 18:30:59 +08:00
|
|
|
-DHAVE_POSIX_MEMALIGN_EXITCODE=0 \
|
2013-11-04 19:32:27 +08:00
|
|
|
${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DHAVE_SSE4_2_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE4_2_EXTENSIONS_EXITCODE=1", d)} \
|
|
|
|
${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DHAVE_SSE4_1_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE4_1_EXTENSIONS_EXITCODE=1", d)} \
|
2016-09-27 20:01:11 +08:00
|
|
|
-DHAVE_SSSE3_EXTENSIONS_EXITCODE=0 \
|
pcl: updating to 1.7.2
The update to the latest version 1.7.2 was triggered by compilation
errors in pcl 1.7.0 (i.e., in file common/include/pcl/point_types.h)
due to the update of boost to 1.60.0 in openembedded-core [1].
This failure was detected by the internal CI build on 2016-01-15.
Due to the version update, the commit drops patch
`Fix incompatibility with Boost 1.56`, as the change is included
upstream in version 1.7.2. This commit also adds the upstream-accepted
patch `Add "WITH_OPENGL" option (...)` to make the dependency to OpenGL
libraries optional.
The commit configures package dependencies and compiles with the
least possible packages, so that the pcl-ros recipe compiles. As a
result, all optional packages in PCL, except qhull, can be set to FALSE.
If qhull is deactivated, the do_configure task of pcl-ros reports:
| -- Could NOT find qhull (missing: QHULL_LIBRARY)
| ** WARNING ** surface features related to qhull will be disabled
However, in the do_compile task of pcl-ros, the build process assumes
that the surface features related to qhull are actually never disabled,
i.e., if qhull is deactivated, compiling pcl-ros fails with:
| In file included from [...]/pcl_ros/src/pcl_ros/surface/convex_hull.cpp:40:0:
| [...]/pcl_ros/include/pcl_ros/surface/convex_hull.h:44:37: fatal error: pcl/surface/convex_hull.h: No such file or directory
| compilation terminated.
| CMakeFiles/pcl_ros_surface.dir/build.make:89: recipe for target 'CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o' failed
| make[2]: *** [CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o] Error 1
| make[2]: Leaving directory '[...]/build'
| CMakeFiles/Makefile2:1173: recipe for target 'CMakeFiles/pcl_ros_surface.dir/all' failed
| make[1]: *** [CMakeFiles/pcl_ros_surface.dir/all] Error 2
[1] http://cgit.openembedded.org/openembedded-core/commit/?id=17d77db5e1203e18cdd178e7d9a457310425ebdc
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
2016-01-16 18:30:59 +08:00
|
|
|
${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DHAVE_SSE3_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE3_EXTENSIONS_EXITCODE=1", d)} \
|
2013-11-04 19:32:27 +08:00
|
|
|
${@bb.utils.contains("TARGET_CC_ARCH", "-msse2", "-DHAVE_SSE2_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE2_EXTENSIONS_EXITCODE=1", d)} \
|
|
|
|
${@bb.utils.contains("TARGET_CC_ARCH", "-msse", "-DHAVE_SSE_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE_EXTENSIONS_EXITCODE=1", d)} \
|
pcl: updating to 1.7.2
The update to the latest version 1.7.2 was triggered by compilation
errors in pcl 1.7.0 (i.e., in file common/include/pcl/point_types.h)
due to the update of boost to 1.60.0 in openembedded-core [1].
This failure was detected by the internal CI build on 2016-01-15.
Due to the version update, the commit drops patch
`Fix incompatibility with Boost 1.56`, as the change is included
upstream in version 1.7.2. This commit also adds the upstream-accepted
patch `Add "WITH_OPENGL" option (...)` to make the dependency to OpenGL
libraries optional.
The commit configures package dependencies and compiles with the
least possible packages, so that the pcl-ros recipe compiles. As a
result, all optional packages in PCL, except qhull, can be set to FALSE.
If qhull is deactivated, the do_configure task of pcl-ros reports:
| -- Could NOT find qhull (missing: QHULL_LIBRARY)
| ** WARNING ** surface features related to qhull will be disabled
However, in the do_compile task of pcl-ros, the build process assumes
that the surface features related to qhull are actually never disabled,
i.e., if qhull is deactivated, compiling pcl-ros fails with:
| In file included from [...]/pcl_ros/src/pcl_ros/surface/convex_hull.cpp:40:0:
| [...]/pcl_ros/include/pcl_ros/surface/convex_hull.h:44:37: fatal error: pcl/surface/convex_hull.h: No such file or directory
| compilation terminated.
| CMakeFiles/pcl_ros_surface.dir/build.make:89: recipe for target 'CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o' failed
| make[2]: *** [CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o] Error 1
| make[2]: Leaving directory '[...]/build'
| CMakeFiles/Makefile2:1173: recipe for target 'CMakeFiles/pcl_ros_surface.dir/all' failed
| make[1]: *** [CMakeFiles/pcl_ros_surface.dir/all] Error 2
[1] http://cgit.openembedded.org/openembedded-core/commit/?id=17d77db5e1203e18cdd178e7d9a457310425ebdc
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
2016-01-16 18:30:59 +08:00
|
|
|
-DWITH_LIBUSB=FALSE \
|
|
|
|
-DWITH_PNG=FALSE \
|
|
|
|
-DWITH_QHULL=TRUE \
|
|
|
|
-DWITH_CUDA=FALSE \
|
|
|
|
-DWITH_QT=FALSE \
|
|
|
|
-DWITH_VTK=FALSE \
|
|
|
|
-DWITH_PCAP=FALSE \
|
|
|
|
-DWITH_OPENGL=FALSE \
|
2013-11-04 19:32:27 +08:00
|
|
|
"
|
|
|
|
|
|
|
|
#Setting -ffloat-store to alleviate 32bit vs 64bit discrepancies on non-SSE platforms.
|
|
|
|
CXXFLAGS += "${@bb.utils.contains("TARGET_CC_ARCH", "-mfpmath=sse", "", "-ffloat-store", d)}"
|
|
|
|
|
|
|
|
inherit cmake
|
|
|
|
|
2019-05-17 22:12:56 +08:00
|
|
|
FILES_${PN}-dev += "${datadir}/${PN}-1.9/*.cmake ${datadir}/${PN}-1.9/Modules/*.cmake"
|
2018-05-15 17:11:17 +08:00
|
|
|
|
|
|
|
# The build is really memory hungry (at least with gcc8), even with just -j 8 it triggers OOMK on system with 32GB ram
|
|
|
|
# High memory needs mentioned in: https://github.com/PointCloudLibrary/pcl/issues/2284
|
|
|
|
# Setting just empty doesn't work, ninja will by default use number of cores available
|
2019-05-17 22:12:56 +08:00
|
|
|
PARALLEL_MAKE = "-j4"
|
2019-07-04 00:48:48 +08:00
|
|
|
|
|
|
|
# Disable thumb for armv[45] to resolve
|
|
|
|
# pcl/1.9.1+gitAUTOINC+72f41b60a5-r0/git/features/include/pcl/features/impl/pfh.hpp:129: error: relocation overflow in R_ARM_THM_CALL
|
|
|
|
# http://caprica.lgsvl.com:8080/Errors/Details/1510736
|
|
|
|
ARM_INSTRUCTION_SET_armv4 = "arm"
|
|
|
|
ARM_INSTRUCTION_SET_armv5 = "arm"
|