aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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:")