aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/simsimd
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/simsimd')
-rw-r--r--vcpkg/ports/simsimd/export-target.patch29
-rw-r--r--vcpkg/ports/simsimd/portfile.cmake30
-rw-r--r--vcpkg/ports/simsimd/vcpkg.json18
3 files changed, 77 insertions, 0 deletions
diff --git a/vcpkg/ports/simsimd/export-target.patch b/vcpkg/ports/simsimd/export-target.patch
new file mode 100644
index 0000000..9ed097b
--- /dev/null
+++ b/vcpkg/ports/simsimd/export-target.patch
@@ -0,0 +1,29 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b30d554..d8ab4fc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -115,6 +115,23 @@ endif ()
+ if (SIMSIMD_BUILD_SHARED)
+ set(SIMSIMD_SOURCES ${SIMSIMD_SOURCES} c/lib.c)
+ add_library(simsimd_shared SHARED ${SIMSIMD_SOURCES})
+- target_include_directories(simsimd_shared PUBLIC "${PROJECT_SOURCE_DIR}/include")
++ target_include_directories(simsimd_shared PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
+ set_target_properties(simsimd_shared PROPERTIES OUTPUT_NAME simsimd)
++
++ install(TARGETS simsimd_shared EXPORT unofficial-simsimd-config
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ RUNTIME DESTINATION bin)
++
++ install(EXPORT unofficial-simsimd-config
++ FILE unofficial-simsimd-config.cmake
++ NAMESPACE unofficial::simsimd::
++ DESTINATION share/unofficial-simsimd
++ )
+ endif ()
++
++install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/
++ DESTINATION include
++ FILES_MATCHING
++ PATTERN *.h
++)
diff --git a/vcpkg/ports/simsimd/portfile.cmake b/vcpkg/ports/simsimd/portfile.cmake
new file mode 100644
index 0000000..3edf678
--- /dev/null
+++ b/vcpkg/ports/simsimd/portfile.cmake
@@ -0,0 +1,30 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ashvardanian/SimSIMD
+ REF "v${VERSION}"
+ SHA512 0edc66409d6616066205b6f976220a86f180f3e1d32c2a25e9173ae49314ed72362949bcc91b288e791b65569654573e7b3b9a5f1c79609ab58ada12abe8a458
+ HEAD_REF main
+ PATCHES
+ export-target.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DSIMSIMD_BUILD_TESTS=OFF
+ -DSIMSIMD_BUILD_BENCHMARKS=OFF
+ "-DSIMSIMD_BUILD_SHARED=${BUILD_SHARED}"
+)
+
+vcpkg_cmake_install()
+
+if(BUILD_SHARED)
+ vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-simsimd)
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+else()
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
+endif()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/simsimd/vcpkg.json b/vcpkg/ports/simsimd/vcpkg.json
new file mode 100644
index 0000000..a20a0eb
--- /dev/null
+++ b/vcpkg/ports/simsimd/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "simsimd",
+ "version": "6.0.0",
+ "description": "Fastest similarity-measures and distance functions on the Wild West – vectors, strings, short molecules, and even DNA sequences. All with a pinch of SIMD for both x86 and ARM.",
+ "homepage": "https://github.com/ashvardanian/SimSIMD",
+ "license": "Apache-2.0",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}