Skip to content

Commit

Permalink
Add PCL port
Browse files Browse the repository at this point in the history
Add Point Cloud Library (PCL)
  • Loading branch information
UnaNancyOwen committed Jun 21, 2017
1 parent c5ac989 commit 302f67f
Show file tree
Hide file tree
Showing 13 changed files with 384 additions and 0 deletions.
36 changes: 36 additions & 0 deletions ports/pcl/1635.patch
Original file line number Diff line number Diff line change
@@ -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);
24 changes: 24 additions & 0 deletions ports/pcl/1788.patch
Original file line number Diff line number Diff line change
@@ -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")
22 changes: 22 additions & 0 deletions ports/pcl/1823.patch
Original file line number Diff line number Diff line change
@@ -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()

68 changes: 68 additions & 0 deletions ports/pcl/1830.patch
Original file line number Diff line number Diff line change
@@ -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}")
24 changes: 24 additions & 0 deletions ports/pcl/1855.patch
Original file line number Diff line number Diff line change
@@ -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")
23 changes: 23 additions & 0 deletions ports/pcl/1856.patch
Original file line number Diff line number Diff line change
@@ -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")
4 changes: 4 additions & 0 deletions ports/pcl/CONTROL
Original file line number Diff line number Diff line change
@@ -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.
39 changes: 39 additions & 0 deletions ports/pcl/config.patch
Original file line number Diff line number Diff line change
@@ -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")
13 changes: 13 additions & 0 deletions ports/pcl/config_install.patch
Original file line number Diff line number Diff line change
@@ -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)
35 changes: 35 additions & 0 deletions ports/pcl/find_flann.patch
Original file line number Diff line number Diff line change
@@ -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)
12 changes: 12 additions & 0 deletions ports/pcl/find_openni2.patch
Original file line number Diff line number Diff line change
@@ -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

This comment has been minimized.

Copy link
@SergioRAgostinho

SergioRAgostinho Nov 14, 2017

Have you considered submitting this patch upstream?

This comment has been minimized.

Copy link
@UnaNancyOwen

UnaNancyOwen Nov 14, 2017

Author Contributor

In case of vcpkg, OpenNI2 headers is installed in installed/<triplet>/include/openni2.
It is not necessary if you don't use vcpkg. (In generally, It is installed in <OPENNI2_ROOT>/Include.)

This comment has been minimized.

Copy link
@UnaNancyOwen

UnaNancyOwen Nov 15, 2017

Author Contributor

I sent a fix to upstream PCL PR#2085.

)

find_library(OPENNI2_LIBRARY
13 changes: 13 additions & 0 deletions ports/pcl/find_qhull.patch
Original file line number Diff line number Diff line change
@@ -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)

This comment has been minimized.

Copy link
@SergioRAgostinho

SergioRAgostinho Nov 14, 2017

Same comment for this one.

This comment has been minimized.

Copy link
@UnaNancyOwen

UnaNancyOwen Nov 14, 2017

Author Contributor

In case of vcpkg, It should be find debug libraries from installed/<triplet>/debug/lib.
It is not necessary if you don't use vcpkg. (In generally, It is installed in <QHULL_ROOT>/lib.)

This comment has been minimized.

Copy link
@SergioRAgostinho

SergioRAgostinho via email Nov 14, 2017

This comment has been minimized.

Copy link
@SergioRAgostinho

SergioRAgostinho Nov 14, 2017

I forgot to mention that this last case is exactly what we are gonna deal with, in appveyor to add the windows ci to pcl.

This comment has been minimized.

Copy link
@UnaNancyOwen

UnaNancyOwen Nov 14, 2017

Author Contributor

I would like to fix upstream if it does not give side bad effects to PCL.

This comment has been minimized.

Copy link
@SergioRAgostinho

SergioRAgostinho Nov 14, 2017

I think in this and the OpenNi2 cases it should make no difference. Simply don't overwrite lib i.e.

diff --git a/cmake/Modules/FindQhull.cmake b/cmake/Modules/FindQhull.cmake
--- 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 lib debug/lib)

This comment has been minimized.

Copy link
@UnaNancyOwen

UnaNancyOwen Nov 14, 2017

Author Contributor

I think that is fix for find debug libraries without DEBUG_POSTFIX (_d). It was not attached before.
Currently, QHull port generates debug libraries with DEBUG_POSTFIX (_d).
Therefore, It doesn't need to be override. Thanks,
I send pull-request #2197.


if(NOT QHULL_LIBRARY_DEBUG)
set(QHULL_LIBRARY_DEBUG ${QHULL_LIBRARY})
71 changes: 71 additions & 0 deletions ports/pcl/portfile.cmake
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit 302f67f

Please sign in to comment.