diff --git a/CMakeLists.txt b/CMakeLists.txt
index 37a142428c441e4e0f1759ef41fea71bd608c59d..2bee674e6009ca29cf651d4d3e0414a329e67d24 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,9 +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(robofish-behavior_loader
-    VERSION ${PROJECT_VERSION}
-    LANGUAGES CXX)
+    LANGUAGES CXX
+)
 
 include(GNUInstallDirs)
 
@@ -32,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(
@@ -50,5 +51,6 @@ install(
 )
 
 set(CPACK_GENERATOR "TXZ")
+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