aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/FindHUpnp.cmake18
1 files 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 <paulo.romulo@kdemail.net>
-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 )