128 lines
4.9 KiB
CMake
128 lines
4.9 KiB
CMake
|
vcpkg_from_github(
|
||
|
OUT_SOURCE_PATH SOURCE_PATH
|
||
|
REPO PointCloudLibrary/pcl
|
||
|
REF f36a69a5e89953708990c4669317f989d532cf08 # pcl-1.12.0
|
||
|
SHA512 dbbd0adbb08949ddef2789e0021b6ca9727be33c7193d0bb135c61def09a42ed6a71333f06b6fad407010ecb4b73c19f087f7520386b92a008e90c254eafe422
|
||
|
HEAD_REF master
|
||
|
PATCHES
|
||
|
add-gcc-version-check.patch
|
||
|
fix-check-sse.patch
|
||
|
fix-find-qhull.patch
|
||
|
fix-numeric-literals-flag.patch
|
||
|
pcl_config.patch
|
||
|
pcl_utils.patch
|
||
|
remove-broken-targets.patch
|
||
|
fix-cmake_find_library_suffixes.patch
|
||
|
fix-pkgconfig.patch # Remove this patch in the next update
|
||
|
fix-namespace-cub.patch # Remove this patch in the next update
|
||
|
fix-error-C3052.patch # Remove this patch in the next update
|
||
|
fix-find-libusb.patch
|
||
|
install-examples.patch
|
||
|
no-absolute.patch
|
||
|
Workaround-ICE-in-release.patch
|
||
|
)
|
||
|
|
||
|
file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindQhull.cmake"
|
||
|
"${SOURCE_PATH}/cmake/Modules/Findlibusb.cmake"
|
||
|
)
|
||
|
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PCL_SHARED_LIBS)
|
||
|
|
||
|
if ("cuda" IN_LIST FEATURES AND VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
|
||
|
message(FATAL_ERROR "Feature cuda only supports 64-bit compilation.")
|
||
|
endif()
|
||
|
|
||
|
if ("tools" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||
|
message(FATAL_ERROR "Feature tools only supports dynamic build")
|
||
|
endif()
|
||
|
|
||
|
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||
|
FEATURES
|
||
|
openni2 WITH_OPENNI2
|
||
|
qt WITH_QT
|
||
|
pcap WITH_PCAP
|
||
|
cuda WITH_CUDA
|
||
|
cuda BUILD_CUDA
|
||
|
cuda BUILD_GPU
|
||
|
tools BUILD_tools
|
||
|
opengl WITH_OPENGL
|
||
|
libusb WITH_LIBUSB
|
||
|
visualization WITH_VTK
|
||
|
visualization BUILD_visualization
|
||
|
examples BUILD_examples
|
||
|
apps BUILD_apps
|
||
|
# These 2 apps need openni1
|
||
|
#apps BUILD_apps_in_hand_scanner
|
||
|
#apps BUILD_apps_3d_rec_framework
|
||
|
simulation BUILD_simulation
|
||
|
)
|
||
|
|
||
|
vcpkg_cmake_configure(
|
||
|
SOURCE_PATH "${SOURCE_PATH}"
|
||
|
OPTIONS
|
||
|
# BUILD
|
||
|
-DBUILD_surface_on_nurbs=ON
|
||
|
# PCL
|
||
|
-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}
|
||
|
# WITH
|
||
|
-DWITH_PNG=ON
|
||
|
-DWITH_QHULL=ON
|
||
|
-DWITH_OPENNI=OFF
|
||
|
-DWITH_ENSENSO=OFF
|
||
|
-DWITH_DAVIDSDK=OFF
|
||
|
-DWITH_DSSDK=OFF
|
||
|
-DWITH_RSSDK=OFF
|
||
|
-DWITH_RSSDK2=OFF
|
||
|
-DWITH_OPENMP=OFF
|
||
|
# FEATURES
|
||
|
${FEATURE_OPTIONS}
|
||
|
MAYBE_UNUSED_VARIABLES
|
||
|
PCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32
|
||
|
)
|
||
|
|
||
|
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 EXEFILES_RELEASE "${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
|
||
|
file(GLOB EXEFILES_DEBUG "${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
|
||
|
file(COPY ${EXEFILES_RELEASE} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/pcl")
|
||
|
file(REMOVE ${EXEFILES_RELEASE} ${EXEFILES_DEBUG})
|
||
|
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/pcl")
|
||
|
endif()
|
||
|
|
||
|
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||
|
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|