From cc02515d4d1c942fd1d8df4bbb0f87b0a2330e8d Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Sun, 31 Mar 2019 09:38:25 +0300 Subject: [PATCH] Get version from git tags and commit --- CMakeLists.txt | 5 +---- cmake/git_version.cmake | 31 +++++++++++++++++++++++++++++++ cv-node/include/ftl/config.h.in | 2 ++ 3 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 cmake/git_version.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index a9ca25b81..a7a01fb96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,10 +27,7 @@ add_definitions(-DHAVE_CUDA) include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}) endif (CUDA_FOUND) -set(ftl_VERSION_MAJOR "1") -set(ftl_VERSION_MINOR "0") -set(ftl_VERSION_PATCH "0") -set(FTL_VERSION "\"${ftl_VERSION_MAJOR}.${ftl_VERSION_MINOR}.${ftl_VERSION_PATCH}\"") +include(git_version) if (WIN32) file(TO_CMAKE_PATH "$ENV{USERPROFILE}" ENV_USERPROFILE) diff --git a/cmake/git_version.cmake b/cmake/git_version.cmake new file mode 100644 index 000000000..14ce6dfc1 --- /dev/null +++ b/cmake/git_version.cmake @@ -0,0 +1,31 @@ +find_package(Git QUIET REQUIRED) + +if (Git_FOUND) + #CHECK_REQUIRED_VARIABLE(GIT_EXECUTABLE) + + execute_process(COMMAND + "${GIT_EXECUTABLE}" describe --contains HEAD + WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" + RESULT_VARIABLE GIT_RESULT + OUTPUT_VARIABLE VERSION + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + + string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" ftl_VERSION_MAJOR "${VERSION}") + string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" ftl_VERSION_MINOR "${VERSION}") + string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" ftl_VERSION_PATCH "${VERSION}") + string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+(.*)" "\\1" ftl_VERSION_SHA1 "${VERSION}") + set(FTL_VERSION "\"${ftl_VERSION_MAJOR}.${ftl_VERSION_MINOR}.${ftl_VERSION_PATCH}\"") + +else() + + set(ftl_VERSION_MAJOR "0") + set(ftl_VERSION_MINOR "0") + set(ftl_VERSION_PATCH "0") + set(FTL_VERSION "\"${ftl_VERSION_MAJOR}.${ftl_VERSION_MINOR}.${ftl_VERSION_PATCH}\"") + + message(WARNING "Version could not be obtained from git") + +endif() + + diff --git a/cv-node/include/ftl/config.h.in b/cv-node/include/ftl/config.h.in index 1ca2bb0b3..bd68be9df 100644 --- a/cv-node/include/ftl/config.h.in +++ b/cv-node/include/ftl/config.h.in @@ -4,10 +4,12 @@ #cmakedefine HAVE_VIZ #cmakedefine HAVE_OPENCVCUDA +#define FTL_VERSION_LONG "@VERSION@" #define FTL_VERSION @FTL_VERSION@ #define FTL_VERSION_MAJOR @ftl_VERSION_MAJOR@ #define FTL_VERSION_MINOR @ftl_VERSION_MINOR@ #define FTL_VERSION_PATCH @ftl_VERSION_PATCH@ +#define FTL_VERSION_SHA1 "@ftl_VERSION_SHA1@" #define FTL_CONFIG_ROOT @FTL_CONFIG_ROOT@ #define FTL_CACHE_ROOT @FTL_CACHE_ROOT@ -- GitLab