[pcl] update to version 1.14.0 (#36032)

* [pcl] update to version 1.14.0

* Add new patch
This commit is contained in:
Markus Vieth 2024-01-11 02:02:56 +01:00 committed by GitHub
parent 6df4d4f498
commit 8a5830e45c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 38 additions and 208 deletions

View File

@ -12,7 +12,7 @@ index 63b38df68..29f79d31b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -311,6 +311,10 @@ if(NOT (${FLANN_LIBRARY_TYPE} MATCHES ${PCL_FLANN_REQUIRED_TYPE}) AND NOT (${PCL
message(FATAL_ERROR "Flann was selected with ${PCL_FLANN_REQUIRED_TYPE} but found as ${FLANN_LIBRARY_TYPE}")
endif()
endif()
+if(UNIX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0)

View File

@ -1,15 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 17020e162..132fbcedb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -142,8 +142,9 @@ endif()
if(CMAKE_COMPILER_IS_MSVC)
add_definitions("-DBOOST_ALL_NO_LIB -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX -DPCL_ONLY_CORE_POINT_TYPES ${SSE_DEFINITIONS}")
+ string(APPEND CMAKE_CXX_FLAGS " /bigobj")
if("${CMAKE_CXX_FLAGS}" STREQUAL "${CMAKE_CXX_FLAGS_DEFAULT}")
- string(APPEND CMAKE_CXX_FLAGS " /fp:precise ${SSE_FLAGS} ${AVX_FLAGS} /bigobj")
+ string(APPEND CMAKE_CXX_FLAGS " /fp:precise ${SSE_FLAGS} ${AVX_FLAGS}")
# Add extra code generation/link optimizations
if(CMAKE_MSVC_CODE_LINK_OPTIMIZATION AND (NOT BUILD_CUDA) AND (NOT BUILD_GPU))

View File

@ -1,76 +0,0 @@
diff --git a/surface/include/pcl/surface/3rdparty/opennurbs/opennurbs_zlib.h b/surface/include/pcl/surface/3rdparty/opennurbs/opennurbs_zlib.h
index 12787e1..b500233 100644
--- a/surface/include/pcl/surface/3rdparty/opennurbs/opennurbs_zlib.h
+++ b/surface/include/pcl/surface/3rdparty/opennurbs/opennurbs_zlib.h
@@ -31,13 +31,16 @@
#if !defined(Z_PREFIX)
/* decorates zlib functions with a "z_" prefix to prevent symbol collision. */
-#define Z_PREFIX
#endif
+#define z_deflate deflate
+#define z_inflate inflate
+#define z_Bytef Bytef
#if !defined(MY_ZCALLOC)
/* have zlib use oncalloc() and onfree() for memory managment*/
-#define MY_ZCALLOC
#endif
+#define zcalloc pcl_zcalloc
+#define zcfree pcl_zcfree
#include "zlib.h"
diff --git a/surface/src/3rdparty/opennurbs/openNURBS.cmake b/surface/src/3rdparty/opennurbs/openNURBS.cmake
index 51ca678..4ee5192 100644
--- a/surface/src/3rdparty/opennurbs/openNURBS.cmake
+++ b/surface/src/3rdparty/opennurbs/openNURBS.cmake
@@ -102,6 +102,8 @@ set(OPENNURBS_INCLUDES
include/pcl/${SUBSYS_NAME}/3rdparty/opennurbs/opennurbs_workspace.h
include/pcl/${SUBSYS_NAME}/3rdparty/opennurbs/opennurbs_xform.h
include/pcl/${SUBSYS_NAME}/3rdparty/opennurbs/opennurbs_zlib.h
+)
+file(REMOVE
include/pcl/${SUBSYS_NAME}/3rdparty/opennurbs/crc32.h
include/pcl/${SUBSYS_NAME}/3rdparty/opennurbs/deflate.h
include/pcl/${SUBSYS_NAME}/3rdparty/opennurbs/inffast.h
@@ -222,6 +224,8 @@ set(OPENNURBS_SOURCES
src/3rdparty/opennurbs/opennurbs_xform.cpp
src/3rdparty/opennurbs/opennurbs_zlib.cpp
src/3rdparty/opennurbs/opennurbs_zlib_memory.cpp
+)
+file(REMOVE
src/3rdparty/opennurbs/adler32.c
src/3rdparty/opennurbs/compress.c
src/3rdparty/opennurbs/crc32.c
diff --git a/surface/src/3rdparty/opennurbs/opennurbs_zlib.cpp b/surface/src/3rdparty/opennurbs/opennurbs_zlib.cpp
index 688c803..d1bc977 100644
--- a/surface/src/3rdparty/opennurbs/opennurbs_zlib.cpp
+++ b/surface/src/3rdparty/opennurbs/opennurbs_zlib.cpp
@@ -68,7 +68,6 @@
#endif // if WIN64 else WIN32
-#pragma comment(lib, "\"" OPENNURBS_ZLIB_OUTPUT_ROOT_DIR "/" OPENNURBS_CONFIGURATION_DIR "/" OPENNURBS_ZLIB_FILE_NAME "\"")
#endif // ON_DLL_EXPORTS
@@ -641,7 +640,7 @@ struct ON_CompressedBufferHelper
sizeof_x_buffer = 16384
};
unsigned char buffer[sizeof_x_buffer];
- z_stream strm;
+ z_stream strm = []() { z_stream zs; zs.zalloc = zcalloc; zs.zfree = zcfree; return zs; } ();
std::size_t m_buffer_compressed_capacity;
};
diff --git a/surface/src/on_nurbs/on_nurbs.cmake b/surface/src/on_nurbs/on_nurbs.cmake
index 20d4269..a7b5631 100644
--- a/surface/src/on_nurbs/on_nurbs.cmake
+++ b/surface/src/on_nurbs/on_nurbs.cmake
@@ -55,3 +55,5 @@ else()
set(ON_NURBS_SOURCES ${ON_NURBS_SOURCES} src/on_nurbs/nurbs_solve_eigen.cpp)
endif()
+find_package(ZLIB REQUIRED)
+set(ON_NURBS_LIBRARIES ${ON_NURBS_LIBRARIES} ${ZLIB_LIBRARIES})

View File

@ -1,36 +0,0 @@
diff --git a/gpu/kinfu/CMakeLists.txt b/gpu/kinfu/CMakeLists.txt
index 29cb73e95..fbbd294fd 100644
--- a/gpu/kinfu/CMakeLists.txt
+++ b/gpu/kinfu/CMakeLists.txt
@@ -2,7 +2,12 @@ set(SUBSYS_NAME gpu_kinfu)
set(SUBSYS_PATH gpu/kinfu)
set(SUBSYS_DESC "Kinect Fusion implementation")
set(SUBSYS_DEPS common io gpu_containers geometry search)
-set(DEFAULT TRUE)
+if(${CUDA_VERSION_STRING} VERSION_GREATER_EQUAL "12.0")
+ set(DEFAULT FALSE)
+ set(REASON "Kinfu uses textures which was removed in CUDA 12")
+else()
+ set(DEFAULT TRUE)
+endif()
PCL_SUBSYS_OPTION(build "${SUBSYS_NAME}" "${SUBSYS_DESC}" ${DEFAULT} "${REASON}")
PCL_SUBSYS_DEPEND(build NAME ${SUBSYS_NAME} DEPS ${SUBSYS_DEPS})
diff --git a/gpu/kinfu_large_scale/CMakeLists.txt b/gpu/kinfu_large_scale/CMakeLists.txt
index d7efc4ad5..0488fcb46 100644
--- a/gpu/kinfu_large_scale/CMakeLists.txt
+++ b/gpu/kinfu_large_scale/CMakeLists.txt
@@ -2,7 +2,12 @@ set(SUBSYS_NAME gpu_kinfu_large_scale)
set(SUBSYS_PATH gpu/kinfu_large_scale)
set(SUBSYS_DESC "Kinect Fusion implementation, with volume shifting")
set(SUBSYS_DEPS common io gpu_containers gpu_utils geometry search octree filters kdtree features surface)
-set(DEFAULT TRUE)
+if(${CUDA_VERSION_STRING} VERSION_GREATER_EQUAL "12.0")
+ set(DEFAULT FALSE)
+ set(REASON "Kinfu_large_scale uses textures which was removed in CUDA 12")
+else()
+ set(DEFAULT TRUE)
+endif()
PCL_SUBSYS_OPTION(build "${SUBSYS_NAME}" "${SUBSYS_DESC}" ${DEFAULT} "${REASON}")
PCL_SUBSYS_DEPEND(build NAME ${SUBSYS_NAME} DEPS ${SUBSYS_DEPS})

View File

@ -11,42 +11,6 @@ index ea73a0c..4cfc92b 100644
#define PCL_INSTANTIATE_PRODUCT_IMPL(r, product) \
BOOST_PP_CAT(PCL_INSTANTIATE_, BOOST_PP_SEQ_HEAD(product)) \
BOOST_PP_EXPAND(BOOST_PP_SEQ_TO_TUPLE(BOOST_PP_SEQ_TAIL(product)))
diff --git a/common/src/colors.cpp b/common/src/colors.cpp
index 4d53ab1..ba0c114 100644
--- a/common/src/colors.cpp
+++ b/common/src/colors.cpp
@@ -39,6 +39,7 @@
#include <pcl/common/colors.h>
#include <array>
+#include <cassert>
/// Glasbey lookup table
static constexpr std::array<unsigned char, 256 * 3> GLASBEY_LUT =
diff --git a/common/src/gaussian.cpp b/common/src/gaussian.cpp
index 69bbd12..2b6a667 100644
--- a/common/src/gaussian.cpp
+++ b/common/src/gaussian.cpp
@@ -36,6 +36,7 @@
*/
#include <pcl/common/gaussian.h>
+#include <cassert>
void
pcl::GaussianKernel::compute (float sigma,
diff --git a/common/src/range_image_planar.cpp b/common/src/range_image_planar.cpp
index 97b249b..dddd7f7 100644
--- a/common/src/range_image_planar.cpp
+++ b/common/src/range_image_planar.cpp
@@ -35,6 +35,7 @@
/** \author Bastian Steder */
#include <iostream>
+#include <cassert>
using std::cout;
using std::cerr;
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fad95c9..b4ca305 100644
--- a/CMakeLists.txt

View File

@ -19,8 +19,8 @@ index 7cf86f74b..e07fd430a 100644
+ add_definitions(-fext-numeric-literals)
+endif()
### ---[ Create the config.h file
set(pcl_config_h_in "${CMAKE_CURRENT_SOURCE_DIR}/pcl_config.h.in")
# System zlib (for nurbs on surface)
option(WITH_SYSTEM_ZLIB "Use system zlib" TRUE)
--
2.32.0.windows.1

View File

@ -0,0 +1,25 @@
diff --git a/gpu/segmentation/include/pcl/gpu/segmentation/impl/gpu_extract_clusters.hpp b/gpu/segmentation/include/pcl/gpu/segmentation/impl/gpu_extract_clusters.hpp
index 2e2be0de3..d1340a93c 100644
--- a/gpu/segmentation/include/pcl/gpu/segmentation/impl/gpu_extract_clusters.hpp
+++ b/gpu/segmentation/include/pcl/gpu/segmentation/impl/gpu_extract_clusters.hpp
@@ -44,7 +44,7 @@ namespace pcl {
namespace detail {
//// Downloads only the neccssary cluster indices from the device to the host.
-void
+PCL_EXPORTS void
economical_download(const pcl::gpu::NeighborIndices& source_indices,
const pcl::Indices& buffer_indices,
std::size_t buffer_size,
diff --git a/visualization/include/pcl/visualization/vtk/vtkRenderWindowInteractorFix.h b/visualization/include/pcl/visualization/vtk/vtkRenderWindowInteractorFix.h
index b427e76d9..7958f80e6 100644
--- a/visualization/include/pcl/visualization/vtk/vtkRenderWindowInteractorFix.h
+++ b/visualization/include/pcl/visualization/vtk/vtkRenderWindowInteractorFix.h
@@ -38,5 +38,6 @@
#pragma once
#include <vtkRenderWindowInteractor.h>
+#include <pcl/pcl_exports.h>
-vtkRenderWindowInteractor* vtkRenderWindowInteractorFixNew ();
+PCL_EXPORTS vtkRenderWindowInteractor* vtkRenderWindowInteractorFixNew ();

View File

@ -1,24 +0,0 @@
diff --git a/surface/include/pcl/surface/3rdparty/opennurbs/opennurbs_system.h b/surface/include/pcl/surface/3rdparty/opennurbs/opennurbs_system.h
index 384e7bac8..cde079401 100644
--- a/surface/include/pcl/surface/3rdparty/opennurbs/opennurbs_system.h
+++ b/surface/include/pcl/surface/3rdparty/opennurbs/opennurbs_system.h
@@ -137,15 +137,15 @@
#if defined(_M_X64) && defined(WIN32) && defined(WIN64)
// 23 August 2007 Dale Lear
-#if defined(_INC_WINDOWS)
+//#if defined(_INC_WINDOWS)
// The user has included Microsoft's windows.h before opennurbs.h,
// and windows.h has nested includes that unconditionally define WIN32.
// Just undo the damage here or everybody that includes opennurbs.h after
// windows.h has to fight with this Microsoft bug.
#undef WIN32
-#else
-#error do not define WIN32 for x64 builds
-#endif
+//#else
+//#error do not define WIN32 for x64 builds
+//#endif
// NOTE _WIN32 is defined for any type of Windows build
#endif

View File

@ -1,12 +0,0 @@
diff --git a/outofcore/tools/outofcore_viewer.cpp b/outofcore/tools/outofcore_viewer.cpp
index 6ec57e09359..795e03d7598 100644
--- a/outofcore/tools/outofcore_viewer.cpp
+++ b/outofcore/tools/outofcore_viewer.cpp
@@ -112,7 +112,6 @@ using AlignedPointT = Eigen::aligned_allocator<PointT>;
#include <vtkLODActor.h>
#include <vtkMath.h>
#include <vtkMatrix4x4.h>
-#include <vtkMutexLock.h>
#include <vtkObjectFactory.h>
#include <vtkPolyData.h>
#include <vtkProperty.h>

View File

@ -2,7 +2,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO PointCloudLibrary/pcl
REF "pcl-${VERSION}"
SHA512 f6860b2103cb033839d044c3fed1fc3e8a989cd4f9776ae9d20e7d381b05eff8efde33dd06316ce419b44d877877ed21735d80b09d1daf64b0f94cdd302374fb
SHA512 0ea388d5f4ccdc1e5fcace6a1e1b90843be1a4ed2e1d37cc3c80d8abc0e868324d8f9da80513f1cb3f16738e00586f29cac151ce0d501645514f280aee8b1d7f
HEAD_REF master
PATCHES
add-gcc-version-check.patch
@ -12,8 +12,8 @@ vcpkg_from_github(
pcl_utils.patch
install-examples.patch
no-absolute.patch
devendor-zlib.patch
fix-clang-cl.patch
fix-pcl-exports.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PCL_SHARED_LIBS)

View File

@ -1,7 +1,6 @@
{
"name": "pcl",
"version": "1.13.1",
"port-version": 2,
"version": "1.14.0",
"description": "Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.",
"homepage": "https://github.com/PointCloudLibrary/pcl",
"license": "BSD-3-Clause",

View File

@ -6533,8 +6533,8 @@
"port-version": 0
},
"pcl": {
"baseline": "1.13.1",
"port-version": 2
"baseline": "1.14.0",
"port-version": 0
},
"pcre": {
"baseline": "8.45",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "547556098f29483403ca91d1b4ece9b7dc73d104",
"version": "1.14.0",
"port-version": 0
},
{
"git-tree": "55fa760d44b858555a5c350ec8b2a1f26e97e84e",
"version": "1.13.1",