diff --git a/cpp/.gitignore b/cpp/.gitignore index e99e0273f35bccb8fb3c80dbc3435a742b688b69..88c9c4c2f480b9b5c6bb0f24f49b7f0ebc17b74d 100644 --- a/cpp/.gitignore +++ b/cpp/.gitignore @@ -4,3 +4,4 @@ third_party/bzip2-1.0.6/ third_party/sqlite3/ megasearch/ conf/server_config.yaml +version.h diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 58ba3aea7de7454f34e94748619fdee060273ca3..7100ae01791b2757944cd89966218ea92e315442 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -7,11 +7,35 @@ cmake_minimum_required(VERSION 3.14) message(STATUS "Building using CMake version: ${CMAKE_VERSION}") -set(MEGASEARCH_VERSION "0.1.0") +MACRO (GET_CURRENT_TIME CURRENT_TIME) + execute_process(COMMAND "date" +"%Y-%m-%d %H:%M.%S" OUTPUT_VARIABLE ${CURRENT_TIME}) +ENDMACRO (GET_CURRENT_TIME) -string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" MEGASEARCH_BASE_VERSION "${MEGASEARCH_VERSION}") +GET_CURRENT_TIME(BUILD_TIME) +string(REGEX REPLACE "\n" "" BUILD_TIME ${BUILD_TIME}) +message(STATUS "Build time = ${BUILD_TIME}") -project(megasearch VERSION "${MEGASEARCH_BASE_VERSION}") +MACRO (GET_GIT_BRANCH_NAME GIT_BRANCH_NAME) + execute_process(COMMAND "git" symbolic-ref --short HEAD OUTPUT_VARIABLE ${GIT_BRANCH_NAME}) +ENDMACRO (GET_GIT_BRANCH_NAME) + +GET_GIT_BRANCH_NAME(GIT_BRANCH_NAME) +string(REGEX REPLACE "\n" "" GIT_BRANCH_NAME ${GIT_BRANCH_NAME}) + +set(MEGASEARCH_VERSION "${GIT_BRANCH_NAME}") +string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]" MEGASEARCH_VERSION "${MEGASEARCH_VERSION}") +message(STATUS "Build version = ${MEGASEARCH_VERSION}") + +if(CMAKE_BUILD_TYPE STREQUAL "Release") + set(BUILD_TYPE "release") +else() + set(BUILD_TYPE "debug") +endif() +message(STATUS "Build type = ${BUILD_TYPE}") + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.cf ${CMAKE_CURRENT_SOURCE_DIR}/version.h) + +project(megasearch VERSION "${MEGASEARCH_VERSION}") project(vecwise_engine LANGUAGES CUDA CXX) set(MEGASEARCH_VERSION_MAJOR "${megasearch_VERSION_MAJOR}") diff --git a/cpp/src/main.cpp b/cpp/src/main.cpp index 08ecb8c194342dc154a93dd48ce16561edb458b0..32f7c515e34c7ada899c8936efcba9174758fb4f 100644 --- a/cpp/src/main.cpp +++ b/cpp/src/main.cpp @@ -4,6 +4,7 @@ // Proprietary and confidential. //////////////////////////////////////////////////////////////////////////////// #include "server/Server.h" +#include "version.h" #include #include @@ -25,8 +26,8 @@ using namespace zilliz::vecwise; int main(int argc, char *argv[]) { - printf("Vecwise engine server start...\n"); -// zilliz::lib::gpu::InitMemoryAllocator(); + printf("Megasearch %s version: v%s built at %s\n", BUILD_TYPE, MEGASEARCH_VERSION, BUILD_TIME); + printf("Megasearch server start...\n"); signal(SIGINT, server::SignalUtil::HandleSignal); signal(SIGSEGV, server::SignalUtil::HandleSignal); diff --git a/cpp/version.h.cf b/cpp/version.h.cf new file mode 100644 index 0000000000000000000000000000000000000000..a1d61cb271fcd3728d67dbabc9568ac5d60873fe --- /dev/null +++ b/cpp/version.h.cf @@ -0,0 +1,5 @@ +#pragma once + +#define MEGASEARCH_VERSION "@MEGASEARCH_VERSION@" +#define BUILD_TYPE "@BUILD_TYPE@" +#define BUILD_TIME @BUILD_TIME@ \ No newline at end of file