From d019ccc338a9c6d477c3a335a1429db8cd4134c4 Mon Sep 17 00:00:00 2001 From: groot Date: Thu, 6 Jun 2019 10:24:40 +0800 Subject: [PATCH 1/2] automaticlly generate build version infor Former-commit-id: 4c8fccc57722bd527e1947590014e07ca110a108 --- cpp/.gitignore | 1 + cpp/CMakeLists.txt | 27 ++++++++++++++++++++++++++- cpp/src/main.cpp | 5 +++-- cpp/version.h.cf | 5 +++++ 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 cpp/version.h.cf diff --git a/cpp/.gitignore b/cpp/.gitignore index e99e0273f3..88c9c4c2f4 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 58ba3aea7d..d38fd73556 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -7,7 +7,32 @@ 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) + +GET_CURRENT_TIME(BUILD_TIME) +string(REGEX REPLACE "\n" "" BUILD_TIME ${BUILD_TIME}) +message(STATUS "Build time = ${BUILD_TIME}") + +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 REPLACE "branch-" "" MEGASEARCH_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) string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" MEGASEARCH_BASE_VERSION "${MEGASEARCH_VERSION}") diff --git a/cpp/src/main.cpp b/cpp/src/main.cpp index 08ecb8c194..32f7c515e3 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 0000000000..a1d61cb271 --- /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 From 741c5e90ebb5b53e8863412d4f9e6474d61fd382 Mon Sep 17 00:00:00 2001 From: groot Date: Thu, 6 Jun 2019 10:34:10 +0800 Subject: [PATCH 2/2] automaticlly generate build version infor Former-commit-id: 7ed02faa146b614ee06327b95a8dba4154a904f9 --- cpp/CMakeLists.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index d38fd73556..7100ae0179 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -23,7 +23,8 @@ 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 REPLACE "branch-" "" MEGASEARCH_VERSION ${MEGASEARCH_VERSION}) +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") @@ -34,9 +35,7 @@ message(STATUS "Build type = ${BUILD_TYPE}") configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.cf ${CMAKE_CURRENT_SOURCE_DIR}/version.h) -string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" MEGASEARCH_BASE_VERSION "${MEGASEARCH_VERSION}") - -project(megasearch VERSION "${MEGASEARCH_BASE_VERSION}") +project(megasearch VERSION "${MEGASEARCH_VERSION}") project(vecwise_engine LANGUAGES CUDA CXX) set(MEGASEARCH_VERSION_MAJOR "${megasearch_VERSION_MAJOR}")