diff --git a/vcpkg b/vcpkg index cacf599..bbf8eaa 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit cacf5994341f27e9a14a7b8724b0634b138ecb30 +Subproject commit bbf8eaaf0c87b7b8521e0852e4a575873accec69 diff --git a/vcpkg-additions/ports/pcl/add-gcc-version-check.patch b/vcpkg-additions/ports/pcl/add-gcc-version-check.patch new file mode 100644 index 0000000..fb5a5fc --- /dev/null +++ b/vcpkg-additions/ports/pcl/add-gcc-version-check.patch @@ -0,0 +1,27 @@ +From 116e665df611242ea0575a62478c31ec03e78fcc Mon Sep 17 00:00:00 2001 +From: raahilsha-z +Date: Wed, 7 Jul 2021 15:53:49 -0400 +Subject: [PATCH] add gcc version check + +--- + CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +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 + endif() + endif() + ++if(UNIX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0) ++ set (CMAKE_CXX_STANDARD 17) ++endif() ++ + # libusb + option(WITH_LIBUSB "Build USB RGBD-Camera drivers" TRUE) + if(WITH_LIBUSB) +-- +2.32.0.windows.1 + diff --git a/vcpkg-additions/ports/pcl/fix-check-sse.patch b/vcpkg-additions/ports/pcl/fix-check-sse.patch new file mode 100644 index 0000000..a8bc786 --- /dev/null +++ b/vcpkg-additions/ports/pcl/fix-check-sse.patch @@ -0,0 +1,25 @@ +From c65e034afb538932f4ff55a93332f875ae43a578 Mon Sep 17 00:00:00 2001 +From: raahilsha-z +Date: Wed, 7 Jul 2021 15:54:33 -0400 +Subject: [PATCH] fix check sse + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 29f79d31b..a1d9bb58f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -86,7 +86,7 @@ endif() + + # check for SSE flags + include("${PCL_SOURCE_DIR}/cmake/pcl_find_sse.cmake") +-if(PCL_ENABLE_SSE AND "${CMAKE_CXX_FLAGS}" STREQUAL "${CMAKE_CXX_FLAGS_DEFAULT}") ++if(PCL_ENABLE_SSE) + PCL_CHECK_FOR_SSE() + endif() + +-- +2.32.0.windows.1 + diff --git a/vcpkg-additions/ports/pcl/fix-clang-cl.patch b/vcpkg-additions/ports/pcl/fix-clang-cl.patch new file mode 100644 index 0000000..245c917 --- /dev/null +++ b/vcpkg-additions/ports/pcl/fix-clang-cl.patch @@ -0,0 +1,26 @@ +diff --git a/common/include/pcl/impl/instantiate.hpp b/common/include/pcl/impl/instantiate.hpp +index ea73a0c..4cfc92b 100644 +--- a/common/include/pcl/impl/instantiate.hpp ++++ b/common/include/pcl/impl/instantiate.hpp +@@ -95,7 +95,7 @@ + // + // ((x)(y)(z))((1)(2)(3))((dracula)(radu)) + // +-#ifdef _MSC_VER ++#if defined(_MSC_VER) && ! defined(__clang__) + #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/CMakeLists.txt b/CMakeLists.txt +index fad95c9..b4ca305 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,7 +51,7 @@ set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING + # Compiler identification + # Define a variable CMAKE_COMPILER_IS_X where X is the compiler short name. + # Note: CMake automatically defines one for GNUCXX, nothing to do in this case. +-if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") ++if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT MSVC) + set(CMAKE_COMPILER_IS_CLANG 1) + elseif(__COMPILER_PATHSCALE) + set(CMAKE_COMPILER_IS_PATHSCALE 1) diff --git a/vcpkg-additions/ports/pcl/fix-numeric-literals-flag.patch b/vcpkg-additions/ports/pcl/fix-numeric-literals-flag.patch new file mode 100644 index 0000000..69a1223 --- /dev/null +++ b/vcpkg-additions/ports/pcl/fix-numeric-literals-flag.patch @@ -0,0 +1,26 @@ +From 3ea8aa5ded2782cfb10577348fc9f56144c72d7b Mon Sep 17 00:00:00 2001 +From: raahilsha-z +Date: Wed, 7 Jul 2021 15:57:46 -0400 +Subject: [PATCH] fix numeric literals flag + +--- + CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7cf86f74b..e07fd430a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -420,6 +420,9 @@ endif() + + # Boost (required) + include("${PCL_SOURCE_DIR}/cmake/pcl_find_boost.cmake") ++if (NOT APPLE AND NOT WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") ++ add_definitions(-fext-numeric-literals) ++endif() + + # System zlib (for nurbs on surface) + option(WITH_SYSTEM_ZLIB "Use system zlib" TRUE) +-- +2.32.0.windows.1 + diff --git a/vcpkg-additions/ports/pcl/gh-5985-inline.patch b/vcpkg-additions/ports/pcl/gh-5985-inline.patch new file mode 100644 index 0000000..44d9a7e --- /dev/null +++ b/vcpkg-additions/ports/pcl/gh-5985-inline.patch @@ -0,0 +1,15 @@ +diff --git a/segmentation/include/pcl/segmentation/impl/grabcut_segmentation.hpp b/segmentation/include/pcl/segmentation/impl/grabcut_segmentation.hpp +index 2ef5fc27b16..5143080b6de 100644 +--- a/segmentation/include/pcl/segmentation/impl/grabcut_segmentation.hpp ++++ b/segmentation/include/pcl/segmentation/impl/grabcut_segmentation.hpp +@@ -48,8 +48,8 @@ namespace pcl + { + + template <> +-float squaredEuclideanDistance (const pcl::segmentation::grabcut::Color &c1, +- const pcl::segmentation::grabcut::Color &c2) ++inline float squaredEuclideanDistance (const pcl::segmentation::grabcut::Color &c1, ++ const pcl::segmentation::grabcut::Color &c2) + { + return ((c1.r-c2.r)*(c1.r-c2.r)+(c1.g-c2.g)*(c1.g-c2.g)+(c1.b-c2.b)*(c1.b-c2.b)); + } diff --git a/vcpkg-additions/ports/pcl/install-examples.patch b/vcpkg-additions/ports/pcl/install-examples.patch new file mode 100644 index 0000000..136a4ce --- /dev/null +++ b/vcpkg-additions/ports/pcl/install-examples.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/pcl_targets.cmake b/cmake/pcl_targets.cmake +index 91f2404..18f5a24 100644 +--- a/cmake/pcl_targets.cmake ++++ b/cmake/pcl_targets.cmake +@@ -473,6 +473,8 @@ macro(PCL_ADD_EXAMPLE _name) + # add target to list of example targets created at the parent scope + list(APPEND PCL_EXAMPLES_ALL_TARGETS ${_name}) + set(PCL_EXAMPLES_ALL_TARGETS "${PCL_EXAMPLES_ALL_TARGETS}" PARENT_SCOPE) ++ ++ install(TARGETS ${_name} RUNTIME DESTINATION ${BIN_INSTALL_DIR}) + endmacro() + + ############################################################################### diff --git a/vcpkg-additions/ports/pcl/install-layout.patch b/vcpkg-additions/ports/pcl/install-layout.patch new file mode 100644 index 0000000..a6c58c5 --- /dev/null +++ b/vcpkg-additions/ports/pcl/install-layout.patch @@ -0,0 +1,70 @@ +diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in +index cf21c44..1463514 100644 +--- a/PCLConfig.cmake.in ++++ b/PCLConfig.cmake.in +@@ -403,7 +403,7 @@ endif() + find_package(PkgConfig QUIET) + + file(TO_CMAKE_PATH "${PCL_DIR}" PCL_DIR) +-if(WIN32 AND NOT MINGW) ++if(0) + # PCLConfig.cmake is installed to PCL_ROOT/cmake + get_filename_component(PCL_ROOT "${PCL_DIR}" PATH) + if(EXISTS "${PCL_ROOT}/3rdParty") +@@ -425,6 +425,10 @@ elseif(EXISTS "${PCL_ROOT}/include/pcl/pcl_config.h") + # pcl_message("Found a PCL installation") + set(PCL_CONF_INCLUDE_DIR "${PCL_ROOT}/include") + set(PCL_LIBRARY_DIRS "${PCL_ROOT}/lib") ++ list(APPEND PCL_LIBRARY_DIRS "${PCL_ROOT}/debug/lib") ++ if(NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES "^[Dd][Ee][Bb][Uu][Gg]$") ++ list(REVERSE PCL_LIBRARY_DIRS) ++ endif() + elseif(EXISTS "${PCL_DIR}/include/pcl/pcl_config.h") + # Found PCLConfig.cmake in a build tree of PCL + # pcl_message("PCL found into a build tree.") +diff --git a/cmake/Modules/FindFLANN.cmake b/cmake/Modules/FindFLANN.cmake +index f42bca3..faca969 100644 +--- a/cmake/Modules/FindFLANN.cmake ++++ b/cmake/Modules/FindFLANN.cmake +@@ -85,7 +85,7 @@ if(flann_FOUND) + + # Determine FLANN installation root based on the path to the processed Config file + get_filename_component(_config_dir "${flann_CONFIG}" DIRECTORY) +- get_filename_component(FLANN_ROOT "${_config_dir}/../../.." ABSOLUTE) ++ get_filename_component(FLANN_ROOT "${_config_dir}/../.." ABSOLUTE) + unset(_config_dir) + message(STATUS "Found flann version ${flann_VERSION}") + return() +diff --git a/cmake/pcl_utils.cmake b/cmake/pcl_utils.cmake +index d87d02d..9c0ede1 100644 +--- a/cmake/pcl_utils.cmake ++++ b/cmake/pcl_utils.cmake +@@ -100,6 +100,7 @@ macro(SET_INSTALL_DIRS) + else() + set(INCLUDE_INSTALL_ROOT "include") # Android, don't put into subdir + endif() ++ set(INCLUDE_INSTALL_ROOT "include") + set(INCLUDE_INSTALL_DIR "${INCLUDE_INSTALL_ROOT}/pcl") + set(DOC_INSTALL_DIR "share/doc/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") + set(BIN_INSTALL_DIR "bin") +@@ -109,6 +110,7 @@ macro(SET_INSTALL_DIRS) + else() + set(PCLCONFIG_INSTALL_DIR "share/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") + endif() ++ set(PCLCONFIG_INSTALL_DIR "share/pcl") + endmacro() + + +diff --git a/cmake/pkgconfig.cmake.in b/cmake/pkgconfig.cmake.in +index c351e44..b10577a 100644 +--- a/cmake/pkgconfig.cmake.in ++++ b/cmake/pkgconfig.cmake.in +@@ -3,7 +3,7 @@ prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} + libdir=${prefix}/@LIB_INSTALL_DIR@ + #includedir=${prefix}/@INCLUDE_INSTALL_DIR@ +-includedir=${prefix}/include/@PROJECT_NAME_LOWER@-@PCL_VERSION_MAJOR@.@PCL_VERSION_MINOR@ ++includedir=${prefix}/@INCLUDE_INSTALL_DIR@ + Name: @PKG_NAME@ + Description: @PKG_DESC@ + Version: @PCL_VERSION@ diff --git a/vcpkg-additions/ports/pcl/io_ply.patch b/vcpkg-additions/ports/pcl/io_ply.patch new file mode 100644 index 0000000..35c2b8d --- /dev/null +++ b/vcpkg-additions/ports/pcl/io_ply.patch @@ -0,0 +1,60 @@ +diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in +index cf21c44..4076775 100644 +--- a/PCLConfig.cmake.in ++++ b/PCLConfig.cmake.in +@@ -460,6 +460,11 @@ list(LENGTH pcl_all_components PCL_NB_COMPONENTS) + + @PCLCONFIG_OPTIONAL_DEPENDENCIES@ + ++# io_ply subcomponent ++list(APPEND pcl_io_int_dep io_ply) ++set(pcl_io_ply_int_dep common) ++set(pcl_io_ply_ext_dep boost) ++ + # VTK components required by PCL + set(PCL_VTK_COMPONENTS "@PCL_VTK_COMPONENTS@") + +@@ -517,18 +522,21 @@ foreach(component ${PCL_TO_FIND_COMPONENTS}) + + string(REGEX REPLACE "^cuda_(.*)$" "\\1" cuda_component "${component}") + string(REGEX REPLACE "^gpu_(.*)$" "\\1" gpu_component "${component}") ++ string(REGEX REPLACE "^io_(.*)$" "\\1" io_component "${component}") + + find_path(PCL_${COMPONENT}_INCLUDE_DIR + NAMES pcl/${component} + pcl/apps/${component} + pcl/cuda/${cuda_component} pcl/cuda/${component} + pcl/gpu/${gpu_component} pcl/gpu/${component} ++ pcl/io/${io_component} + HINTS ${PCL_INCLUDE_DIRS} + PATH_SUFFIXES + ${component}/include + apps/${component}/include + cuda/${cuda_component}/include + gpu/${gpu_component}/include ++ io/${io_component}/include + DOC "path to ${component} headers" + NO_DEFAULT_PATH) + mark_as_advanced(PCL_${COMPONENT}_INCLUDE_DIR) +diff --git a/io/CMakeLists.txt b/io/CMakeLists.txt +index 7fc86b2..7a39033 100644 +--- a/io/CMakeLists.txt ++++ b/io/CMakeLists.txt +@@ -213,6 +213,8 @@ PCL_ADD_INCLUDES("${SUBSYS_NAME}" "${SUBSYS_NAME}/ply" ${PLY_INCLUDES}) + PCL_ADD_INCLUDES("${SUBSYS_NAME}" "${SUBSYS_NAME}/ply" ${PLY_INCLUDES}) + target_link_libraries(pcl_io_ply pcl_common Boost::boost) + ++PCL_MAKE_PKGCONFIG(pcl_io_ply COMPONENT ${SUBSYS_NAME} DESC "${SUBSYS_DESC}, PLY" PCL_DEPS common) ++ + set(srcs + src/debayer.cpp + src/pcd_grabber.cpp +@@ -432,7 +434,7 @@ if(WITH_ENSENSO) + list(APPEND EXT_DEPS ensenso) + endif() + +-PCL_MAKE_PKGCONFIG(${LIB_NAME} COMPONENT ${SUBSYS_NAME} DESC ${SUBSYS_DESC} PCL_DEPS ${SUBSYS_DEPS} EXT_DEPS ${EXT_DEPS}) ++PCL_MAKE_PKGCONFIG(${LIB_NAME} COMPONENT ${SUBSYS_NAME} DESC ${SUBSYS_DESC} PCL_DEPS ${SUBSYS_DEPS} EXT_DEPS ${EXT_DEPS} pcl_io_ply) + + # Install include files + PCL_ADD_INCLUDES("${SUBSYS_NAME}" "${SUBSYS_NAME}" ${incs}) diff --git a/vcpkg-additions/ports/pcl/portfile.cmake b/vcpkg-additions/ports/pcl/portfile.cmake new file mode 100644 index 0000000..0b322e0 --- /dev/null +++ b/vcpkg-additions/ports/pcl/portfile.cmake @@ -0,0 +1,139 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO PointCloudLibrary/pcl + REF "pcl-${VERSION}" + SHA512 8e2d2839fe73a955d49b9a72861de2becf2da9a0dc906bd10ab8a3518e270a2f1900d801922d02871d704f2ed380273d35c2d0e04d8da7e24a21eb351c43c00b + HEAD_REF master + PATCHES + add-gcc-version-check.patch + fix-check-sse.patch + fix-numeric-literals-flag.patch + install-layout.patch + install-examples.patch + fix-clang-cl.patch + gh-5985-inline.patch + io_ply.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PCL_SHARED_LIBS) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + apps BUILD_apps + cuda WITH_CUDA + cuda BUILD_CUDA + cuda BUILD_GPU + examples BUILD_examples + libusb WITH_LIBUSB + opengl WITH_OPENGL + openni2 WITH_OPENNI2 + pcap WITH_PCAP + qt WITH_QT + simulation BUILD_simulation + surface-on-nurbs BUILD_surface_on_nurbs + tools BUILD_tools + visualization WITH_VTK + visualization BUILD_visualization + # These 2 apps need openni1 + #apps BUILD_apps_in_hand_scanner + #apps BUILD_apps_3d_rec_framework +) + +set(EXTRA_ANDROID_OPTIONS "") +if(VCPKG_TARGET_IS_ANDROID) + set(EXTRA_ANDROID_OPTIONS + -DHAVE_MM_MALLOC_EXITCODE=OFF + -DHAVE_POSIX_MEMALIGN_EXITCODE=OFF + ) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + # PCL + -DPCL_ALLOW_BOTH_SHARED_AND_STATIC_DEPENDENCIES=ON + -DPCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} + -DPCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} + -DPCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} + -DPCL_SHARED_LIBS=${PCL_SHARED_LIBS} + -DPCL_ENABLE_MARCHNATIVE=OFF + # WITH + -DWITH_DAVIDSDK=OFF + -DWITH_DOCS=OFF + -DWITH_DSSDK=OFF + -DWITH_ENSENSO=OFF + -DWITH_OPENNI=OFF + -DWITH_PNG=ON + -DWITH_QHULL=ON + -DWITH_RSSDK=OFF + -DWITH_RSSDK2=OFF + # FEATURES + ${FEATURE_OPTIONS} + ${EXTRA_ANDROID_OPTIONS} + OPTIONS_DEBUG + -DBUILD_apps=OFF + -DBUILD_examples=OFF + -DBUILD_tools=OFF + MAYBE_UNUSED_VARIABLES + PCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32 + PCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32 +) + +if(NOT EXISTS "${CURRENT_INSTALLED_DIR}/lib/pkgconfig/vtk.pc") + file(REMOVE "${CURRENT_PACKAGE_DIR}/lib/pkgconfig/pcl_gpu_kinfu_large_scale.pc" "${CURRENT_PACKAGE_DIR}/debug/lib/pkgconfig/pcl_gpu_kinfu_large_scale.pc") +endif() + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_copy_pdbs() + +if (WITH_OPENNI2) + if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(GLOB PCL_PKGCONFIG_DBGS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc") + foreach (PCL_PKGCONFIG IN LISTS PCL_PKGCONFIG_DBGS) + file(READ "${PCL_PKGCONFIG}" PCL_PC_DBG) + if (PCL_PC_DBG MATCHES "libopenni2") + string(REPLACE "libopenni2" "" PCL_PC_DBG "${PCL_PC_DBG}") + string(REPLACE "Libs: " "Libs: -lKinect10 -lOpenNI2 " PCL_PC_DBG "${PCL_PC_DBG}") + file(WRITE "${PCL_PKGCONFIG}" "${PCL_PC_DBG}") + endif() + endforeach() + endif() + if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(GLOB PCL_PKGCONFIG_RELS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/*.pc") + foreach (PCL_PKGCONFIG IN LISTS PCL_PKGCONFIG_RELS) + file(READ "${PCL_PKGCONFIG}" PCL_PC_REL) + if (PCL_PC_REL MATCHES "libopenni2") + string(REPLACE "libopenni2" "" PCL_PC_REL "${PCL_PC_REL}") + string(REPLACE "Libs: " "Libs: -lKinect10 -lOpenNI2 " PCL_PC_REL "${PCL_PC_REL}") + file(WRITE "${PCL_PKGCONFIG}" "${PCL_PC_REL}") + endif() + endforeach() + endif() +endif() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +if(BUILD_tools OR BUILD_apps OR BUILD_examples) + file(GLOB tool_names + LIST_DIRECTORIES false + RELATIVE "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + ) + if(VCPKG_TARGET_EXECUTABLE_SUFFIX) + string(REPLACE "." "[.]" suffix "${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + list(TRANSFORM tool_names REPLACE "${suffix}\$" "") + endif() + vcpkg_copy_tools(TOOL_NAMES ${tool_names} AUTO_CLEAN) +endif() + +# pcl_apps.dll is only build for release but not used at all since BUILD_apps_3d_rec_framework is OFF. +# Because it is not copied to the tool folder and there is no debug variant, we get an post build check error. +# Since the lib is not needed. Delete it: +file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/pcl_apps.dll" "${CURRENT_PACKAGES_DIR}/bin/pcl_apps.pdb" + "${CURRENT_PACKAGES_DIR}/lib/pcl_apps.lib" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/pcl_apps.pc") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/vcpkg-additions/ports/pcl/usage b/vcpkg-additions/ports/pcl/usage new file mode 100644 index 0000000..60aecd4 --- /dev/null +++ b/vcpkg-additions/ports/pcl/usage @@ -0,0 +1,4 @@ +The package pcl provides CMake targets: + + find_package(PCL CONFIG REQUIRED) + target_link_libraries(main PRIVATE ${PCL_LIBRARIES}) diff --git a/vcpkg-additions/ports/pcl/vcpkg.json b/vcpkg-additions/ports/pcl/vcpkg.json new file mode 100644 index 0000000..69e9fac --- /dev/null +++ b/vcpkg-additions/ports/pcl/vcpkg.json @@ -0,0 +1,176 @@ +{ + "name": "pcl", + "version": "1.14.1", + "port-version": 2, + "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", + "dependencies": [ + "boost-asio", + "boost-date-time", + "boost-dynamic-bitset", + "boost-filesystem", + "boost-foreach", + "boost-graph", + "boost-interprocess", + "boost-iostreams", + "boost-multi-array", + "boost-property-map", + "boost-ptr-container", + "boost-random", + "boost-signals2", + "boost-sort", + "boost-system", + "boost-thread", + "boost-uuid", + "eigen3", + "flann", + "libpng", + "qhull", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "apps": { + "description": "Build application examples/samples that show how PCL works", + "dependencies": [ + { + "name": "pcl", + "default-features": false, + "features": [ + "opengl", + "openni2", + "qt", + "vtk" + ] + } + ] + }, + "cuda": { + "description": "CUDA support for PCL", + "supports": "x64", + "dependencies": [ + "cuda" + ] + }, + "examples": { + "description": "Build PCL examples", + "dependencies": [ + "boost-format", + { + "name": "pcl", + "features": [ + "visualization" + ] + } + ] + }, + "libusb": { + "description": "Build USB RGBD-Camera drivers", + "dependencies": [ + "libusb" + ] + }, + "opengl": { + "description": "OpenGL support for PCL", + "dependencies": [ + "opengl" + ] + }, + "openni2": { + "description": "OpenNI2 support for PCL", + "dependencies": [ + "openni2", + { + "name": "pcl", + "default-features": false, + "features": [ + "libusb" + ], + "platform": "!windows" + } + ] + }, + "pcap": { + "description": "PCAP support for PCL", + "dependencies": [ + { + "name": "libpcap", + "platform": "!windows" + }, + { + "name": "winpcap", + "platform": "windows" + } + ] + }, + "qt": { + "description": "Qt support for PCL", + "dependencies": [ + { + "name": "vtk", + "default-features": false, + "features": [ + "qt" + ] + } + ] + }, + "simulation": { + "description": "Build Point Cloud Library Simulation", + "dependencies": [ + "glew", + { + "name": "pcl", + "default-features": false, + "features": [ + "opengl" + ] + } + ] + }, + "surface-on-nurbs": { + "description": "Fitting NURBS to point clouds", + "dependencies": [ + "zlib" + ] + }, + "tools": { + "description": "Build PCL utilities", + "supports": "!static", + "dependencies": [ + "boost-accumulators" + ] + }, + "visualization": { + "description": "Build visualization", + "dependencies": [ + { + "name": "vtk", + "default-features": false, + "features": [ + "opengl" + ] + } + ] + }, + "vtk": { + "description": "An alias for visualization", + "dependencies": [ + { + "name": "pcl", + "default-features": false, + "features": [ + "visualization" + ] + } + ] + } + } +} diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index 8cb41cd..29055d5 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -12,6 +12,6 @@ } ], "overlay-ports" : [ - "./vcpkg/ports/pcl" + "./vcpkg-additions/ports/pcl" ] }