aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
Diffstat (limited to 'ports')
-rw-r--r--ports/popsift/CONTROL11
-rw-r--r--ports/popsift/portfile.cmake41
2 files changed, 52 insertions, 0 deletions
diff --git a/ports/popsift/CONTROL b/ports/popsift/CONTROL
new file mode 100644
index 000000000..038e8fb7e
--- /dev/null
+++ b/ports/popsift/CONTROL
@@ -0,0 +1,11 @@
+Source: popsift
+Version: 0.9
+Port-Version: 0
+Description: PopSift is an implementation of the SIFT algorithm in CUDA.
+Build-Depends: cuda
+Homepage: https://github.com/alicevision/popsift
+Supports: !(uwp|arm|arm64|android|x86)
+
+Feature: apps
+Description: Application programs for popsift (detection and matching)
+Build-Depends: boost-algorithm, boost-program-options, boost-filesystem, boost-system \ No newline at end of file
diff --git a/ports/popsift/portfile.cmake b/ports/popsift/portfile.cmake
new file mode 100644
index 000000000..f611efa0f
--- /dev/null
+++ b/ports/popsift/portfile.cmake
@@ -0,0 +1,41 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO alicevision/popsift
+ REF v0.9
+ SHA512 56789520872203eea86e07e8210e00c0b67d85486af16df9d620b1aff10f8d9ef5d910cf1dda6c68af7ca2ed11658ab5414ac79117b543f91a7d8d6a96a17ce0
+ HEAD_REF develop
+)
+
+include(${CURRENT_INSTALLED_DIR}/share/vcpkg_find_cuda/vcpkg_find_cuda.cmake)
+vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT CUDA_TOOLKIT_ROOT)
+
+message(STATUS "CUDA_TOOLKIT_ROOT ${CUDA_TOOLKIT_ROOT}")
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ apps PopSift_BUILD_EXAMPLES
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS ${FEATURE_OPTIONS} -DCUDA_TOOLKIT_ROOT_DIR=${CUDA_TOOLKIT_ROOT}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/PopSift)
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+ # move the bin direcory to tools
+ if ("apps" IN_LIST FEATURES)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools)
+ file(RENAME "${CURRENT_PACKAGES_DIR}/bin" ${CURRENT_PACKAGES_DIR}/tools/popsift)
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
+# file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin" ${CURRENT_PACKAGES_DIR}/tools/popsift/debug)
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/popsift)
+ endif()
+
+file(INSTALL ${SOURCE_PATH}/COPYING.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/popsift RENAME copyright) \ No newline at end of file