diff --git a/buildconfig/CMake/FindPoco.cmake b/buildconfig/CMake/FindPoco.cmake index 8b94035e77ebe06f90e980003effe27b769b5b0c..2cd3fa7a875412249138de93c51f2cf6183ea34e 100644 --- a/buildconfig/CMake/FindPoco.cmake +++ b/buildconfig/CMake/FindPoco.cmake @@ -50,17 +50,20 @@ if( POCO_INCLUDE_DIR ) endif () # regex quantifiers like {8} don't seem to work so we'll stick with + even though # it's not strictly true - set ( VERS_REGEX "^#define[ \t]+POCO_VERSION[ \t]+0x([0-9]+)$" ) + set ( VERS_REGEX "^#define[ \t]+POCO_VERSION[ \t]+0x([0-9A-F]+)$" ) file ( STRINGS ${VERSION_FILE} POCO_VERSION REGEX ${VERS_REGEX} ) # pull out just the part after the 0x string( REGEX REPLACE ${VERS_REGEX} "\\1" POCO_VERSION ${POCO_VERSION} ) # Pretty format string( SUBSTRING ${POCO_VERSION} 0 2 POCO_VERSION_MAJOR ) + math(EXPR POCO_VERSION_MAJOR "0x${POCO_VERSION_MAJOR}" OUTPUT_FORMAT DECIMAL) string( REGEX REPLACE "^0\(.\)" "\\1" POCO_VERSION_MAJOR ${POCO_VERSION_MAJOR} ) string( SUBSTRING ${POCO_VERSION} 2 2 POCO_VERSION_MINOR ) + math(EXPR POCO_VERSION_MINOR "0x${POCO_VERSION_MINOR}" OUTPUT_FORMAT DECIMAL) string( REGEX REPLACE "^0\(.\)" "\\1" POCO_VERSION_MINOR ${POCO_VERSION_MINOR} ) string( SUBSTRING ${POCO_VERSION} 4 2 POCO_VERSION_PATCH ) + math(EXPR POCO_VERSION_PATCH "0x${POCO_VERSION_PATCH}" OUTPUT_FORMAT DECIMAL) string( REGEX REPLACE "^0\(.\)" "\\1" POCO_VERSION_PATCH ${POCO_VERSION_PATCH} ) set ( POCO_VERSION "${POCO_VERSION_MAJOR}.${POCO_VERSION_MINOR}.${POCO_VERSION_PATCH}" ) endif()