diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,11 +21,6 @@ cmake_minimum_required(VERSION 2.8.11)
project(serialplot)
-set(MAJOR_VERSION 0)
-set(MINOR_VERSION 1)
-set(PATCH_VERSION 0)
-set(VERSION_STRING "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")
-
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -75,6 +70,32 @@ else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
+# version number
+set(MAJOR_VERSION 0)
+set(MINOR_VERSION 1)
+set(PATCH_VERSION 0)
+set(VERSION_STRING "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")
+
+# get revision number from mercurial
+find_program(MERCURIAL hg)
+
+if (MERCURIAL)
+ execute_process(COMMAND ${MERCURIAL} id -i
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ RESULT_VARIABLE MERCURIAL_RESULT
+ OUTPUT_VARIABLE VERSION_REVISION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(NOT MERCURIAL_RESULT EQUAL 0)
+ set(VERSION_SCM_REVISION false)
+ endif(NOT MERCURIAL_RESULT EQUAL 0)
+endif (MERCURIAL)
+
+if (NOT VERSION_REVISION)
+ set(VERSION_REVISION "0")
+endif (NOT VERSION_REVISION)
+
+message("SCM revision: ${VERSION_REVISION}")
+
# configure version file
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/version.h.in" "${CMAKE_CURRENT_BINARY_DIR}/version.h")
diff --git a/about_dialog.ui b/about_dialog.ui
--- a/about_dialog.ui
+++ b/about_dialog.ui
@@ -7,7 +7,7 @@
0
0
487
- 300
+ 325
@@ -17,7 +17,7 @@
-
- <html><head/><body><p align="center"><span style=" font-size:14pt;">SerialPlot</span></p><p align="center"><span style=" font-size:10pt;">$VERSION_STRING$</span></p><p align="center">Developed by Hasan Yavuz Özderya</p><p align="center">Using Qt and Qwt (<a href="http://qwt.sf.net"><span style=" text-decoration: underline; color:#0000ff;">http://qwt.sf.net</span></a>)</p><p align="center"><br/></p><p align="center">This software is GPL licensed. You can obtain source code from <a href="https://bitbucket.org/hyOzd/serialplot"><span style=" text-decoration: underline; color:#0000ff;">https://bitbucket.org/hyOzd/serialplot</span></a>.<br/></p></body></html>
+ <html><head/><body><p align="center"><span style=" font-size:14pt;">SerialPlot</span></p><p align="center"><span style=" font-size:10pt;">$VERSION_STRING$</span></p><p align="center">Developed by Hasan Yavuz Özderya</p><p align="center">Using Qt and Qwt (<a href="http://qwt.sf.net"><span style=" text-decoration: underline; color:#0000ff;">http://qwt.sf.net</span></a>)</p><p align="center"><br/></p><p align="center">This software is GPL licensed. You can obtain source code from <a href="https://bitbucket.org/hyOzd/serialplot"><span style=" text-decoration: underline; color:#0000ff;">https://bitbucket.org/hyOzd/serialplot</span></a>.</p><p align="center"><br/></p><p align="right"><span style=" font-size:8pt;">RevID: $VERSION_REVISION$<br/></span></p></body></html>
true
diff --git a/mainwindow.cpp b/mainwindow.cpp
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -215,6 +215,7 @@ void MainWindow::setupAboutDialog()
QString aboutText = uiAboutDialog.lbAbout->text();
aboutText.replace("$VERSION_STRING$", VERSION_STRING);
+ aboutText.replace("$VERSION_REVISION$", VERSION_REVISION);
uiAboutDialog.lbAbout->setText(aboutText);
}
diff --git a/version.h.in b/version.h.in
--- a/version.h.in
+++ b/version.h.in
@@ -21,3 +21,4 @@
#define MINOR_VERSION @MINOR_VERSION@
#define PATCH_VERSION @PATCH_VERSION@
#define VERSION_STRING "@VERSION_STRING@"
+#define VERSION_REVISION "@VERSION_REVISION@"