aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/pcl/1635.patch36
-rw-r--r--ports/pcl/1788.patch24
-rw-r--r--ports/pcl/1823.patch22
-rw-r--r--ports/pcl/1830.patch68
-rw-r--r--ports/pcl/1855.patch24
-rw-r--r--ports/pcl/1856.patch23
-rw-r--r--ports/pcl/CONTROL4
-rw-r--r--ports/pcl/config.patch39
-rw-r--r--ports/pcl/config_install.patch13
-rw-r--r--ports/pcl/find_flann.patch35
-rw-r--r--ports/pcl/find_openni2.patch12
-rw-r--r--ports/pcl/find_qhull.patch13
-rw-r--r--ports/pcl/portfile.cmake71
13 files changed, 384 insertions, 0 deletions
diff --git a/ports/pcl/1635.patch b/ports/pcl/1635.patch
new file mode 100644
index 000000000..716097949
--- /dev/null
+++ b/ports/pcl/1635.patch
@@ -0,0 +1,36 @@
+From 8710ee9b6c3ef236a84450ab9fd1f8f167c87a56 Mon Sep 17 00:00:00 2001
+From: Tsukasa Sugiura <t.sugiura0204@gmail.com>
+Date: Thu, 16 Jun 2016 01:52:29 +0900
+Subject: [PATCH] Fix compile error C2440 of pcl_visualization on MSVC
+
+The pcl_visualization occur compile error C2440 on MSVC.
+This error occurs because that can not directly cast to enum type from
+double type in MSVC.
+It must explicitly cast to int type from double type before cast to enum
+type.
+---
+ visualization/src/pcl_visualizer.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/visualization/src/pcl_visualizer.cpp b/visualization/src/pcl_visualizer.cpp
+index b5fabde110..7c84b7543e 100644
+--- a/visualization/src/pcl_visualizer.cpp
++++ b/visualization/src/pcl_visualizer.cpp
+@@ -1492,7 +1492,7 @@ pcl::visualization::PCLVisualizer::setPointCloudRenderingProperties (
+ actor->GetMapper ()->ScalarVisibilityOn ();
+ actor->GetMapper ()->SetScalarRange (range[0], range[1]);
+ vtkSmartPointer<vtkLookupTable> table;
+- if (!pcl::visualization::getColormapLUT (static_cast<LookUpTableRepresentationProperties>(value), table))
++ if (!pcl::visualization::getColormapLUT (static_cast<LookUpTableRepresentationProperties>(static_cast<int>(value)), table))
+ break;
+ table->SetRange (range[0], range[1]);
+ actor->GetMapper ()->SetLookupTable (table);
+@@ -1738,7 +1738,7 @@ pcl::visualization::PCLVisualizer::setShapeRenderingProperties (
+ actor->GetMapper ()->ScalarVisibilityOn ();
+ actor->GetMapper ()->SetScalarRange (range[0], range[1]);
+ vtkSmartPointer<vtkLookupTable> table = vtkSmartPointer<vtkLookupTable>::New ();
+- getColormapLUT (static_cast<LookUpTableRepresentationProperties>(value), table);
++ getColormapLUT (static_cast<LookUpTableRepresentationProperties>(static_cast<int>(value)), table);
+ table->SetRange (range[0], range[1]);
+ actor->GetMapper ()->SetLookupTable (table);
+ style_->updateLookUpTableDisplay (false);
diff --git a/ports/pcl/1788.patch b/ports/pcl/1788.patch
new file mode 100644
index 000000000..da384708a
--- /dev/null
+++ b/ports/pcl/1788.patch
@@ -0,0 +1,24 @@
+From 1216590288f9c1e9195954c06cebdc421a8a3986 Mon Sep 17 00:00:00 2001
+From: Tsukasa Sugiura <t.sugiura0204@gmail.com>
+Date: Fri, 30 Dec 2016 05:11:36 +0900
+Subject: [PATCH] Update find Boost versions
+
+Update find Boost versions.
+Add Boost 1.62.0 and Boost 1.63.0.
+---
+ cmake/pcl_find_boost.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/pcl_find_boost.cmake b/cmake/pcl_find_boost.cmake
+index a3abe1c069..7ccf80c727 100644
+--- a/cmake/pcl_find_boost.cmake
++++ b/cmake/pcl_find_boost.cmake
+@@ -19,7 +19,7 @@ if(${CMAKE_VERSION} VERSION_LESS 2.8.5)
+ "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43")
+ else(${CMAKE_VERSION} VERSION_LESS 2.8.5)
+ set(Boost_ADDITIONAL_VERSIONS
+- "1.61.0" "1.61" "1.60.0" "1.60"
++ "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
+ "1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
+ "1.54.0" "1.54" "1.53.0" "1.53" "1.52.0" "1.52" "1.51.0" "1.51"
+ "1.50.0" "1.50" "1.49.0" "1.49" "1.48.0" "1.48" "1.47.0" "1.47")
diff --git a/ports/pcl/1823.patch b/ports/pcl/1823.patch
new file mode 100644
index 000000000..cc901a6be
--- /dev/null
+++ b/ports/pcl/1823.patch
@@ -0,0 +1,22 @@
+From b89b32b5e812353e93a5c35203c70b878c8ae2b7 Mon Sep 17 00:00:00 2001
+From: Mourad Boufarguine <bouffa@gmail.com>
+Date: Mon, 20 Feb 2017 10:13:25 +0100
+Subject: [PATCH] Link to delayimp library for all MSVC versions
+
+---
+ cmake/pcl_targets.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/pcl_targets.cmake b/cmake/pcl_targets.cmake
+index 691ead0b7a..06df2791cd 100644
+--- a/cmake/pcl_targets.cmake
++++ b/cmake/pcl_targets.cmake
+@@ -196,7 +196,7 @@ macro(PCL_ADD_LIBRARY _name _component)
+ target_link_libraries(${_name} gomp)
+ endif()
+
+- if(MSVC90 OR MSVC10)
++ if(MSVC)
+ target_link_libraries(${_name} delayimp.lib) # because delay load is enabled for openmp.dll
+ endif()
+
diff --git a/ports/pcl/1830.patch b/ports/pcl/1830.patch
new file mode 100644
index 000000000..b197e9183
--- /dev/null
+++ b/ports/pcl/1830.patch
@@ -0,0 +1,68 @@
+From b9022ebd8ad5f5300662069b5f79995d0c0e18be Mon Sep 17 00:00:00 2001
+From: Tsukasa Sugiura <t.sugiura0204@gmail.com>
+Date: Fri, 24 Feb 2017 23:52:40 +0900
+Subject: [PATCH] Remove MSVCdd variables
+
+Version check for MSVC with MSVC_VERSION variable instead of MSVCdd
+variables, because MSVCdd variables are legacy.
+(e.g. MSVCdd is not defined for Visual C++ 2017.)
+---
+ CMakeLists.txt | 14 +++++++-------
+ cmake/pcl_cpack.cmake | 10 +++++-----
+ 2 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c455e175d..a07a3af0a4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -248,18 +248,18 @@ if(OPENMP_FOUND)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ message (STATUS "Found OpenMP")
+ if(MSVC)
+- if(MSVC90)
++ if(MSVC_VERSION EQUAL 1500)
+ set(OPENMP_DLL VCOMP90)
+- elseif(MSVC10)
++ elseif(MSVC_VERSION EQUAL 1600)
+ set(OPENMP_DLL VCOMP100)
+- elseif(MSVC11)
++ elseif(MSVC_VERSION EQUAL 1700)
+ set(OPENMP_DLL VCOMP110)
+- elseif(MSVC12)
++ elseif(MSVC_VERSION EQUAL 1800)
+ set(OPENMP_DLL VCOMP120)
+- elseif(MSVC14)
++ elseif(MSVC_VERSION EQUAL 1900)
++ set(OPENMP_DLL VCOMP140)
++ elseif(MSVC_VERSION EQUAL 1910)
+ set(OPENMP_DLL VCOMP140)
+- elseif(MSVC15)
+- set(OPENMP_DLL VCOMP150)
+ endif()
+ if(OPENMP_DLL)
+ set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /DELAYLOAD:${OPENMP_DLL}D.dll")
+diff --git a/cmake/pcl_cpack.cmake b/cmake/pcl_cpack.cmake
+index a42d930d2c..eec2b1b1db 100644
+--- a/cmake/pcl_cpack.cmake
++++ b/cmake/pcl_cpack.cmake
+@@ -37,15 +37,15 @@ if(WIN32)
+ if(BUILD_all_in_one_installer)
+ set(CPACK_NSIS_PACKAGE_NAME "${PROJECT_NAME}-${PCL_VERSION}-AllInOne")
+ endif(BUILD_all_in_one_installer)
+- if(MSVC10)
++ if(MSVC_VERSION EQUAL 1600)
+ set(CPACK_NSIS_PACKAGE_NAME "${CPACK_NSIS_PACKAGE_NAME}-msvc2010-${win_system_name}")
+- elseif(MSVC11)
++ elseif(MSVC_VERSION EQUAL 1700)
+ set(CPACK_NSIS_PACKAGE_NAME "${CPACK_NSIS_PACKAGE_NAME}-msvc2012-${win_system_name}")
+- elseif(MSVC12)
++ elseif(MSVC_VERSION EQUAL 1800)
+ set(CPACK_NSIS_PACKAGE_NAME "${CPACK_NSIS_PACKAGE_NAME}-msvc2013-${win_system_name}")
+- elseif(MSVC14)
++ elseif(MSVC_VERSION EQUAL 1900)
+ set(CPACK_NSIS_PACKAGE_NAME "${CPACK_NSIS_PACKAGE_NAME}-msvc2015-${win_system_name}")
+- elseif(MSVC15)
++ elseif(MSVC_VERSION EQUAL 1910)
+ set(CPACK_NSIS_PACKAGE_NAME "${CPACK_NSIS_PACKAGE_NAME}-msvc2017-${win_system_name}")
+ else()
+ set(CPACK_NSIS_PACKAGE_NAME "${CPACK_NSIS_PACKAGE_NAME}-${win_system_name}")
diff --git a/ports/pcl/1855.patch b/ports/pcl/1855.patch
new file mode 100644
index 000000000..319408849
--- /dev/null
+++ b/ports/pcl/1855.patch
@@ -0,0 +1,24 @@
+From 274e55a289c1f67e19c24a7672453384527247eb Mon Sep 17 00:00:00 2001
+From: Tsukasa Sugiura <t.sugiura0204@gmail.com>
+Date: Tue, 18 Apr 2017 21:54:12 +0900
+Subject: [PATCH] Update find Boost version
+
+Update find Boost version.
+Add Boost 1.64.0 that supported Visual Studio 2017.
+---
+ cmake/pcl_find_boost.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/pcl_find_boost.cmake b/cmake/pcl_find_boost.cmake
+index 7ccf80c727..68920ccd41 100644
+--- a/cmake/pcl_find_boost.cmake
++++ b/cmake/pcl_find_boost.cmake
+@@ -19,7 +19,7 @@ if(${CMAKE_VERSION} VERSION_LESS 2.8.5)
+ "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43")
+ else(${CMAKE_VERSION} VERSION_LESS 2.8.5)
+ set(Boost_ADDITIONAL_VERSIONS
+- "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
++ "1.64.0" "1.64" "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
+ "1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
+ "1.54.0" "1.54" "1.53.0" "1.53" "1.52.0" "1.52" "1.51.0" "1.51"
+ "1.50.0" "1.50" "1.49.0" "1.49" "1.48.0" "1.48" "1.47.0" "1.47")
diff --git a/ports/pcl/1856.patch b/ports/pcl/1856.patch
new file mode 100644
index 000000000..75ccccc95
--- /dev/null
+++ b/ports/pcl/1856.patch
@@ -0,0 +1,23 @@
+From fd32c32e92c24823b4852f44221e67aba7accbf3 Mon Sep 17 00:00:00 2001
+From: Tsukasa Sugiura <t.sugiura0204@gmail.com>
+Date: Sun, 23 Apr 2017 01:36:06 +0900
+Subject: [PATCH] Update find Boost versions for PCLConfig
+
+Add latest versions to find Boost macro.
+---
+ PCLConfig.cmake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in
+index fd214a85cb..af1f772db6 100644
+--- a/PCLConfig.cmake.in
++++ b/PCLConfig.cmake.in
+@@ -91,7 +91,7 @@ macro(find_boost)
+ else(${CMAKE_VERSION} VERSION_LESS 2.8.5)
+ set(Boost_ADDITIONAL_VERSIONS
+ "@Boost_MAJOR_VERSION@.@Boost_MINOR_VERSION@.@Boost_SUBMINOR_VERSION@" "@Boost_MAJOR_VERSION@.@Boost_MINOR_VERSION@"
+- "1.61.0" "1.61" "1.60.0" "1.60"
++ "1.64.0" "1.64" "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
+ "1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
+ "1.54.0" "1.54" "1.53.0" "1.53" "1.52.0" "1.52" "1.51.0" "1.51"
+ "1.50.0" "1.50" "1.49.0" "1.49" "1.48.0" "1.48" "1.47.0" "1.47")
diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL
new file mode 100644
index 000000000..aa3b892b6
--- /dev/null
+++ b/ports/pcl/CONTROL
@@ -0,0 +1,4 @@
+Source: pcl
+Version: 1.8.0
+Build-Depends: boost, eigen3, flann, qhull, vtk, openni2
+Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.
diff --git a/ports/pcl/config.patch b/ports/pcl/config.patch
new file mode 100644
index 000000000..2f1e26bb2
--- /dev/null
+++ b/ports/pcl/config.patch
@@ -0,0 +1,39 @@
+diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in
+index 994d20e5d..7f57c0790 100644
+--- a/PCLConfig.cmake.in
++++ b/PCLConfig.cmake.in
+@@ -149,7 +149,7 @@ macro(find_qhull)
+ NAMES "@QHULL_LIBRARY_DEBUG_NAME@"
+ HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}"
+ PATHS "$ENV{PROGRAMFILES}/qhull" "$ENV{PROGRAMW6432}/qhull"
+- PATH_SUFFIXES project build bin lib)
++ PATH_SUFFIXES project build bin debug/lib)
+
+ find_package_handle_standard_args(qhull DEFAULT_MSG QHULL_LIBRARY QHULL_INCLUDE_DIRS)
+
+@@ -433,7 +433,7 @@ macro(find_flann)
+ HINTS ${PC_FLANN_LIBDIR} ${PC_FLANN_LIBRARY_DIRS} "${FLANN_ROOT}" "$ENV{FLANN_ROOT}"
+ PATHS "$ENV{PROGRAMFILES}/flann 1.6.9" "$ENV{PROGRAMW6432}/flann 1.6.9"
+ "$ENV{PROGRAMFILES}/flann" "$ENV{PROGRAMW6432}/flann"
+- PATH_SUFFIXES lib)
++ PATH_SUFFIXES debug/lib)
+
+ find_package_handle_standard_args(Flann DEFAULT_MSG FLANN_LIBRARY FLANN_INCLUDE_DIRS)
+ if(FLANN_FOUND)
+@@ -708,6 +708,7 @@ file(TO_CMAKE_PATH "${PCL_DIR}" PCL_DIR)
+ if(WIN32 AND NOT MINGW)
+ # PCLConfig.cmake is installed to PCL_ROOT/cmake
+ get_filename_component(PCL_ROOT "${PCL_DIR}" PATH)
++ get_filename_component(PCL_ROOT "${PCL_ROOT}" PATH)
+ else(WIN32 AND NOT MINGW)
+ # PCLConfig.cmake is installed to PCL_ROOT/share/pcl-x.y
+ get_filename_component(PCL_ROOT "${PCL_DIR}" PATH)
+@@ -719,7 +720,7 @@ if(EXISTS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl
+ # Found a PCL installation
+ # pcl_message("Found a PCL installation")
+ set(PCL_INCLUDE_DIRS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}")
+- set(PCL_LIBRARY_DIRS "${PCL_ROOT}/@LIB_INSTALL_DIR@")
++ set(PCL_LIBRARY_DIRS "${PCL_ROOT}/@LIB_INSTALL_DIR@" "${PCL_ROOT}/debug/@LIB_INSTALL_DIR@")
+ if(EXISTS "${PCL_ROOT}/3rdParty")
+ set(PCL_ALL_IN_ONE_INSTALLER ON)
+ endif(EXISTS "${PCL_ROOT}/3rdParty")
diff --git a/ports/pcl/config_install.patch b/ports/pcl/config_install.patch
new file mode 100644
index 000000000..de11bd939
--- /dev/null
+++ b/ports/pcl/config_install.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/pcl_utils.cmake b/cmake/pcl_utils.cmake
+index 55b0820f2..034fbc227 100644
+--- a/cmake/pcl_utils.cmake
++++ b/cmake/pcl_utils.cmake
+@@ -109,7 +109,7 @@ macro(SET_INSTALL_DIRS)
+ set(BIN_INSTALL_DIR "bin")
+ set(PKGCFG_INSTALL_DIR "${LIB_INSTALL_DIR}/pkgconfig")
+ if(WIN32 AND NOT MINGW)
+- set(PCLCONFIG_INSTALL_DIR "cmake")
++ set(PCLCONFIG_INSTALL_DIR "share/pcl")
+ else(WIN32 AND NOT MINGW)
+ set(PCLCONFIG_INSTALL_DIR "share/${PROJECT_NAME_LOWER}-${PCL_MAJOR_VERSION}.${PCL_MINOR_VERSION}")
+ endif(WIN32 AND NOT MINGW)
diff --git a/ports/pcl/find_flann.patch b/ports/pcl/find_flann.patch
new file mode 100644
index 000000000..e46618255
--- /dev/null
+++ b/ports/pcl/find_flann.patch
@@ -0,0 +1,35 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e5fd763e3..241fa5208 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -276,9 +276,9 @@ include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS})
+ add_definitions(-DEIGEN_USE_NEW_STDVECTOR
+ -DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET)
+ # FLANN (required)
+-if(NOT PCL_SHARED_LIBS OR (WIN32 AND NOT MINGW))
++if(NOT PCL_SHARED_LIBS)
+ set(FLANN_USE_STATIC ON)
+-endif(NOT PCL_SHARED_LIBS OR (WIN32 AND NOT MINGW))
++endif(NOT PCL_SHARED_LIBS)
+ find_package(FLANN 1.7.0 REQUIRED)
+ include_directories(${FLANN_INCLUDE_DIRS})
+
+diff --git a/cmake/Modules/FindFLANN.cmake b/cmake/Modules/FindFLANN.cmake
+index b5739dc95..b5c22a3b0 100644
+--- a/cmake/Modules/FindFLANN.cmake
++++ b/cmake/Modules/FindFLANN.cmake
+@@ -10,11 +10,11 @@
+ # look for shared ones
+
+ if(FLANN_USE_STATIC)
+- set(FLANN_RELEASE_NAME flann_cpp_s)
+- set(FLANN_DEBUG_NAME flann_cpp_s-gd)
++ set(FLANN_RELEASE_NAME flann_cpp)
++ set(FLANN_DEBUG_NAME flann_cpp)
+ else(FLANN_USE_STATIC)
+ set(FLANN_RELEASE_NAME flann_cpp)
+- set(FLANN_DEBUG_NAME flann_cpp-gd)
++ set(FLANN_DEBUG_NAME flann_cpp)
+ endif(FLANN_USE_STATIC)
+
+ find_package(PkgConfig QUIET)
diff --git a/ports/pcl/find_openni2.patch b/ports/pcl/find_openni2.patch
new file mode 100644
index 000000000..4bd3e0799
--- /dev/null
+++ b/ports/pcl/find_openni2.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/Modules/FindOpenNI2.cmake b/cmake/Modules/FindOpenNI2.cmake
+index 713099a14..f31de96a6 100644
+--- a/cmake/Modules/FindOpenNI2.cmake
++++ b/cmake/Modules/FindOpenNI2.cmake
+@@ -51,6 +51,7 @@ find_path(OPENNI2_INCLUDE_DIRS OpenNI.h
+ PATHS
+ "$ENV{OPENNI2_INCLUDE${OPENNI2_SUFFIX}}" # Win64 needs '64' suffix
+ /usr/include/openni2 # common path for deb packages
++ PATH_SUFFIXES include/openni2
+ )
+
+ find_library(OPENNI2_LIBRARY
diff --git a/ports/pcl/find_qhull.patch b/ports/pcl/find_qhull.patch
new file mode 100644
index 000000000..0f5036e1e
--- /dev/null
+++ b/ports/pcl/find_qhull.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/Modules/FindQhull.cmake b/cmake/Modules/FindQhull.cmake
+index 698bd151b..44c1d5d8d 100644
+--- a/cmake/Modules/FindQhull.cmake
++++ b/cmake/Modules/FindQhull.cmake
+@@ -55,7 +55,7 @@ find_library(QHULL_LIBRARY_DEBUG
+ NAMES ${QHULL_DEBUG_NAME} ${QHULL_RELEASE_NAME}
+ HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}"
+ PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull"
+- PATH_SUFFIXES project build bin lib)
++ PATH_SUFFIXES project build bin debug/lib)
+
+ if(NOT QHULL_LIBRARY_DEBUG)
+ set(QHULL_LIBRARY_DEBUG ${QHULL_LIBRARY})
diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake
new file mode 100644
index 000000000..2c4aad052
--- /dev/null
+++ b/ports/pcl/portfile.cmake
@@ -0,0 +1,71 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pcl-pcl-1.8.0)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.0.zip"
+ FILENAME "pcl-1.8.0.zip"
+ SHA512 932f7e2101707003712e53d9310c6ba8304b8d325997a71a45d052c329cd9465f1d390c6c53a11bcb01d65e808c7701452ea06f116a0bd779d8098fdf3246ca8
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/config.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/config_install.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/find_flann.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/find_qhull.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/find_openni2.patch"
+ # Fix for PCL 1.8.0
+ "${CMAKE_CURRENT_LIST_DIR}/1635.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/1788.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/1823.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/1830.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/1855.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/1856.patch"
+)
+
+if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
+ set(CRT_LINKAGE ON)
+elseif(VCPKG_CRT_LINKAGE STREQUAL "static")
+ set(CRT_LINKAGE OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ #PREFER_NINJA
+ OPTIONS
+ # BUILD
+ -DBUILD_2d=OFF # The pcl-2d import library is not generated.
+ -DBUILD_surface_on_nurbs=ON
+ -DBUILD_tools=OFF
+ # PCL
+ -DPCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32=${CRT_LINKAGE}
+ -DPCL_SHARED_LIBS=${CRT_LINKAGE}
+ # WITH
+ -DWITH_CUDA=OFF
+ -DWITH_LIBUSB=OFF
+ -DWITH_OPENNI2=ON
+ -DWITH_PCAP=OFF
+ -DWITH_PNG=OFF
+ -DWITH_QHULL=ON
+ -DWITH_QT=OFF
+ -DWITH_VTK=ON
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/pcl)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/pcl/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/pcl/copyright)