CMakeLists.txt 3.9 KB
Newer Older
Z
zhiru 已提交
1 2
include_directories(${CORE_SOURCE_DIR}/thirdparty)
include_directories(${CORE_SOURCE_DIR}/thirdparty/SPTAG/AnnService)
3
include_directories(${CORE_SOURCE_DIR}/knowhere)
X
xj.lin 已提交
4 5
include_directories(/usr/local/cuda/include)
link_directories(/usr/local/cuda/lib64)
Z
zhiru 已提交
6
link_directories(${CORE_SOURCE_DIR}/thirdparty/tbb)
X
xj.lin 已提交
7

Z
zhiru 已提交
8 9
message(STATUS "arrow prefix: ${ARROW_PREFIX}")
message(STATUS "libjemalloc_pic path: ${ARROW_PREFIX}/lib/libjemalloc_pic.a")
X
xiaojun.lin 已提交
10

X
xj.lin 已提交
11
set(depend_libs
X
xiaojun.lin 已提交
12
        gtest gmock gtest_main gmock_main
X
xj.lin 已提交
13
        faiss openblas lapack
Z
zhiru 已提交
14
        arrow "${ARROW_PREFIX}/lib/libjemalloc_pic.a"
X
xj.lin 已提交
15 16 17 18 19 20 21 22
        tbb
        )

set(basic_libs
        cudart cublas
        gomp gfortran pthread
        )

H
Heisenberg 已提交
23 24
set(util_srcs
        ${MILVUS_ENGINE_SRC}/utils/easylogging++.cc
X
xiaojun.lin 已提交
25 26 27 28 29 30 31 32
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/helpers/FaissGpuResourceMgr.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/helpers/FaissIO.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/helpers/IndexParameter.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/adapter/Structure.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/adapter/ArrowAdapter.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/common/Exception.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/common/Timer.cpp
        utils.cpp
H
Heisenberg 已提交
33
        )
X
xj.lin 已提交
34 35 36

#<IVF-TEST>
set(ivf_srcs
X
xiaojun.lin 已提交
37 38 39 40 41 42 43
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/helpers/Cloner.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexIVF.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexGPUIVF.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexIVFSQ.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexGPUIVFSQ.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexIVFPQ.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexGPUIVFPQ.cpp
X
xiaojun.lin 已提交
44
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexIVFSQHybrid.cpp
X
xiaojun.lin 已提交
45 46
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexIDMAP.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/FaissBaseIndex.cpp
X
xj.lin 已提交
47
        )
Z
zhiru 已提交
48
if(NOT TARGET test_ivf)
H
Heisenberg 已提交
49
    add_executable(test_ivf test_ivf.cpp ${ivf_srcs} ${util_srcs})
Z
zhiru 已提交
50
endif()
X
xj.lin 已提交
51 52
target_link_libraries(test_ivf ${depend_libs} ${unittest_libs} ${basic_libs})

X
xiaojun.lin 已提交
53

X
xj.lin 已提交
54 55
#<IDMAP-TEST>
set(idmap_srcs
X
xiaojun.lin 已提交
56 57 58 59 60 61 62 63 64
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/helpers/Cloner.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/FaissBaseIndex.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexIDMAP.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexGPUIVF.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexIVF.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexIVFPQ.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexGPUIVFPQ.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexIVFSQ.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexGPUIVFSQ.cpp
X
xj.lin 已提交
65
        )
Z
zhiru 已提交
66
if(NOT TARGET test_idmap)
H
Heisenberg 已提交
67
    add_executable(test_idmap test_idmap.cpp ${idmap_srcs} ${util_srcs})
Z
zhiru 已提交
68
endif()
X
xj.lin 已提交
69 70 71 72
target_link_libraries(test_idmap ${depend_libs} ${unittest_libs} ${basic_libs})

#<KDT-TEST>
set(kdt_srcs
X
xiaojun.lin 已提交
73 74 75 76
        ${CORE_SOURCE_DIR}/knowhere/knowhere/adapter/SptagAdapter.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/preprocessor/Normalize.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/helpers/KDTParameterMgr.cpp
        ${CORE_SOURCE_DIR}/knowhere/knowhere/index/vector_index/IndexKDT.cpp
X
xj.lin 已提交
77
        )
Z
zhiru 已提交
78
if(NOT TARGET test_kdt)
H
Heisenberg 已提交
79
    add_executable(test_kdt test_kdt.cpp ${kdt_srcs} ${util_srcs})
Z
zhiru 已提交
80
endif()
X
xj.lin 已提交
81 82 83 84
target_link_libraries(test_kdt
        SPTAGLibStatic
        ${depend_libs} ${unittest_libs} ${basic_libs})

Z
zhiru 已提交
85 86 87 88
install(TARGETS test_ivf DESTINATION unittest)
install(TARGETS test_idmap DESTINATION unittest)
install(TARGETS test_kdt DESTINATION unittest)

X
xj.lin 已提交
89
#add_subdirectory(faiss_ori)
Y
Yu Kun 已提交
90
#add_subdirectory(test_nsg)
X
xj.lin 已提交
91