aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-01-18 16:27:01 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-01-18 16:27:01 +0000
commit811a58d38b50d84bba75e562653651f77b702fbd (patch)
treef55636819f79996ebc2de68b936675a6a3b30c4b /CMakeLists.txt
parent28cd3b65c557469571df0a4b107baddc46fde014 (diff)
downloadqmmp-811a58d38b50d84bba75e562653651f77b702fbd.tar.gz
qmmp-811a58d38b50d84bba75e562653651f77b702fbd.tar.bz2
qmmp-811a58d38b50d84bba75e562653651f77b702fbd.zip
cmake: using version from header
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2546 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt26
1 files changed, 22 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 05114d20c..9dfaf3c33 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,7 @@
cmake_minimum_required(VERSION 2.6.0)
+SET(SVN_VERSION TRUE)
+
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
@@ -8,10 +10,6 @@ CONFIGURE_FILE(
ADD_CUSTOM_TARGET(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
-SET(QMMP_VERSION 0.6.0)
-SET(QMMP_SOVERSION 0)
-SET(SVN_VERSION TRUE)
-
SET(QT_MIN_VERSION 4.6.0)
INCLUDE(FindQt4)
INCLUDE(${QT_USE_FILE})
@@ -94,6 +92,26 @@ ADD_CUSTOM_COMMAND(
)
ENDIF(UNIX)
+#extract version from qmmp.h
+FILE(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/qmmp/qmmp.h"
+ QMMP_VERSION_DATA REGEX "^#define[ \t]+QMMP_VERSION_[A-Z]+[ \t]+[0-9]+.*$")
+
+IF(QMMP_VERSION_DATA)
+ FOREACH(item IN ITEMS MAJOR MINOR PATCH)
+ STRING(REGEX REPLACE ".*#define[ \t]+QMMP_VERSION_${item}[ \t]+([0-9]+).*"
+ "\\1" QMMP_VERSION_${item} ${QMMP_VERSION_DATA})
+ ENDFOREACH(item IN ITEMS MAJOR MINOR PATCH)
+ SET(QMMP_VERSION "${QMMP_VERSION_MAJOR}.${QMMP_VERSION_MINOR}.${QMMP_VERSION_PATCH}")
+ SET(QMMP_SOVERSION "${QMMP_VERSION_MAJOR}")
+ IF(SVN_VERSION)
+ MESSAGE(STATUS "Qmmp API version: ${QMMP_VERSION} (development)")
+ ELSE(SVN_VERSION)
+ MESSAGE(STATUS "Qmmp API version: ${QMMP_VERSION} (stable)")
+ ENDIF(SVN_VERSION)
+ELSE(QMMP_VERSION_DATA)
+ MESSAGE(FATAL_ERROR "invalid header")
+ENDIF(QMMP_VERSION_DATA)
+
MESSAGE("")
MESSAGE("Transports:")