diff --git a/CMakeLists.txt b/CMakeLists.txt
index 36532d1544195c46c27f18297d0d82c16d1e8d31..3fe16ca68deb862550e1f0bf3bd4bc2124e48a92 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,8 +10,17 @@ include(CheckNotInSources)
 #----------------- Main configuration -----------------
 #------------------------------------------------------
 
-project (Pastis
-  VERSION 0.3.0)
+# custom variable allowing to define version suffixes such as -rc*, -beta*, ...
+set(PASTIS_VERSION "0.3.0")
+
+# deduce PASTIS_SHORT_VERSION using regex
+string(REGEX MATCH "^[0-9]+\.[0-9]+\.[0-9]+" PASTIS_SHORT_VERSION ${PASTIS_VERSION})
+if("${PASTIS_SHORT_VERSION}" STREQUAL "")
+  message(FATAL_ERROR "Unable to compute short version from PASTIS_VERSION=${PASTIS_VERSION}")
+endif()
+
+# set project version as PASTIS_SHORT_VERSION
+project (Pastis VERSION ${PASTIS_SHORT_VERSION})
 
 #------------------------------------------------------
 
@@ -24,23 +33,23 @@ set(PASTIS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
 
 # Add new build types
 message("* Adding build types...")
-SET(CMAKE_CXX_FLAGS_COVERAGE
+set(CMAKE_CXX_FLAGS_COVERAGE
   "-g -Wall -O0 --coverage"
   CACHE STRING "Flags used by the C++ compiler during coverage builds."
   FORCE )
-SET(CMAKE_C_FLAGS_COVERAGE
+set(CMAKE_C_FLAGS_COVERAGE
   "-g -Wall -O0 --coverage"
   CACHE STRING "Flags used by the C compiler during coverage builds."
   FORCE )
-SET(CMAKE_EXE_LINKER_FLAGS_COVERAGE
+set(CMAKE_EXE_LINKER_FLAGS_COVERAGE
   "--coverage"
   CACHE STRING "Flags used for linking binaries during coverage builds."
   FORCE )
-SET(CMAKE_SHARED_LINKER_FLAGS_COVERAGE
+set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE
   "--coverage"
   CACHE STRING "Flags used by the shared libraries linker during coverage builds."
   FORCE )
-MARK_AS_ADVANCED(
+mark_as_advanced(
   CMAKE_CXX_FLAGS_COVERAGE
   CMAKE_C_FLAGS_COVERAGE
   CMAKE_EXE_LINKER_FLAGS_COVERAGE
diff --git a/cmake/GetPastisGitRevision.cmake b/cmake/GetPastisGitRevision.cmake
index f3b6919e5260de92352cb3dee838c56b5226dc7c..470ed7191af9c6e51010a8c47969fe63813007ad 100644
--- a/cmake/GetPastisGitRevision.cmake
+++ b/cmake/GetPastisGitRevision.cmake
@@ -6,7 +6,7 @@ find_package(Git QUIET)
 
 if(GIT_FOUND)
   execute_process(
-    COMMAND "${GIT_EXECUTABLE}" describe "--abbrev=0"
+    COMMAND "${GIT_EXECUTABLE}" describe "--abbrev=0" "--match=v[0-9]*"
     WORKING_DIRECTORY "${PASTIS_SOURCE_DIR}"
     OUTPUT_VARIABLE PASTIS_GIT_TAG
     RESULT_VARIABLE FOUND_PASTIS_GIT_INFO
@@ -45,12 +45,10 @@ else()
   unset(HAS_PASTIS_GIT_INFO)
 endif()
 
-string(FIND "${PASTIS_GIT_TAG}" "${CMAKE_PASTIS_VERSION}" FOUND_VERSION_SUBSTR)
-
 if(FOUND_PASTIS_GIT_INFO EQUAL 0)
-  if("${FOUND_VERSION_SUBSTR}" STREQUAL "-1")
+  if(NOT("${PASTIS_GIT_TAG}" STREQUAL "v${PASTIS_VERSION}"))
     message("")
-    message ("######  CMake code version  ${CMAKE_PASTIS_VERSION} and")
+    message ("######  CMake code version  ${PASTIS_VERSION} and")
     message ("######  git revision info  ${PASTIS_GIT_TAG} do not match!")
     message("")
   endif()
@@ -65,5 +63,3 @@ endif()
 configure_file("${PASTIS_SOURCE_DIR}/src/utils/pastis_git_revision.hpp.in"
   "${CMAKE_CURRENT_BINARY_DIR}/pastis_git_revision"
   @ONLY)
-
-
diff --git a/src/utils/CMakeLists.txt b/src/utils/CMakeLists.txt
index 5152bf5285ece836b5e8137755ab4935b434913e..045c6d879715b130dedf6b8135e3fb4ed9421483 100644
--- a/src/utils/CMakeLists.txt
+++ b/src/utils/CMakeLists.txt
@@ -51,7 +51,7 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pastis_git_revision.hpp
 
 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pastis_git_revision
   PRE_BUILD
-  COMMAND ${CMAKE_COMMAND} -DCMAKE_PASTIS_VERSION=${Pastis_VERSION} -DPASTIS_SOURCE_DIR=${PASTIS_SOURCE_DIR} -P ${PASTIS_SOURCE_DIR}/cmake/GetPastisGitRevision.cmake
+  COMMAND ${CMAKE_COMMAND} -DPASTIS_VERSION=${PASTIS_VERSION} -DPASTIS_SOURCE_DIR=${PASTIS_SOURCE_DIR} -P ${PASTIS_SOURCE_DIR}/cmake/GetPastisGitRevision.cmake
   COMMENT "Check pastis git status"
   VERBATIM
   )
diff --git a/src/utils/pastis_version.hpp.in b/src/utils/pastis_version.hpp.in
index 2d9bd821530f46102f493b795bbc9c2bbf2dc27a..f07da441fa893ebc7da844dfde6379c040c71af2 100644
--- a/src/utils/pastis_version.hpp.in
+++ b/src/utils/pastis_version.hpp.in
@@ -1,6 +1,6 @@
 #ifndef PASTIS_VERSION_HPP
 #define PASTIS_VERSION_HPP
 
-#define PASTIS_VERSION  "@Pastis_VERSION@"
+#define PASTIS_VERSION  "@PASTIS_VERSION@"
 
 #endif // PASTIS_VERSION_HPP