diff --git a/CMakeLists.txt b/CMakeLists.txt index a9ca25b819c2caa9199827030180849cd704a301..a7a01fb96a7b562e29bd590b2a9e20b15d3f1631 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 0000000000000000000000000000000000000000..14ce6dfc10de7c15cfd58b264ac449d7300b9f32 --- /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 1ca2bb0b3c79e8ecbb3d750e1c49274d96c8287d..bd68be9df86896a29d239bd99f892d55225dacff 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@