diff --git a/CMakeLists.txt b/CMakeLists.txt
index a876fa6..ec86520 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -142,6 +142,24 @@
 
 ENDIF()
 
+# get git version on every build
+SET(GIT_REVISION_INPUT_FILE ${PROJECT_SOURCE_DIR}/src/revision.h.in)
+SET(GIT_REVISION_OUTPUT_FILE ${PROJECT_BINARY_DIR}/revision.h)
+
+ADD_CUSTOM_TARGET(
+   git_revision ALL
+   COMMAND ${CMAKE_COMMAND}
+      -DGIT_REVISION_INPUT_FILE=${GIT_REVISION_INPUT_FILE}
+      -DGIT_REVISION_OUTPUT_FILE=${GIT_REVISION_OUTPUT_FILE}
+      -P ${CMAKE_SOURCE_DIR}/cmake/GitRevision.cmake
+   COMMENT "generating ${GIT_REVISION_OUTPUT_FILE}"
+)
+
+ADD_CUSTOM_COMMAND(
+   OUTPUT ${GIT_REVISION_OUTPUT_FILE}
+   DEPENDS git_revision
+)
+
 # source files to compile
 SET( SRC_FILES
    src/main.cpp
@@ -210,6 +228,7 @@
    src/video/videowindow.cpp
    src/utils/files.h
    src/utils/files.cpp
+   ${GIT_REVISION_OUTPUT_FILE}
 )
 
 # compile glib resource files to c code
diff --git a/cmake/GitRevision.cmake b/cmake/GitRevision.cmake
new file mode 100644
index 0000000..fe0474b
--- /dev/null
+++ b/cmake/GitRevision.cmake
@@ -0,0 +1,51 @@
+#  Copyright (C) 2015 Savoir-faire Linux Inc.
+#  Author: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 3 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software
+#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
+#
+#  Additional permission under GNU GPL version 3 section 7:
+#
+#  If you modify this program, or any covered work, by linking or
+#  combining it with the OpenSSL project's OpenSSL library (or a
+#  modified version of that library), containing parts covered by the
+#  terms of the OpenSSL or SSLeay licenses, Savoir-faire Linux Inc.
+#  grants you additional permission to convey the resulting work.
+#  Corresponding Source for a non-source form of such a combination
+#  shall include the source code for the parts of OpenSSL used as well
+#  as that of the covered work.
+#
+
+FIND_PACKAGE(Git)
+
+IF(GIT_FOUND)
+   EXECUTE_PROCESS(
+      COMMAND ${GIT_EXECUTABLE} rev-parse --verify HEAD
+      OUTPUT_VARIABLE RING_CLIENT_REVISION
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+   )
+ENDIF()
+
+IF( "${RING_CLIENT_REVISION}" STREQUAL "")
+   SET(RING_CLIENT_REVISION "unknown")
+ENDIF()
+
+MESSAGE( STATUS "GIT_REVISION_INPUT_FILE: " ${GIT_REVISION_INPUT_FILE} )
+MESSAGE( STATUS "GIT_REVISION_OUTPUT_FILE: " ${GIT_REVISION_OUTPUT_FILE} )
+
+# generate revision.h file
+CONFIGURE_FILE (
+   ${GIT_REVISION_INPUT_FILE}
+   ${GIT_REVISION_OUTPUT_FILE}
+)
diff --git a/src/revision.h.in b/src/revision.h.in
new file mode 100644
index 0000000..071578e
--- /dev/null
+++ b/src/revision.h.in
@@ -0,0 +1,3 @@
+/* cmake will generate revision.h with a define containing the git revision (if found) */
+
+#define RING_CLIENT_REVISION "@RING_CLIENT_REVISION@"
diff --git a/src/ring_client.cpp b/src/ring_client.cpp
index 1ee4711..6b28752 100644
--- a/src/ring_client.cpp
+++ b/src/ring_client.cpp
@@ -54,6 +54,7 @@
 #include "ringnotify.h"
 #include "config.h"
 #include "utils/files.h"
+#include "revision.h"
 
 struct _RingClientClass
 {
@@ -188,6 +189,9 @@
     RingClient *client = RING_CLIENT(app);
     RingClientPrivate *priv = RING_CLIENT_GET_PRIVATE(client);
 
+    g_message("Ring GNOME client version: %d.%d.%d", VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH);
+    g_message("git ref: %s", RING_CLIENT_REVISION);
+
     /* make sure that the system corresponds to the autostart setting */
     autostart_symlink(g_settings_get_boolean(priv->settings, "start-on-login"));
     g_signal_connect(priv->settings, "changed::start-on-login", G_CALLBACK(autostart_toggled), NULL);
