aboutsummaryrefslogtreecommitdiff
path: root/modules/UsePkgConfig.cmake
diff options
context:
space:
mode:
authorWill Stephenson <wstephenson@kde.org>2007-11-29 15:54:38 +0000
committerWill Stephenson <wstephenson@kde.org>2007-11-29 15:54:38 +0000
commitab749e1349eb9ef30ed77f1a649bed3003f47dbf (patch)
tree367c53a49e0f412b3507745bb173c15778dbd632 /modules/UsePkgConfig.cmake
parent1468725d8200bcc0f5c9130e4fde666e0f164285 (diff)
downloadextra-cmake-modules-ab749e1349eb9ef30ed77f1a649bed3003f47dbf.tar.gz
extra-cmake-modules-ab749e1349eb9ef30ed77f1a649bed3003f47dbf.tar.bz2
Add PKGCONFIG_VERSION macro that determines the version of a package
using pkg-config too. svn path=/trunk/KDE/kdelibs/; revision=742999
Diffstat (limited to 'modules/UsePkgConfig.cmake')
-rw-r--r--modules/UsePkgConfig.cmake21
1 files changed, 18 insertions, 3 deletions
diff --git a/modules/UsePkgConfig.cmake b/modules/UsePkgConfig.cmake
index 8874c94e..c8c6cd2a 100644
--- a/modules/UsePkgConfig.cmake
+++ b/modules/UsePkgConfig.cmake
@@ -37,9 +37,9 @@ MACRO(PKGCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags)
EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --cflags OUTPUT_VARIABLE ${_cflags} )
ELSE( NOT _return_VALUE)
-
- MESSAGE(STATUS "PKGCONFIG macro signal that ${_package} is not installed on your computer.")
- MESSAGE(STATUS "Install package which contains ${_package}.pc if you want to support this feature.")
+
+ MESSAGE(STATUS "KDE CMake PKGCONFIG macro indicates that ${_package} is not installed on your computer.")
+ MESSAGE(STATUS "Install the package which contains ${_package}.pc if you want to support this feature.")
ENDIF(NOT _return_VALUE)
@@ -47,4 +47,19 @@ MACRO(PKGCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags)
ENDMACRO(PKGCONFIG _include_DIR _link_DIR _link_FLAGS _cflags)
+MACRO(PKGCONFIG_VERSION _package _include_DIR _link_DIR _link_FLAGS _cflags _found_version)
+ #reset variable
+ SET(${_found_version})
+ IF(PKGCONFIG_EXECUTABLE)
+ #call PKGCONFIG
+ PKGCONFIG(${_package} ${_include_DIR} ${_link_DIR} ${_link_FLAGS} ${_cflags})
+ IF(${_include_DIR})
+ EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --modversion OUTPUT_VARIABLE ${_found_version})
+ IF(NOT ${_found_version})
+ MESSAGE(FATAL_ERROR "UsePkgConfig.cmake: No version found for ${_package}")
+ ENDIF(NOT ${_found_version})
+ ENDIF(${_include_DIR})
+ ENDIF(PKGCONFIG_EXECUTABLE)
+ENDMACRO(PKGCONFIG_VERSION _package _include_DIR _link_DIR _link_FLAGS _cflags _found_version)
+
MARK_AS_ADVANCED(PKGCONFIG_EXECUTABLE)