diff options
Diffstat (limited to 'vcpkg/ports/simsimd')
| -rw-r--r-- | vcpkg/ports/simsimd/export-target.patch | 29 | ||||
| -rw-r--r-- | vcpkg/ports/simsimd/portfile.cmake | 30 | ||||
| -rw-r--r-- | vcpkg/ports/simsimd/vcpkg.json | 18 |
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 + } + ] +} |