From 3314d47114bcf3219f5be9e31f8263eea19abc5d Mon Sep 17 00:00:00 2001 From: "xj.lin" Date: Sat, 27 Jul 2019 14:28:27 +0800 Subject: [PATCH] MS-288 update build stage Former-commit-id: d9e0bfbbbb5060b65311b2f6eb8eadf531b918c2 --- cpp/CHANGELOG.md | 1 + cpp/CMakeLists.txt | 8 ++++++++ cpp/build.sh | 7 +++++++ cpp/cmake/DefineOptions.cmake | 2 +- cpp/src/CMakeLists.txt | 4 ++-- cpp/thirdparty/knowhere | 2 +- 6 files changed, 20 insertions(+), 4 deletions(-) diff --git a/cpp/CHANGELOG.md b/cpp/CHANGELOG.md index e6d89ac3..2e3c4a85 100644 --- a/cpp/CHANGELOG.md +++ b/cpp/CHANGELOG.md @@ -21,6 +21,7 @@ Please mark all change in change log and use the ticket from JIRA. - MS-235 - Some test cases random fail - MS-236 - Add MySQLMetaImpl::HasNonIndexFiles - MS-257 - Update bzip2 download url +- MS-288 - Update compile scripts ## Improvement - MS-156 - Add unittest for merge result functions diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 07b47197..5082774b 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -109,6 +109,14 @@ include(ThirdPartyPackages) include_directories(${MILVUS_SOURCE_DIR}) link_directories(${MILVUS_BINARY_DIR}) +if (NOT DEFINED KNOWHERE_BUILD_DIR) + message(FATAL_ERROR "You must set environment variable KNOWHERE_BUILD_DIR") +endif() +message(STATUS "Build with ${KNOWHERE_BUILD_DIR}") +include_directories(${KNOWHERE_BUILD_DIR}/include) +include_directories(${KNOWHERE_BUILD_DIR}/include/SPTAG/AnnService) +link_directories(${KNOWHERE_BUILD_DIR}/lib) + ## Following should be check set(MILVUS_ENGINE_INCLUDE ${PROJECT_SOURCE_DIR}/include) diff --git a/cpp/build.sh b/cpp/build.sh index edfe9305..584f98cb 100755 --- a/cpp/build.sh +++ b/cpp/build.sh @@ -75,6 +75,12 @@ if [[ ! -d cmake_build ]]; then MAKE_CLEAN="ON" fi +# Build Knowhere +KNOWHERE_BUILD_DIR="`pwd`/thirdparty/knowhere_build" +pushd `pwd`/thirdparty/knowhere +./build.sh -t Release -p ${KNOWHERE_BUILD_DIR} +popd + cd cmake_build CUDA_COMPILER=/usr/local/cuda/bin/nvcc @@ -89,6 +95,7 @@ if [[ ${MAKE_CLEAN} == "ON" ]]; then -DMILVUS_DB_PATH=${DB_PATH} \ -DMILVUS_ENABLE_PROFILING=${PROFILING} \ -DBUILD_FAISS_WITH_MKL=${BUILD_FAISS_WITH_MKL} \ + -DKNOWHERE_BUILD_DIR=${KNOWHERE_BUILD_DIR} \ $@ ../" echo ${CMAKE_CMD} diff --git a/cpp/cmake/DefineOptions.cmake b/cpp/cmake/DefineOptions.cmake index cd0aac5d..af89dccb 100644 --- a/cpp/cmake/DefineOptions.cmake +++ b/cpp/cmake/DefineOptions.cmake @@ -96,7 +96,7 @@ define_option(MILVUS_WITH_YAMLCPP "Build with yaml-cpp library" ON) define_option(MILVUS_WITH_ZLIB "Build with zlib compression" ON) -define_option(MILVUS_WITH_KNOWHERE "Build with Knowhere" ON) +define_option(MILVUS_WITH_KNOWHERE "Build with Knowhere" OFF) if(CMAKE_VERSION VERSION_LESS 3.7) set(MILVUS_WITH_ZSTD_DEFAULT OFF) diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt index f1e4435b..29bb1de3 100644 --- a/cpp/src/CMakeLists.txt +++ b/cpp/src/CMakeLists.txt @@ -225,8 +225,8 @@ endif () install(TARGETS milvus_server DESTINATION bin) install(FILES - ${CMAKE_BINARY_DIR}/knowhere_ep-prefix/src/knowhere_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}tbb${CMAKE_SHARED_LIBRARY_SUFFIX} - ${CMAKE_BINARY_DIR}/knowhere_ep-prefix/src/knowhere_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}tbb${CMAKE_SHARED_LIBRARY_SUFFIX}.2 + ${KNOWHERE_BUILD_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}tbb${CMAKE_SHARED_LIBRARY_SUFFIX} + ${KNOWHERE_BUILD_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}tbb${CMAKE_SHARED_LIBRARY_SUFFIX}.2 ${CMAKE_BINARY_DIR}/mysqlpp_ep-prefix/src/mysqlpp_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}mysqlpp${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_BINARY_DIR}/mysqlpp_ep-prefix/src/mysqlpp_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}mysqlpp${CMAKE_SHARED_LIBRARY_SUFFIX}.3 ${CMAKE_BINARY_DIR}/mysqlpp_ep-prefix/src/mysqlpp_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}mysqlpp${CMAKE_SHARED_LIBRARY_SUFFIX}.3.2.4 diff --git a/cpp/thirdparty/knowhere b/cpp/thirdparty/knowhere index 81b28a75..02550a43 160000 --- a/cpp/thirdparty/knowhere +++ b/cpp/thirdparty/knowhere @@ -1 +1 @@ -Subproject commit 81b28a753fc47b46364afa7b9414e249c4b2cd75 +Subproject commit 02550a43b5146bd7976b8b2b3fc37ca885d1e880 -- GitLab