diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/usearch | |
Diffstat (limited to 'vcpkg/ports/usearch')
| -rw-r--r-- | vcpkg/ports/usearch/portfile.cmake | 34 | ||||
| -rw-r--r-- | vcpkg/ports/usearch/use-vcpkg-ports.patch | 33 | ||||
| -rw-r--r-- | vcpkg/ports/usearch/vcpkg.json | 37 |
3 files changed, 104 insertions, 0 deletions
diff --git a/vcpkg/ports/usearch/portfile.cmake b/vcpkg/ports/usearch/portfile.cmake new file mode 100644 index 0000000..de45d7b --- /dev/null +++ b/vcpkg/ports/usearch/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO unum-cloud/usearch + REF "v${VERSION}" + SHA512 daea0cbdae65a5b1c09f7a85e1bbb4475d21c73fb427a287929c78b86528a2b01e787a7d4adb8a498f2251ade59996207f0f26cf062d34796032734f864340ae + HEAD_REF main + PATCHES + use-vcpkg-ports.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + fp16 USEARCH_USE_FP16LIB + jemalloc USEARCH_USE_JEMALLOC + simsimd USEARCH_USE_SIMSIMD +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DUSEARCH_INSTALL=ON + -DUSEARCH_BUILD_TEST_CPP=OFF + -DUSEARCH_BUILD_BENCH_CPP=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/usearch) + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/usearch/use-vcpkg-ports.patch b/vcpkg/ports/usearch/use-vcpkg-ports.patch new file mode 100644 index 0000000..b805ebc --- /dev/null +++ b/vcpkg/ports/usearch/use-vcpkg-ports.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1f6b036..abfca67 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -149,18 +149,6 @@ target_include_directories( + ${USEARCH_TARGET_NAME} ${USEARCH_SYSTEM_INCLUDE} INTERFACE $<BUILD_INTERFACE:${USEARCH_INCLUDE_BUILD_DIR}> + $<INSTALL_INTERFACE:include> + ) +-if (USEARCH_USE_FP16LIB) +- target_include_directories( +- ${USEARCH_TARGET_NAME} ${USEARCH_SYSTEM_INCLUDE} INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/fp16/include> +- $<INSTALL_INTERFACE:fp16/include> +- ) +-endif () +-if (USEARCH_USE_SIMSIMD) +- target_include_directories( +- ${USEARCH_TARGET_NAME} ${USEARCH_SYSTEM_INCLUDE} +- INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/simsimd/include> $<INSTALL_INTERFACE:simsimd/include> +- ) +-endif () + + # Install a pkg-config file, so other tools can find this + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/pkg-config.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc") +@@ -220,8 +208,7 @@ if (NOT CMAKE_BUILD_TYPE) + endif () + + # Include directories +-set(USEARCH_HEADER_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/fp16/include" +- "${CMAKE_CURRENT_SOURCE_DIR}/simsimd/include" ++set(USEARCH_HEADER_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/include" + ) + + # Function to setup target diff --git a/vcpkg/ports/usearch/vcpkg.json b/vcpkg/ports/usearch/vcpkg.json new file mode 100644 index 0000000..6aca4b3 --- /dev/null +++ b/vcpkg/ports/usearch/vcpkg.json @@ -0,0 +1,37 @@ +{ + "name": "usearch", + "version": "2.21.0", + "description": "Fastest Search & Clustering engine × for Vectors & Strings", + "homepage": "https://github.com/unum-cloud/usearch", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "fp16": { + "description": "Use software emulation for half-precision types", + "dependencies": [ + "fp16" + ] + }, + "jemalloc": { + "description": "Use JeMalloc for faster memory allocations", + "dependencies": [ + "jemalloc" + ] + }, + "simsimd": { + "description": "Use SimSIMD hardware-accelerated metrics", + "dependencies": [ + "simsimd" + ] + } + } +} |