mirror of https://github.com/milvus-io/milvus.git
MS-4 Refactor the code structure
Former-commit-id: ab2c7af5968b367ca27bac2d991b0dae5ad2dc75pull/191/head
parent
cb585e74f0
commit
8d3ad6aeae
|
@ -1,12 +1,26 @@
|
|||
# CLion generated files
|
||||
cpp/cmake-build-debug/
|
||||
cpp/cmake-build-release/
|
||||
cpp/cmake_build
|
||||
cpp/.idea/
|
||||
|
||||
.idea/
|
||||
.ycm_extra_conf.py
|
||||
__pycache__
|
||||
|
||||
# vscode generated files
|
||||
.vscode
|
||||
|
||||
.env
|
||||
build
|
||||
cmake-build-debug
|
||||
cmake-build-release
|
||||
cmake_build
|
||||
|
||||
# Compiled source
|
||||
*.a
|
||||
*.so
|
||||
*.so.*
|
||||
*.o
|
||||
*.lo
|
||||
*.tar.gz
|
||||
|
|
|
@ -4,10 +4,32 @@
|
|||
# Proprietary and confidential.
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
message(STATUS "Building using CMake version: ${CMAKE_VERSION}")
|
||||
|
||||
set(MEGASEARCH_VERSION "0.1.0")
|
||||
|
||||
string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" MEGASEARCH_BASE_VERSION "${MEGASEARCH_VERSION}")
|
||||
|
||||
project(megasearch VERSION "${MEGASEARCH_BASE_VERSION}")
|
||||
project(vecwise_engine LANGUAGES CUDA CXX)
|
||||
|
||||
set(MEGASEARCH_VERSION_MAJOR "${megasearch_VERSION_MAJOR}")
|
||||
set(MEGASEARCH_VERSION_MINOR "${megasearch_VERSION_MINOR}")
|
||||
set(MEGASEARCH_VERSION_PATCH "${megasearch_VERSION_PATCH}")
|
||||
|
||||
if(MEGASEARCH_VERSION_MAJOR STREQUAL ""
|
||||
OR MEGASEARCH_VERSION_MINOR STREQUAL ""
|
||||
OR MEGASEARCH_VERSION_PATCH STREQUAL "")
|
||||
message(FATAL_ERROR "Failed to determine MegaSearch version from '${MEGASEARCH_VERSION}'")
|
||||
endif()
|
||||
|
||||
message(STATUS "MegaSearch version: "
|
||||
"${MEGASEARCH_VERSION_MAJOR}.${MEGASEARCH_VERSION_MINOR}.${MEGASEARCH_VERSION_PATCH} "
|
||||
"(full: '${MEGASEARCH_VERSION}')")
|
||||
|
||||
set(MEGASEARCH_SOURCE_DIR ${PROJECT_SOURCE_DIR})
|
||||
set(MEGASEARCH_BINARY_DIR ${PROJECT_BINARY_DIR})
|
||||
find_package(CUDA)
|
||||
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -Xcompiler -fPIC -std=c++11 -D_FORCE_INLINES -arch sm_60 --expt-extended-lambda")
|
||||
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -O0 -g")
|
||||
|
@ -32,16 +54,6 @@ else()
|
|||
set(VECWISE_BUILD_ARCH unknown)
|
||||
endif()
|
||||
|
||||
if(DEFINED UNIX)
|
||||
message("building vecwise on Unix")
|
||||
set(VECWISE_BUILD_SYSTEM macos)
|
||||
elseif(DEFINED APPLE)
|
||||
message("building vecwise on MacOS")
|
||||
set(VECWISE_BUILD_SYSTEM unix)
|
||||
else()
|
||||
message("unknown OS")
|
||||
set(VECWISE_BUILD_SYSTEM unknown)
|
||||
endif ()
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fPIC -DELPP_THREAD_SAFE")
|
||||
|
@ -54,7 +66,19 @@ if (GPU_VERSION STREQUAL "ON")
|
|||
add_definitions("-DENABLE_LICENSE")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH})
|
||||
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)
|
||||
|
||||
include(ExternalProject)
|
||||
include(ThirdPartyPackages)
|
||||
|
||||
include_directories(${MEGASEARCH_SOURCE_DIR})
|
||||
link_directories(${MEGASEARCH_BINARY_DIR})
|
||||
|
||||
## Following should be check
|
||||
|
||||
set(VECWISE_ENGINE_INCLUDE ${PROJECT_SOURCE_DIR}/include)
|
||||
set(VECWISE_ENGINE_SRC ${PROJECT_SOURCE_DIR}/src)
|
||||
|
@ -73,6 +97,7 @@ link_directories(${VECWISE_THIRD_PARTY_BUILD}/lib64)
|
|||
#execute_process(COMMAND bash build.sh
|
||||
# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/third_party)
|
||||
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(test_client)
|
||||
|
||||
|
|
41
cpp/build.sh
41
cpp/build.sh
|
@ -4,8 +4,9 @@ BUILD_TYPE="Debug"
|
|||
BUILD_UNITTEST="off"
|
||||
BUILD_GPU="OFF"
|
||||
INSTALL_PREFIX=$(pwd)/megasearch
|
||||
MAKE_CLEAN="OFF"
|
||||
|
||||
while getopts "p:t:uhg" arg
|
||||
while getopts "p:t:uhgr" arg
|
||||
do
|
||||
case $arg in
|
||||
t)
|
||||
|
@ -21,6 +22,12 @@ do
|
|||
g)
|
||||
BUILD_GPU="ON"
|
||||
;;
|
||||
r)
|
||||
if [[ -d cmake_build ]]; then
|
||||
rm ./cmake_build -r
|
||||
MAKE_CLEAN="ON"
|
||||
fi
|
||||
;;
|
||||
h) # help
|
||||
echo "
|
||||
|
||||
|
@ -28,9 +35,11 @@ parameter:
|
|||
-t: build type
|
||||
-u: building unit test options
|
||||
-p: install prefix
|
||||
-g: build GPU version
|
||||
-r: remove previous build directory
|
||||
|
||||
usage:
|
||||
./build.sh -t \${BUILD_TYPE} [-u] [-h]
|
||||
./build.sh -t \${BUILD_TYPE} [-u] [-h] [-g] [-r]
|
||||
"
|
||||
exit 0
|
||||
;;
|
||||
|
@ -41,27 +50,29 @@ usage:
|
|||
esac
|
||||
done
|
||||
|
||||
if [[ -d cmake_build ]]; then
|
||||
rm cmake_build -r
|
||||
if [[ ! -d cmake_build ]]; then
|
||||
mkdir cmake_build
|
||||
MAKE_CLEAN="ON"
|
||||
fi
|
||||
|
||||
rm -rf ./cmake_build
|
||||
mkdir cmake_build
|
||||
cd cmake_build
|
||||
|
||||
CUDA_COMPILER=/usr/local/cuda/bin/nvcc
|
||||
|
||||
CMAKE_CMD="cmake -DBUILD_UNIT_TEST=${BUILD_UNITTEST} \
|
||||
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}
|
||||
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
||||
-DCMAKE_CUDA_COMPILER=${CUDA_COMPILER} \
|
||||
-DGPU_VERSION=${BUILD_GPU} \
|
||||
$@ ../"
|
||||
echo ${CMAKE_CMD}
|
||||
if [[ ${MAKE_CLEAN} = "ON" ]]; then
|
||||
CMAKE_CMD="cmake -DBUILD_UNIT_TEST=${BUILD_UNITTEST} \
|
||||
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}
|
||||
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
||||
-DCMAKE_CUDA_COMPILER=${CUDA_COMPILER} \
|
||||
-DGPU_VERSION=${BUILD_GPU} \
|
||||
$@ ../"
|
||||
echo ${CMAKE_CMD}
|
||||
|
||||
${CMAKE_CMD}
|
||||
${CMAKE_CMD}
|
||||
make clean
|
||||
fi
|
||||
|
||||
make clean && make -j || exit 1
|
||||
make -j || exit 1
|
||||
|
||||
if [[ ${BUILD_TYPE} != "Debug" ]]; then
|
||||
strip src/vecwise_server
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
set(GTEST_ROOT "${CMAKE_BINARY_DIR}/googletest")
|
||||
|
||||
set(GTEST_CMAKE_ARGS "")
|
||||
# " -Dgtest_build_samples=ON"
|
||||
# " -DCMAKE_VERBOSE_MAKEFILE=ON")
|
||||
|
||||
if(NOT CMAKE_CXX11_ABI)
|
||||
message(STATUS "GTEST: Disabling the GLIBCXX11 ABI")
|
||||
list(APPEND GTEST_CMAKE_ARGS " -DCMAKE_C_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0")
|
||||
list(APPEND GTEST_CMAKE_ARGS " -DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0")
|
||||
elseif(CMAKE_CXX11_ABI)
|
||||
message(STATUS "GTEST: Enabling the GLIBCXX11 ABI")
|
||||
list(APPEND GTEST_CMAKE_ARGS " -DCMAKE_C_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=1")
|
||||
list(APPEND GTEST_CMAKE_ARGS " -DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=1")
|
||||
endif(NOT CMAKE_CXX11_ABI)
|
||||
|
||||
configure_file("${CMAKE_SOURCE_DIR}/cmake/Templates/GoogleTest.CMakeLists.txt.cmake"
|
||||
"${GTEST_ROOT}/CMakeLists.txt")
|
||||
|
||||
file(MAKE_DIRECTORY "${GTEST_ROOT}/build")
|
||||
file(MAKE_DIRECTORY "${GTEST_ROOT}/install")
|
||||
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} .
|
||||
RESULT_VARIABLE GTEST_CONFIG
|
||||
WORKING_DIRECTORY ${GTEST_ROOT})
|
||||
|
||||
if(GTEST_CONFIG)
|
||||
message(FATAL_ERROR "Configuring GoogleTest failed: " ${GTEST_CONFIG})
|
||||
endif(GTEST_CONFIG)
|
||||
|
||||
set(PARALLEL_BUILD -j)
|
||||
if($ENV{PARALLEL_LEVEL})
|
||||
set(NUM_JOBS $ENV{PARALLEL_LEVEL})
|
||||
set(PARALLEL_BUILD "${PARALLEL_BUILD}${NUM_JOBS}")
|
||||
endif($ENV{PARALLEL_LEVEL})
|
||||
|
||||
if(${NUM_JOBS})
|
||||
if(${NUM_JOBS} EQUAL 1)
|
||||
message(STATUS "GTEST BUILD: Enabling Sequential CMake build")
|
||||
elseif(${NUM_JOBS} GREATER 1)
|
||||
message(STATUS "GTEST BUILD: Enabling Parallel CMake build with ${NUM_JOBS} jobs")
|
||||
endif(${NUM_JOBS} EQUAL 1)
|
||||
else()
|
||||
message(STATUS "GTEST BUILD: Enabling Parallel CMake build with all threads")
|
||||
endif(${NUM_JOBS})
|
||||
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} --build .. -- ${PARALLEL_BUILD}
|
||||
RESULT_VARIABLE GTEST_BUILD
|
||||
WORKING_DIRECTORY ${GTEST_ROOT}/build)
|
||||
|
||||
if(GTEST_BUILD)
|
||||
message(FATAL_ERROR "Building GoogleTest failed: " ${GTEST_BUILD})
|
||||
endif(GTEST_BUILD)
|
||||
|
||||
message(STATUS "GoogleTest installed here: " ${GTEST_ROOT}/install)
|
||||
set(GTEST_INCLUDE_DIR "${GTEST_ROOT}/install/include")
|
||||
set(GTEST_LIBRARY_DIR "${GTEST_ROOT}/install/lib")
|
||||
set(GTEST_FOUND TRUE)
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
cmake_minimum_required(VERSION 3.12)
|
||||
|
||||
include(ExternalProject)
|
||||
|
||||
ExternalProject_Add(GoogleTest
|
||||
GIT_REPOSITORY https://github.com/google/googletest.git
|
||||
GIT_TAG release-1.8.0
|
||||
SOURCE_DIR "${GTEST_ROOT}/googletest"
|
||||
BINARY_DIR "${GTEST_ROOT}/build"
|
||||
INSTALL_DIR "${GTEST_ROOT}/install"
|
||||
CMAKE_ARGS ${GTEST_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${GTEST_ROOT}/install)
|
||||
|
|
@ -324,7 +324,7 @@ LicenseLibrary::GPUinfoFileDeserialization(const std::string &path,
|
|||
}
|
||||
|
||||
ServerError
|
||||
LicenseLibrary::GetDateTime(char *cha, time_t &data_time) {
|
||||
LicenseLibrary::GetDateTime(const char *cha, time_t &data_time) {
|
||||
tm tm_;
|
||||
int year, month, day;
|
||||
sscanf(cha, "%d-%d-%d", &year, &month, &day);
|
||||
|
|
|
@ -92,7 +92,7 @@ class LicenseLibrary {
|
|||
std::map<int, std::string> &uuid_encrption_map);
|
||||
|
||||
static ServerError
|
||||
GetDateTime(char *cha, time_t &data_time);
|
||||
GetDateTime(const char *cha, time_t &data_time);
|
||||
|
||||
|
||||
private:
|
||||
|
|
|
@ -128,8 +128,8 @@ TEST(LicenseLibraryTest, LICENSE_FILE_TEST) {
|
|||
// 11.GetDateTime
|
||||
time_t starting_time;
|
||||
time_t end_time;
|
||||
char *string_starting_time = "2019-05-10";
|
||||
char *string_end_time = "2022-05-10";
|
||||
const char *string_starting_time = "2019-05-10";
|
||||
const char *string_end_time = "2022-05-10";
|
||||
err = server::LicenseLibrary::GetDateTime(string_starting_time, starting_time);
|
||||
ASSERT_EQ(err, server::SERVER_SUCCESS);
|
||||
err = server::LicenseLibrary::GetDateTime(string_end_time, end_time);
|
||||
|
|
Loading…
Reference in New Issue