Skip to content

Commit 052f596

Browse files
authored
link cardinal by cmake (#469)
Signed-off-by: xianliang.li <[email protected]>
1 parent fde76ec commit 052f596

File tree

5 files changed

+34
-5
lines changed

5 files changed

+34
-5
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ venv/
6060
**/knowhere/swigknowhere.py
6161
wheelhouse/*
6262

63+
**/thirdparty/cardinal
64+
6365
*.bin
6466

6567
CMakeUserPresets.json

.gitmodules

-3
This file was deleted.

CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,10 @@ knowhere_file_glob(GLOB_RECURSE KNOWHERE_SRCS src/common/*.cc src/index/*.cc
113113

114114
set(KNOWHERE_LINKER_LIBS "")
115115

116+
116117
if(WITH_CARDINAL)
117118
add_definitions(-DKNOWHERE_WITH_CARDINAL)
118-
include(thirdparty/cardinal/know/libcardinal.cmake)
119+
include(cmake/libs/libcardinal.cmake)
119120
endif()
120121

121122
if(WITH_DISKANN)

cmake/libs/libcardinal.cmake

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
set(CARDINAL_VERSION master)
2+
set(CARDINAL_REPO_URL "https://github.com/zilliztech/cardinal.git")
3+
4+
set(CARDINAL_REPO_DIR "${CMAKE_SOURCE_DIR}/thirdparty/cardinal")
5+
6+
message(STATUS "Build Cardinal-${CARDINAL_VERSION}")
7+
8+
if (NOT EXISTS "${CARDINAL_REPO_DIR}/.git")
9+
execute_process(COMMAND git clone ${CARDINAL_REPO_URL} ${CARDINAL_REPO_DIR}
10+
RESULT_VARIABLE CARDINAL_CLONE_RESULT
11+
OUTPUT_VARIABLE CARDINAL_CLONE_OUTPUT
12+
ERROR_VARIABLE CARDINAL_CLONE_ERROR
13+
OUTPUT_STRIP_TRAILING_WHITESPACE
14+
ERROR_STRIP_TRAILING_WHITESPACE)
15+
if (NOT CARDINAL_CLONE_RESULT EQUAL "0")
16+
message(FATAL_ERROR "Failed to clone cardinal: ${CARDINAL_CLONE_ERROR}")
17+
else()
18+
execute_process(COMMAND git -C ${CARDINAL_REPO_DIR} checkout ${CARDINAL_VERSION}
19+
RESULT_VARIABLE CARDINAL_CHECKOUT_RESULT
20+
OUTPUT_VARIABLE CARDINAL_CHECKOUT_OUTPUT
21+
ERROR_VARIABLE CARDINAL_CHECKOUT_ERROR
22+
OUTPUT_STRIP_TRAILING_WHITESPACE
23+
ERROR_STRIP_TRAILING_WHITESPACE)
24+
if (NOT CARDINAL_CHECKOUT_RESULT EQUAL "0")
25+
message(FATAL_ERROR "Failed to checkout cardinal: ${CARDINAL_CHECKOUT_ERROR}")
26+
endif()
27+
endif()
28+
endif()
29+
30+
include(${CARDINAL_REPO_DIR}/know/libcardinal.cmake)

thirdparty/cardinal

-1
This file was deleted.

0 commit comments

Comments
 (0)