diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9f288057d50b65fd37ef1bb9db77172a8a9acf30..116dfea27fc695c971849456065b7237a35996f9 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-interfaces
-    VERSION ${PROJECT_VERSION}
-    LANGUAGES CXX)
+    LANGUAGES CXX
+)
 
 include(GNUInstallDirs)
 
@@ -38,8 +38,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(
@@ -56,6 +56,6 @@ install(
 )
 
 set(CPACK_GENERATOR "TXZ")
-set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
+set(CPACK_PACKAGE_VERSION "${SOURCE_VERSION}")
 
 include(CPack)
diff --git a/VERSION b/VERSION
deleted file mode 100644
index 341cf11faf9a29504168de4e54beaad182c5adc5..0000000000000000000000000000000000000000
--- a/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-0.2.0
\ No newline at end of file