mirror of https://github.com/milvus-io/milvus.git
MS-26 cmake. Add thirdparty packages
Former-commit-id: a68611c035820a429ae5ef1ae104a9826838dccapull/191/head
parent
f119cc39db
commit
31a00449a4
|
@ -12,6 +12,8 @@ Please mark all change in change log and use the ticket from JIRA.
|
|||
|
||||
- MS-5 - Implement Auto Archive Feature
|
||||
- MS-16 - Implement metrics without prometheus
|
||||
- MS-26 - cmake. Add thirdparty packages
|
||||
|
||||
### Task
|
||||
|
||||
- MS-1 - Add CHANGELOG.md
|
||||
|
|
|
@ -57,22 +57,22 @@ else()
|
|||
endif()
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fPIC -DELPP_THREAD_SAFE")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fPIC -DELPP_THREAD_SAFE -fopenmp")
|
||||
if (GPU_VERSION STREQUAL "ON")
|
||||
set(ENABLE_LICENSE "ON")
|
||||
add_definitions("-DENABLE_LICENSE")
|
||||
endif ()
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g -fPIC -DELPP_THREAD_SAFE")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g -fPIC -DELPP_THREAD_SAFE -fopenmp")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
#if (BUILD_UNIT_TEST)
|
||||
# option(MEGASEARCH_BUILD_TESTS "Build the megasearch test suite" ON)
|
||||
#endif(BUILD_UNIT_TEST)
|
||||
if (BUILD_UNIT_TEST)
|
||||
option(MEGASEARCH_BUILD_TESTS "Build the megasearch test suite" ON)
|
||||
endif(BUILD_UNIT_TEST)
|
||||
|
||||
include(ExternalProject)
|
||||
include(DefineOptions)
|
||||
|
|
|
@ -72,7 +72,7 @@ if [[ ${MAKE_CLEAN} = "ON" ]]; then
|
|||
make clean
|
||||
fi
|
||||
|
||||
make -j || exit 1
|
||||
make -j 1 || exit 1
|
||||
|
||||
if [[ ${BUILD_TYPE} != "Debug" ]]; then
|
||||
strip src/vecwise_server
|
||||
|
|
|
@ -114,11 +114,9 @@ endif()
|
|||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
set_option_category("Test and benchmark")
|
||||
|
||||
if (BUILD_UNIT_TEST)
|
||||
define_option(MEGASEARCH_BUILD_TESTS "Build the MEGASEARCH googletest unit tests" ON)
|
||||
endif(BUILD_UNIT_TEST)
|
||||
#set_option_category("Test and benchmark")
|
||||
#
|
||||
#define_option(MEGASEARCH_BUILD_TESTS "Build the MEGASEARCH googletest unit tests" ON)
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
macro(config_summary)
|
||||
|
|
|
@ -544,6 +544,7 @@ if(MEGASEARCH_WITH_EASYLOGGINGPP)
|
|||
resolve_dependency(Easylogging++)
|
||||
|
||||
get_target_property(EASYLOGGINGPP_INCLUDE_DIR easyloggingpp INTERFACE_INCLUDE_DIRECTORIES)
|
||||
link_directories(SYSTEM "${EASYLOGGINGPP_PREFIX}/lib")
|
||||
include_directories(SYSTEM "${EASYLOGGINGPP_INCLUDE_DIR}")
|
||||
endif()
|
||||
|
||||
|
@ -652,7 +653,7 @@ macro(build_faiss)
|
|||
"--prefix=${FAISS_PREFIX}"
|
||||
"CFLAGS=${EP_C_FLAGS}"
|
||||
"CXXFLAGS=${EP_CXX_FLAGS}"
|
||||
"LDFLAGS=-L${OPENBLAS_PREFIX}/lib"
|
||||
"LDFLAGS=-L${OPENBLAS_PREFIX}/lib -L${LAPACK_PREFIX}/lib -lopenblas -llapack"
|
||||
--without-python)
|
||||
|
||||
# if(OPENBLAS_STATIC_LIB)
|
||||
|
@ -716,6 +717,7 @@ if(MEGASEARCH_WITH_FAISS)
|
|||
resolve_dependency(LAPACK)
|
||||
get_target_property(LAPACK_INCLUDE_DIR lapack INTERFACE_INCLUDE_DIRECTORIES)
|
||||
include_directories(SYSTEM "${LAPACK_INCLUDE_DIR}")
|
||||
link_directories(SYSTEM "${LAPACK_PREFIX}/lib")
|
||||
|
||||
resolve_dependency(FAISS)
|
||||
get_target_property(FAISS_INCLUDE_DIR faiss INTERFACE_INCLUDE_DIRECTORIES)
|
||||
|
@ -750,7 +752,14 @@ macro(build_gtest)
|
|||
${EP_COMMON_CMAKE_ARGS}
|
||||
"-DCMAKE_INSTALL_PREFIX=${GTEST_PREFIX}"
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
-DCMAKE_CXX_FLAGS=${GTEST_CMAKE_CXX_FLAGS})
|
||||
-DCMAKE_CXX_FLAGS=${GTEST_CMAKE_CXX_FLAGS}
|
||||
-DCMAKE_BUILD_TYPE=Release)
|
||||
|
||||
set(GMOCK_INCLUDE_DIR "${GTEST_PREFIX}/include")
|
||||
set(GMOCK_STATIC_LIB
|
||||
"${GTEST_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}"
|
||||
)
|
||||
|
||||
|
||||
ExternalProject_Add(googletest_ep
|
||||
URL
|
||||
|
@ -758,6 +767,7 @@ macro(build_gtest)
|
|||
BUILD_BYPRODUCTS
|
||||
${GTEST_STATIC_LIB}
|
||||
${GTEST_MAIN_STATIC_LIB}
|
||||
${GMOCK_STATIC_LIB}
|
||||
CMAKE_ARGS
|
||||
${GTEST_CMAKE_ARGS}
|
||||
${EP_LOG_OPTIONS})
|
||||
|
@ -775,11 +785,18 @@ macro(build_gtest)
|
|||
PROPERTIES IMPORTED_LOCATION "${GTEST_MAIN_STATIC_LIB}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}")
|
||||
|
||||
add_library(gmock STATIC IMPORTED)
|
||||
set_target_properties(gmock
|
||||
PROPERTIES IMPORTED_LOCATION "${GMOCK_STATIC_LIB}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}")
|
||||
|
||||
add_dependencies(gtest googletest_ep)
|
||||
add_dependencies(gtest_main googletest_ep)
|
||||
add_dependencies(gmock googletest_ep)
|
||||
|
||||
endmacro()
|
||||
|
||||
message(STATUS "MEGASEARCH_BUILD_TESTS: ${MEGASEARCH_BUILD_TESTS}")
|
||||
if (MEGASEARCH_BUILD_TESTS)
|
||||
#message(STATUS "Resolving gtest dependency")
|
||||
resolve_dependency(GTest)
|
||||
|
@ -789,6 +806,7 @@ if (MEGASEARCH_BUILD_TESTS)
|
|||
|
||||
# TODO: Don't use global includes but rather target_include_directories
|
||||
get_target_property(GTEST_INCLUDE_DIR gtest INTERFACE_INCLUDE_DIRECTORIES)
|
||||
link_directories(SYSTEM "${GTEST_PREFIX}/lib")
|
||||
include_directories(SYSTEM ${GTEST_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
|
@ -1124,7 +1142,7 @@ if(MEGASEARCH_WITH_SQLITE_ORM)
|
|||
# ExternalProject_Get_Property(sqlite_orm_ep source_dir)
|
||||
# set(SQLITE_ORM_INCLUDE_DIR ${source_dir}/sqlite_orm_ep)
|
||||
include_directories(SYSTEM "${SQLITE_ORM_INCLUDE_DIR}")
|
||||
message(STATUS "SQLITE_ORM_INCLUDE_DIR: ${SQLITE_ORM_INCLUDE_DIR}")
|
||||
#message(STATUS "SQLITE_ORM_INCLUDE_DIR: ${SQLITE_ORM_INCLUDE_DIR}")
|
||||
endif()
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
|
|
|
@ -78,6 +78,8 @@ set(third_party_libs
|
|||
easyloggingpp
|
||||
faiss
|
||||
gtest
|
||||
gtest_main
|
||||
gmock
|
||||
lapack
|
||||
lz4
|
||||
openblas
|
||||
|
@ -179,7 +181,7 @@ add_executable(vecwise_server
|
|||
${utils_files}
|
||||
${service_files}
|
||||
${metrics_files}
|
||||
# ${VECWISE_THIRD_PARTY_BUILD}/include/easylogging++.cc
|
||||
#${EASYLOGGINGPP_INCLUDE_DIR}/easylogging++.cc
|
||||
)
|
||||
|
||||
if (ENABLE_LICENSE STREQUAL "ON")
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#include "utils/Error.h"
|
||||
#include "config/ConfigNode.h"
|
||||
|
||||
#include <yaml-cpp/yaml.h>
|
||||
#include "yaml-cpp/yaml.h"
|
||||
|
||||
namespace zilliz {
|
||||
namespace vecwise {
|
||||
|
|
|
@ -27,7 +27,7 @@ BOOST_VERSION=1.70.0
|
|||
BZIP2_VERSION=1.0.6
|
||||
EASYLOGGINGPP_VERSION=v9.96.7
|
||||
FAISS_VERSION=master
|
||||
GTEST_VERSION=1.8.0
|
||||
GTEST_VERSION=1.8.1
|
||||
LAPACK_VERSION=v3.8.0
|
||||
LZ4_VERSION=v1.9.1
|
||||
OPENBLAS_VERSION=v0.3.6
|
||||
|
|
|
@ -5,18 +5,26 @@
|
|||
#-------------------------------------------------------------------------------
|
||||
link_directories(
|
||||
"${CMAKE_BINARY_DIR}/lib"
|
||||
"${VECWISE_THIRD_PARTY_BUILD}/lib"
|
||||
#"${VECWISE_THIRD_PARTY_BUILD}/lib"
|
||||
"${GTEST_PREFIX}/lib/"
|
||||
)
|
||||
message(STATUS "GTEST LIB: ${GTEST_PREFIX}/lib")
|
||||
|
||||
set(unittest_srcs
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vecwise_test.cpp ${VECWISE_THIRD_PARTY_BUILD}/include/easylogging++.cc)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vecwise_test.cpp)
|
||||
#${EASYLOGGINGPP_INCLUDE_DIR}/easylogging++.cc)
|
||||
|
||||
set(unittest_libs
|
||||
yaml-cpp
|
||||
gtest
|
||||
gmock
|
||||
gtest_main
|
||||
gmock_main
|
||||
easyloggingpp
|
||||
pthread
|
||||
metrics)
|
||||
metrics
|
||||
openblas
|
||||
gfortran)
|
||||
|
||||
add_subdirectory(server)
|
||||
add_subdirectory(db)
|
||||
|
|
|
@ -42,4 +42,4 @@ set(db_libs
|
|||
lz4
|
||||
)
|
||||
|
||||
target_link_libraries(db_test ${unittest_libs} ${db_libs})
|
||||
target_link_libraries(db_test ${db_libs} ${unittest_libs})
|
||||
|
|
|
@ -45,7 +45,7 @@ set(wrapper_libs
|
|||
zstd
|
||||
lz4
|
||||
)
|
||||
target_link_libraries(wrapper_test ${unittest_libs} ${wrapper_libs})
|
||||
target_link_libraries(wrapper_test ${wrapper_libs} ${unittest_libs})
|
||||
|
||||
set(topk_test_src
|
||||
topk_test.cpp
|
||||
|
|
|
@ -16,6 +16,7 @@ link_directories(/usr/local/cuda/lib64)
|
|||
link_directories(/usr/lib/x86_64-linux-gnu)
|
||||
link_directories(/usr/lib/nvidia-415)
|
||||
link_directories(/usr/local/cuda/targets/x86_64-linux/lib/stubs/)
|
||||
link_directories(/usr/local/cuda/lib64/stubs/)
|
||||
|
||||
set(require_files
|
||||
../../src/license/LicenseLibrary.cpp
|
||||
|
@ -44,4 +45,4 @@ set(db_libs
|
|||
boost_serialization
|
||||
)
|
||||
|
||||
target_link_libraries(license_test ${unittest_libs} ${db_libs})
|
||||
target_link_libraries(license_test ${db_libs} ${unittest_libs})
|
||||
|
|
|
@ -57,7 +57,7 @@ set(count_test_src
|
|||
add_executable(metrics_test ${count_test_src} ${require_files} )
|
||||
|
||||
target_link_libraries(metrics_test
|
||||
${unittest_libs}
|
||||
|
||||
faiss
|
||||
cudart
|
||||
cublas
|
||||
|
@ -72,5 +72,5 @@ target_link_libraries(metrics_test
|
|||
# prometheus-cpp-core
|
||||
pthread
|
||||
z
|
||||
|
||||
${unittest_libs}
|
||||
)
|
|
@ -51,7 +51,7 @@ set(require_libs
|
|||
)
|
||||
|
||||
target_link_libraries(server_test
|
||||
${unittest_libs}
|
||||
${require_libs}
|
||||
${cuda_library}
|
||||
${unittest_libs}
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue