mirror of https://github.com/microsoft/vcpkg.git
47 lines
2.1 KiB
Diff
47 lines
2.1 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 711bbe3..a8b9efd 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -128,7 +128,16 @@ endif ()
|
|
target_compile_definitions(${USEARCH_TARGET_NAME} INTERFACE "USEARCH_USE_OPENMP=$<BOOL:${USEARCH_USE_OPENMP}>")
|
|
|
|
# Supplementary compilation settings affecting "index_plugins.hpp"
|
|
-target_compile_definitions(${USEARCH_TARGET_NAME} INTERFACE "USEARCH_USE_NUMKONG=$<BOOL:${USEARCH_USE_NUMKONG}>")
|
|
+set(USEARCH_USE_NUMKONG_SHARED OFF)
|
|
+if (USEARCH_USE_NUMKONG)
|
|
+ find_package(unofficial-numkong CONFIG QUIET)
|
|
+ if (TARGET unofficial::numkong::nk_shared)
|
|
+ set(USEARCH_USE_NUMKONG_SHARED ON)
|
|
+ target_link_libraries(${USEARCH_TARGET_NAME} INTERFACE unofficial::numkong::nk_shared)
|
|
+ target_compile_definitions(${USEARCH_TARGET_NAME} INTERFACE "NK_DYNAMIC_DISPATCH=1")
|
|
+ endif ()
|
|
+endif ()
|
|
+target_compile_definitions(${USEARCH_TARGET_NAME} INTERFACE "USEARCH_USE_NUMKONG=$<BOOL:${USEARCH_USE_NUMKONG_SHARED}>")
|
|
|
|
# Define which types can be compiled
|
|
target_compile_definitions(
|
|
@@ -148,7 +157,7 @@ target_include_directories(
|
|
${USEARCH_TARGET_NAME} ${USEARCH_SYSTEM_INCLUDE} INTERFACE $<BUILD_INTERFACE:${USEARCH_INCLUDE_BUILD_DIR}>
|
|
$<INSTALL_INTERFACE:include>
|
|
)
|
|
-if (USEARCH_USE_NUMKONG)
|
|
+if (USEARCH_USE_NUMKONG_SHARED)
|
|
find_path(NUMKONG_INCLUDE_DIRS "numkong/attention.h")
|
|
target_include_directories(
|
|
${USEARCH_TARGET_NAME} ${USEARCH_SYSTEM_INCLUDE}
|
|
diff --git a/cmake/config.cmake.in b/cmake/config.cmake.in
|
|
index 7bba80c..8198810 100644
|
|
--- a/cmake/config.cmake.in
|
|
+++ b/cmake/config.cmake.in
|
|
@@ -3,6 +3,10 @@ set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG ${CMAKE_CURRENT_LIST_FILE})
|
|
find_package_handle_standard_args(@PROJECT_NAME@ CONFIG_MODE)
|
|
|
|
if(NOT TARGET @PROJECT_NAME@::@USEARCH_TARGET_NAME@)
|
|
+ if(@USEARCH_USE_NUMKONG_SHARED@)
|
|
+ include(CMakeFindDependencyMacro)
|
|
+ find_dependency(unofficial-numkong CONFIG)
|
|
+ endif()
|
|
include("${CMAKE_CURRENT_LIST_DIR}/@USEARCH_TARGETS_EXPORT_NAME@.cmake")
|
|
if((NOT TARGET @USEARCH_TARGET_NAME@) AND
|
|
(NOT @PROJECT_NAME@_FIND_VERSION OR
|