diff options
author | Will Stephenson <wstephenson@kde.org> | 2007-11-29 15:54:38 +0000 |
---|---|---|
committer | Will Stephenson <wstephenson@kde.org> | 2007-11-29 15:54:38 +0000 |
commit | ab749e1349eb9ef30ed77f1a649bed3003f47dbf (patch) | |
tree | 367c53a49e0f412b3507745bb173c15778dbd632 | |
parent | 1468725d8200bcc0f5c9130e4fde666e0f164285 (diff) | |
download | extra-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
-rw-r--r-- | modules/UsePkgConfig.cmake | 21 |
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) |