From 35754c4b9b7395f5c7fb6759801b07007130eeae Mon Sep 17 00:00:00 2001 From: Nikhil Marathe Date: Sat, 5 Mar 2011 23:16:35 +0530 Subject: Added HUpnp version reporting and detection. FindHUpnp.cmake now exposes HUpnp version extracted from HUpnpCore/public/hupnpinfo.h Solid will require HUpnp v0.9.0 --- modules/FindHUpnp.cmake | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/FindHUpnp.cmake b/modules/FindHUpnp.cmake index bbff8335..85c80306 100644 --- a/modules/FindHUpnp.cmake +++ b/modules/FindHUpnp.cmake @@ -4,16 +4,26 @@ # HUPNP_FOUND - system has HUPnP # HUPNP_INCLUDE_DIR - the LIBHUpnp include directory # HUPNP_LIBS - the LIBHUpnp libraries +# HUPNP_VERSION_STRING - The version of HUpnp +# HUPNP_VERSION_MAJOR - The major version of HUpnp +# HUPNP_VERSION_MINOR - The minor version of HUpnp +# HUPNP_VERSION_PATCH - The patch version of HUpnp # # Copyright (c) 2010, Paulo Romulo Alves Barros -find_path( HUPNP_INCLUDE_DIR - NAMES HUpnp - PATH_SUFFIXES HUpnpCore -) +find_path( HUPNP_INCLUDE_DIR HUpnpCore/HUpnp ) find_library( HUPNP_LIBS HUpnp ) +if( HUPNP_INCLUDE_DIR AND EXISTS "${HUPNP_INCLUDE_DIR}/HUpnpCore/public/hupnpinfo.h" ) + file( STRINGS "${HUPNP_INCLUDE_DIR}/HUpnpCore/public/hupnpinfo.h" HUPNP_INFO_H REGEX "^#define HUPNP_CORE_.*_VERSION .*$" ) + string( REGEX REPLACE ".*HUPNP_CORE_MAJOR_VERSION ([0-9]+).*" "\\1" HUPNP_VERSION_MAJOR "${HUPNP_INFO_H}" ) + string( REGEX REPLACE ".*HUPNP_CORE_MINOR_VERSION ([0-9]+).*" "\\1" HUPNP_VERSION_MINOR "${HUPNP_INFO_H}" ) + string( REGEX REPLACE ".*HUPNP_CORE_PATCH_VERSION ([0-9]+).*" "\\1" HUPNP_VERSION_PATCH "${HUPNP_INFO_H}" ) + + set( HUPNP_VERSION_STRING "${HUPNP_VERSION_MAJOR}.${HUPNP_VERSION_MINOR}.${HUPNP_VERSION_PATCH}" ) +endif() + include( FindPackageHandleStandardArgs ) find_package_handle_standard_args( HUpnp DEFAULT_MSG HUPNP_INCLUDE_DIR HUPNP_LIBS ) -- cgit v1.2.1