From 039e9f071529f7d28ea57a1f17fd9c12bde557c5 Mon Sep 17 00:00:00 2001
From: Moritz Maxeiner <mm@ucw.sh>
Date: Tue, 25 Feb 2020 15:17:13 +0100
Subject: [PATCH] Update use of (git) source version

---
 CMakeLists.txt                          | 12 ++++++------
 Src/CMakeLists.txt                      |  2 +-
 VERSION                                 |  1 -
 cmake/TrackerPlugin.cmake               |  4 ----
 cmake/biotracker-utilityConfig.cmake.in |  2 +-
 5 files changed, 8 insertions(+), 13 deletions(-)
 delete mode 100644 VERSION

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6465e76..fb9d7e6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,10 +1,10 @@
 cmake_minimum_required(VERSION 3.13)
 
-file(READ VERSION PROJECT_VERSION)
+exec_program("git" ${CMAKE_CURRENT_SOURCE_DIR} ARGS "describe --dirty --always --exclude '*'" OUTPUT_VARIABLE SOURCE_VERSION)
 
 project(biotracker-utility
-    VERSION ${PROJECT_VERSION}
-    LANGUAGES CXX)
+    LANGUAGES CXX
+)
 
 include(GNUInstallDirs)
 
@@ -33,8 +33,8 @@ include(CMakePackageConfigHelpers)
 
 write_basic_package_version_file(
     ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
-    VERSION ${PROJECT_VERSION}
-    COMPATIBILITY AnyNewerVersion
+    VERSION ${SOURCE_VERSION}
+    COMPATIBILITY ExactVersion
 )
 
 configure_package_config_file(
@@ -57,6 +57,6 @@ install(
 )
 
 set(CPACK_GENERATOR "TXZ")
-set(CPACK_PACKAGE_VERSION ${GIT_TAG})
+set(CPACK_PACKAGE_VERSION "${SOURCE_VERSION}")
 
 include(CPack)
diff --git a/Src/CMakeLists.txt b/Src/CMakeLists.txt
index 8677eff..f21bdd6 100644
--- a/Src/CMakeLists.txt
+++ b/Src/CMakeLists.txt
@@ -5,7 +5,7 @@ set(target ${PROJECT_NAME})
 add_library(${target} STATIC)
 
 if( CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR )
-    find_package(biotracker-interfaces 0.2 REQUIRED)
+    find_package(biotracker-interfaces REQUIRED)
 endif()
 target_link_libraries(${target} biotracker-interfaces)
 
diff --git a/VERSION b/VERSION
deleted file mode 100644
index 341cf11..0000000
--- a/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-0.2.0
\ No newline at end of file
diff --git a/cmake/TrackerPlugin.cmake b/cmake/TrackerPlugin.cmake
index e8e2178..cc02339 100644
--- a/cmake/TrackerPlugin.cmake
+++ b/cmake/TrackerPlugin.cmake
@@ -1,7 +1,5 @@
 function(add_behavior_plugin target)
 
-    exec_program("git" ${CMAKE_CURRENT_SOURCE_DIR} ARGS "log --pretty=format:%h -n 1" OUTPUT_VARIABLE GIT_HASH)
-
     if("$ENV{USERNAME}" STREQUAL "ContainerAdministrator")
         # Note: This is a workaround for Qt5's "moc" in Windows Docker getting
         #       "System cannot find the file" errors when trying to read
@@ -13,8 +11,6 @@ function(add_behavior_plugin target)
 
     add_library (${target} MODULE ${ARGN})
 
-    target_compile_definitions(${target} PRIVATE CURRENT_GIT_HASH="${GIT_HASH}")
-
     configure_file(${CMAKE_CURRENT_SOURCE_DIR}/plugin.json.in ${METADATA_DIR}/plugin.json)
     target_include_directories(${target} PRIVATE ${METADATA_DIR})
     
diff --git a/cmake/biotracker-utilityConfig.cmake.in b/cmake/biotracker-utilityConfig.cmake.in
index f1752c3..2d91667 100644
--- a/cmake/biotracker-utilityConfig.cmake.in
+++ b/cmake/biotracker-utilityConfig.cmake.in
@@ -1,6 +1,6 @@
 @PACKAGE_INIT@
 
-find_package(biotracker-interfaces 0.2 REQUIRED)
+find_package(biotracker-interfaces REQUIRED)
 
 include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake)
 
-- 
GitLab