From 702294cdd23e33eb63552227421fdc786d118c64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20G=C3=A2teau?= Date: Sun, 25 Apr 2010 20:23:35 +0000 Subject: Added support for DBusMenu. svn path=/trunk/KDE/kdelibs/; revision=1118756 --- modules/FindDBusMenuQt.cmake | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 modules/FindDBusMenuQt.cmake (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake new file mode 100644 index 00000000..fb95da1b --- /dev/null +++ b/modules/FindDBusMenuQt.cmake @@ -0,0 +1,46 @@ +# - Try to find dbusmenu-qt +# Once done this will define +# +# DBUSMENUQT_FOUND - system has dbusmenu-qt +# DBUSMENUQT_INCLUDE_DIR - the dbusmenu-qt include directory +# DBUSMENUQT_LIBRARIES - the libraries needed to use dbusmenu-qt +# DBUSMENUQT_DEFINITIONS - Compiler switches required for using dbusmenu-qt +# +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls + +# Copyright (c) 2009, Canonical Ltd. +# - Author: Aurélien Gâteau +# +# Based on FindQCA2.cmake +# Copyright (c) 2006, Michael Larouche, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +include(FindPackageHandleStandardArgs) + +if (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) + # in cache already + set(DBUSMENUQT_FOUND TRUE) +else (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) + if (NOT WIN32) + find_package(PkgConfig) + pkg_check_modules(PC_DBUSMENUQT QUIET dbusmenu-qt) + set(DBUSMENUQT_DEFINITIONS ${PC_DBUSMENUQT_CFLAGS_OTHER}) + endif (NOT WIN32) + + find_library(DBUSMENUQT_LIBRARIES + NAMES dbusmenu-qt + HINTS ${PC_DBUSMENUQT_LIBDIR} ${PC_DBUSMENUQT_LIBRARY_DIRS} + ) + + find_path(DBUSMENUQT_INCLUDE_DIR dbusmenuexporter.h + HINTS ${PC_DBUSMENUQT_INCLUDEDIR} ${PC_DBUSMENUQT_INCLUDE_DIRS} + PATH_SUFFIXES dbusmenu-qt + ) + + find_package_handle_standard_args(dbusmenu-qt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) + + mark_as_advanced(DBUSMENUQT_INCLUDE_DIR DBUSMENUQT_LIBRARIES) +endif (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) -- cgit v1.2.1 From dd745f81ba4333e0ec457d337e04aaa27f032732 Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Mon, 26 Apr 2010 09:26:05 +0000 Subject: windows fix: added debug library name svn path=/trunk/KDE/kdelibs/; revision=1118943 --- modules/FindDBusMenuQt.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index fb95da1b..47198e88 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -31,7 +31,7 @@ else (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) endif (NOT WIN32) find_library(DBUSMENUQT_LIBRARIES - NAMES dbusmenu-qt + NAMES dbusmenu-qt dbusmenu-qtd HINTS ${PC_DBUSMENUQT_LIBDIR} ${PC_DBUSMENUQT_LIBRARY_DIRS} ) -- cgit v1.2.1 From a70b982dc99bea80b4eb8cec1347a16873f9769e Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Mon, 26 Apr 2010 14:44:23 +0000 Subject: fix svn path=/trunk/KDE/kdelibs/; revision=1119094 --- modules/FindDBusMenuQt.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index 47198e88..92e32d36 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -40,7 +40,7 @@ else (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) PATH_SUFFIXES dbusmenu-qt ) - find_package_handle_standard_args(dbusmenu-qt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) + find_package_handle_standard_args(dbusmenuqt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) mark_as_advanced(DBUSMENUQT_INCLUDE_DIR DBUSMENUQT_LIBRARIES) endif (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) -- cgit v1.2.1 From 5d63846a9eba3eb9fc9c8f8e6360f7c78633ffe2 Mon Sep 17 00:00:00 2001 From: Patrick von Reth Date: Wed, 28 Apr 2010 06:43:26 +0000 Subject: Fixed DBUSMENUQT_FOUND on windows svn path=/trunk/KDE/kdelibs/; revision=1120007 --- modules/FindDBusMenuQt.cmake | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index 92e32d36..d161cdd7 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -40,6 +40,11 @@ else (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) PATH_SUFFIXES dbusmenu-qt ) + if( WIN32 DBUSMENUQT_LIBRARIES AND DBUSMENUQT_INCLUDE_DIR ) + #we don't use pkgconfig on windows so we have to set DBUSMENUQT_FOUND by hand + set(DBUSMENUQT_FOUND TRUE) + endif( WIN32 DBUSMENUQT_LIBRARIES AND DBUSMENUQT_INCLUDE_DIR ) + find_package_handle_standard_args(dbusmenuqt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) mark_as_advanced(DBUSMENUQT_INCLUDE_DIR DBUSMENUQT_LIBRARIES) -- cgit v1.2.1 From 8c340cde65c1be92249ee11b50c2583b60d1dd21 Mon Sep 17 00:00:00 2001 From: Patrick von Reth Date: Wed, 28 Apr 2010 06:56:25 +0000 Subject: added AND svn path=/trunk/KDE/kdelibs/; revision=1120012 --- modules/FindDBusMenuQt.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index d161cdd7..fc8df648 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -40,10 +40,10 @@ else (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) PATH_SUFFIXES dbusmenu-qt ) - if( WIN32 DBUSMENUQT_LIBRARIES AND DBUSMENUQT_INCLUDE_DIR ) + if( WIN32 AND DBUSMENUQT_LIBRARIES AND DBUSMENUQT_INCLUDE_DIR ) #we don't use pkgconfig on windows so we have to set DBUSMENUQT_FOUND by hand set(DBUSMENUQT_FOUND TRUE) - endif( WIN32 DBUSMENUQT_LIBRARIES AND DBUSMENUQT_INCLUDE_DIR ) + endif( WIN32 AND DBUSMENUQT_LIBRARIES AND DBUSMENUQT_INCLUDE_DIR ) find_package_handle_standard_args(dbusmenuqt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) -- cgit v1.2.1 From 233cf130998d985f942c761c47b9d4d1820e4c43 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Wed, 28 Apr 2010 19:46:33 +0000 Subject: -the first argument must be the exact-case name of the find-module, otherwise the macro doesn't work (i.e. it doesn't "see" the QUIET and REQUIRED options then) Alex svn path=/trunk/KDE/kdelibs/; revision=1120294 --- modules/FindDBusMenuQt.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index fc8df648..4f8fef56 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -45,7 +45,7 @@ else (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) set(DBUSMENUQT_FOUND TRUE) endif( WIN32 AND DBUSMENUQT_LIBRARIES AND DBUSMENUQT_INCLUDE_DIR ) - find_package_handle_standard_args(dbusmenuqt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) + find_package_handle_standard_args(DBusMenuQt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) mark_as_advanced(DBUSMENUQT_INCLUDE_DIR DBUSMENUQT_LIBRARIES) endif (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) -- cgit v1.2.1 From 95a78884e50f5dc5ad6a8e5ebcab110ea818f4d7 Mon Sep 17 00:00:00 2001 From: Patrick von Reth Date: Wed, 28 Apr 2010 22:27:11 +0000 Subject: tested it again and manual setting of DBUSMENUQT_FOUND is not required svn path=/trunk/KDE/kdelibs/; revision=1120353 --- modules/FindDBusMenuQt.cmake | 5 ----- 1 file changed, 5 deletions(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index 4f8fef56..d61a0648 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -39,11 +39,6 @@ else (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) HINTS ${PC_DBUSMENUQT_INCLUDEDIR} ${PC_DBUSMENUQT_INCLUDE_DIRS} PATH_SUFFIXES dbusmenu-qt ) - - if( WIN32 AND DBUSMENUQT_LIBRARIES AND DBUSMENUQT_INCLUDE_DIR ) - #we don't use pkgconfig on windows so we have to set DBUSMENUQT_FOUND by hand - set(DBUSMENUQT_FOUND TRUE) - endif( WIN32 AND DBUSMENUQT_LIBRARIES AND DBUSMENUQT_INCLUDE_DIR ) find_package_handle_standard_args(DBusMenuQt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) -- cgit v1.2.1 From e2c35f33049165277d7bf027bea2cf84e3a396c9 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sat, 1 May 2010 13:05:16 +0000 Subject: -simplify the file, remove all unnecessary stuff Alex svn path=/trunk/KDE/kdelibs/; revision=1121499 --- modules/FindDBusMenuQt.cmake | 38 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 24 deletions(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index d61a0648..ddce6072 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -5,9 +5,6 @@ # DBUSMENUQT_INCLUDE_DIR - the dbusmenu-qt include directory # DBUSMENUQT_LIBRARIES - the libraries needed to use dbusmenu-qt # DBUSMENUQT_DEFINITIONS - Compiler switches required for using dbusmenu-qt -# -# use pkg-config to get the directories and then use these values -# in the FIND_PATH() and FIND_LIBRARY() calls # Copyright (c) 2009, Canonical Ltd. # - Author: Aurélien Gâteau @@ -20,27 +17,20 @@ include(FindPackageHandleStandardArgs) -if (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) - # in cache already - set(DBUSMENUQT_FOUND TRUE) -else (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) - if (NOT WIN32) - find_package(PkgConfig) - pkg_check_modules(PC_DBUSMENUQT QUIET dbusmenu-qt) - set(DBUSMENUQT_DEFINITIONS ${PC_DBUSMENUQT_CFLAGS_OTHER}) - endif (NOT WIN32) +find_package(PkgConfig) +pkg_check_modules(PC_DBUSMENUQT QUIET dbusmenu-qt) +set(DBUSMENUQT_DEFINITIONS ${PC_DBUSMENUQT_CFLAGS_OTHER}) + +find_library(DBUSMENUQT_LIBRARIES + NAMES dbusmenu-qt dbusmenu-qtd + HINTS ${PC_DBUSMENUQT_LIBDIR} ${PC_DBUSMENUQT_LIBRARY_DIRS} + ) - find_library(DBUSMENUQT_LIBRARIES - NAMES dbusmenu-qt dbusmenu-qtd - HINTS ${PC_DBUSMENUQT_LIBDIR} ${PC_DBUSMENUQT_LIBRARY_DIRS} - ) +find_path(DBUSMENUQT_INCLUDE_DIR dbusmenuexporter.h + HINTS ${PC_DBUSMENUQT_INCLUDEDIR} ${PC_DBUSMENUQT_INCLUDE_DIRS} + PATH_SUFFIXES dbusmenu-qt + ) - find_path(DBUSMENUQT_INCLUDE_DIR dbusmenuexporter.h - HINTS ${PC_DBUSMENUQT_INCLUDEDIR} ${PC_DBUSMENUQT_INCLUDE_DIRS} - PATH_SUFFIXES dbusmenu-qt - ) - - find_package_handle_standard_args(DBusMenuQt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) +find_package_handle_standard_args(DBusMenuQt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) - mark_as_advanced(DBUSMENUQT_INCLUDE_DIR DBUSMENUQT_LIBRARIES) -endif (DBUSMENUQT_INCLUDE_DIR AND DBUSMENUQT_LIBRARIES) +mark_as_advanced(DBUSMENUQT_INCLUDE_DIR DBUSMENUQT_LIBRARIES) -- cgit v1.2.1 From 453117bee52af37ad1433a318a69fb6718f1465f Mon Sep 17 00:00:00 2001 From: Maks Orlovich Date: Tue, 4 May 2010 19:49:35 +0000 Subject: Provide the URL here, to save people some trouble. svn path=/trunk/KDE/kdelibs/; revision=1122825 --- modules/FindDBusMenuQt.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index ddce6072..b5ca9495 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -31,6 +31,6 @@ find_path(DBUSMENUQT_INCLUDE_DIR dbusmenuexporter.h PATH_SUFFIXES dbusmenu-qt ) -find_package_handle_standard_args(DBusMenuQt DEFAULT_MSG DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) +find_package_handle_standard_args(DBusMenuQt "Could not find dbusmenu-qt; available at http://people.canonical.com/~agateau/dbusmenu/" DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) mark_as_advanced(DBUSMENUQT_INCLUDE_DIR DBUSMENUQT_LIBRARIES) -- cgit v1.2.1 From 03a9bf07f51693c64ff69dd67ebf45010573579a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20G=C3=A2teau?= Date: Tue, 29 Jun 2010 09:55:14 +0000 Subject: Updated libdbusmenu-qt url svn path=/trunk/KDE/kdelibs/; revision=1144002 --- modules/FindDBusMenuQt.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index b5ca9495..82673b7d 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -31,6 +31,6 @@ find_path(DBUSMENUQT_INCLUDE_DIR dbusmenuexporter.h PATH_SUFFIXES dbusmenu-qt ) -find_package_handle_standard_args(DBusMenuQt "Could not find dbusmenu-qt; available at http://people.canonical.com/~agateau/dbusmenu/" DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) +find_package_handle_standard_args(DBusMenuQt "Could not find dbusmenu-qt; available at https://launchpad.net/libdbusmenu-qt/" DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) mark_as_advanced(DBUSMENUQT_INCLUDE_DIR DBUSMENUQT_LIBRARIES) -- cgit v1.2.1 From 16a089bd4b27c65c4b1545c18950d04ed798adc2 Mon Sep 17 00:00:00 2001 From: "Aaron J. Seigo" Date: Sun, 26 Sep 2010 19:56:34 +0000 Subject: support version # svn path=/trunk/KDE/kdelibs/; revision=1180034 --- modules/FindDBusMenuQt.cmake | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index 82673b7d..337a4aff 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -18,18 +18,25 @@ include(FindPackageHandleStandardArgs) find_package(PkgConfig) -pkg_check_modules(PC_DBUSMENUQT QUIET dbusmenu-qt) -set(DBUSMENUQT_DEFINITIONS ${PC_DBUSMENUQT_CFLAGS_OTHER}) - -find_library(DBUSMENUQT_LIBRARIES - NAMES dbusmenu-qt dbusmenu-qtd - HINTS ${PC_DBUSMENUQT_LIBDIR} ${PC_DBUSMENUQT_LIBRARY_DIRS} - ) - -find_path(DBUSMENUQT_INCLUDE_DIR dbusmenuexporter.h - HINTS ${PC_DBUSMENUQT_INCLUDEDIR} ${PC_DBUSMENUQT_INCLUDE_DIRS} - PATH_SUFFIXES dbusmenu-qt - ) +if (DBusMenuQt_FIND_VERSION) + pkg_check_modules(PC_DBUSMENUQT QUIET dbusmenu-qt dbusmenu-qt>=${DBusMenuQt_FIND_VERSION}) +else(DBusMenuQt_FIND_VERSION) + pkg_check_modules(PC_DBUSMENUQT QUIET dbusmenu-qt) +endif(DBusMenuQt_FIND_VERSION) + +if(PC_DBUSMENUQT_FOUND) + set(DBUSMENUQT_DEFINITIONS ${PC_DBUSMENUQT_CFLAGS_OTHER}) + + find_library(DBUSMENUQT_LIBRARIES + NAMES dbusmenu-qt dbusmenu-qtd + HINTS ${PC_DBUSMENUQT_LIBDIR} ${PC_DBUSMENUQT_LIBRARY_DIRS} + ) + + find_path(DBUSMENUQT_INCLUDE_DIR dbusmenuexporter.h + HINTS ${PC_DBUSMENUQT_INCLUDEDIR} ${PC_DBUSMENUQT_INCLUDE_DIRS} + PATH_SUFFIXES dbusmenu-qt + ) +endif(PC_DBUSMENUQT_FOUND) find_package_handle_standard_args(DBusMenuQt "Could not find dbusmenu-qt; available at https://launchpad.net/libdbusmenu-qt/" DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) -- cgit v1.2.1 From 30e0f00e3774a76b4f46f321547fc8c8a4ff0736 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Mon, 27 Sep 2010 20:11:20 +0000 Subject: -detect the version of DBusMenuQt also without pkg-config This commit restores the ability to find DBusMenuQt without using pkg-config, this was broken by the previous commit. Additionally it uses the improved version checking provided by the new mode of find_package_handle_standard_args() Alex CCMAIL: svn path=/trunk/KDE/kdelibs/; revision=1180381 --- modules/FindDBusMenuQt.cmake | 67 ++++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 18 deletions(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index 337a4aff..33b9e113 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -1,10 +1,17 @@ # - Try to find dbusmenu-qt +# This module helps finding an installation of the DBusMenuQt library (see https://launchpad.net/libdbusmenu-qt/) # Once done this will define # # DBUSMENUQT_FOUND - system has dbusmenu-qt # DBUSMENUQT_INCLUDE_DIR - the dbusmenu-qt include directory # DBUSMENUQT_LIBRARIES - the libraries needed to use dbusmenu-qt # DBUSMENUQT_DEFINITIONS - Compiler switches required for using dbusmenu-qt +# +# The minimum required version of DBusMenuQt can be specified using the +# standard syntax, e.g. find_package(DBusMenuQt 0.6) +# +# WARNING: versions below 0.4.0 cannot be checked for. +# So if you want to have a version check, require at least 0.4.0 of dbusmenuqt. # Copyright (c) 2009, Canonical Ltd. # - Author: Aurélien Gâteau @@ -18,26 +25,50 @@ include(FindPackageHandleStandardArgs) find_package(PkgConfig) -if (DBusMenuQt_FIND_VERSION) - pkg_check_modules(PC_DBUSMENUQT QUIET dbusmenu-qt dbusmenu-qt>=${DBusMenuQt_FIND_VERSION}) -else(DBusMenuQt_FIND_VERSION) - pkg_check_modules(PC_DBUSMENUQT QUIET dbusmenu-qt) -endif(DBusMenuQt_FIND_VERSION) +pkg_check_modules(PC_DBUSMENUQT QUIET dbusmenu-qt) + + +set(DBUSMENUQT_DEFINITIONS ${PC_DBUSMENUQT_CFLAGS_OTHER}) + +find_library(DBUSMENUQT_LIBRARIES + NAMES dbusmenu-qt dbusmenu-qtd + HINTS ${PC_DBUSMENUQT_LIBDIR} ${PC_DBUSMENUQT_LIBRARY_DIRS} + ) + +find_path(DBUSMENUQT_INCLUDE_DIR dbusmenuexporter.h + HINTS ${PC_DBUSMENUQT_INCLUDEDIR} ${PC_DBUSMENUQT_INCLUDE_DIRS} + PATH_SUFFIXES dbusmenu-qt + ) + + +# dbusmenu_version.h is installed since 0.4.0, fail if a version below this is required: +if ((DBusMenuQt_FIND_VERSION) AND ("${DBusMenuQt_FIND_VERSION}" VERSION_LESS "0.4.0")) + message(FATAL_ERROR "Cannot check reliably for a DBusMenuQt version below 0.4.0 (${DBusMenuQt_FIND_VERSION} was requested)") +endif ((DBusMenuQt_FIND_VERSION) AND ("${DBusMenuQt_FIND_VERSION}" VERSION_LESS "0.4.0")) + + +# find the version number from dbusmenu_version.h and store it in the cache +if(DBUSMENUQT_INCLUDE_DIR AND NOT DBUSMENUQT_VERSION) + # parse the version number out from dbusmenu_version: + if(EXISTS ${DBUSMENUQT_INCLUDE_DIR}/dbusmenu_version.h) + file(READ "${DBUSMENUQT_INCLUDE_DIR}/dbusmenu_version.h" DBUSMENUQT_VERSION_CONTENT) + + string(REGEX MATCH "\\(\\( *([0-9]+) *<<" _dummy "${DBUSMENUQT_VERSION_CONTENT}") + set(DBUSMENUQT_VERSION_MAJOR "${CMAKE_MATCH_1}") + + string(REGEX MATCH "\\|\\( *([0-9]+) *<<" _dummy "${DBUSMENUQT_VERSION_CONTENT}") + set(DBUSMENUQT_VERSION_MINOR "${CMAKE_MATCH_1}") -if(PC_DBUSMENUQT_FOUND) - set(DBUSMENUQT_DEFINITIONS ${PC_DBUSMENUQT_CFLAGS_OTHER}) + string(REGEX MATCH "\\| *([0-9]+) *\\)" _dummy "${DBUSMENUQT_VERSION_CONTENT}") + set(DBUSMENUQT_VERSION_PATCH "${CMAKE_MATCH_1}") + endif(EXISTS ${DBUSMENUQT_INCLUDE_DIR}/dbusmenu_version.h) - find_library(DBUSMENUQT_LIBRARIES - NAMES dbusmenu-qt dbusmenu-qtd - HINTS ${PC_DBUSMENUQT_LIBDIR} ${PC_DBUSMENUQT_LIBRARY_DIRS} - ) + set(DBUSMENUQT_VERSION "${DBUSMENUQT_VERSION_MAJOR}.${DBUSMENUQT_VERSION_MINOR}.${DBUSMENUQT_VERSION_PATCH}" CACHE STRING "Version number of DBusMenuQt" FORCE) +endif(DBUSMENUQT_INCLUDE_DIR AND NOT DBUSMENUQT_VERSION) - find_path(DBUSMENUQT_INCLUDE_DIR dbusmenuexporter.h - HINTS ${PC_DBUSMENUQT_INCLUDEDIR} ${PC_DBUSMENUQT_INCLUDE_DIRS} - PATH_SUFFIXES dbusmenu-qt - ) -endif(PC_DBUSMENUQT_FOUND) -find_package_handle_standard_args(DBusMenuQt "Could not find dbusmenu-qt; available at https://launchpad.net/libdbusmenu-qt/" DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) +find_package_handle_standard_args(DBusMenuQt REQUIRED_VARS DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR + VERSION_VAR DBUSMENUQT_VERSION) +#"Could not find dbusmenu-qt; available at https://launchpad.net/libdbusmenu-qt/" DBUSMENUQT_LIBRARIES DBUSMENUQT_INCLUDE_DIR) -mark_as_advanced(DBUSMENUQT_INCLUDE_DIR DBUSMENUQT_LIBRARIES) +mark_as_advanced(DBUSMENUQT_INCLUDE_DIR DBUSMENUQT_LIBRARIES DBUSMENUQT_VERSION) -- cgit v1.2.1 From 953529c592d05348e269422564594c1cce84f9bf Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sun, 3 Oct 2010 20:26:24 +0000 Subject: -add support for detecting the version in dbusmenuqt trunk, it's more robust now than it was before Alex svn path=/trunk/KDE/kdelibs/; revision=1182216 --- modules/FindDBusMenuQt.cmake | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'modules/FindDBusMenuQt.cmake') diff --git a/modules/FindDBusMenuQt.cmake b/modules/FindDBusMenuQt.cmake index 33b9e113..5af70ef2 100644 --- a/modules/FindDBusMenuQt.cmake +++ b/modules/FindDBusMenuQt.cmake @@ -53,14 +53,34 @@ if(DBUSMENUQT_INCLUDE_DIR AND NOT DBUSMENUQT_VERSION) if(EXISTS ${DBUSMENUQT_INCLUDE_DIR}/dbusmenu_version.h) file(READ "${DBUSMENUQT_INCLUDE_DIR}/dbusmenu_version.h" DBUSMENUQT_VERSION_CONTENT) - string(REGEX MATCH "\\(\\( *([0-9]+) *<<" _dummy "${DBUSMENUQT_VERSION_CONTENT}") - set(DBUSMENUQT_VERSION_MAJOR "${CMAKE_MATCH_1}") + if ("${DBUSMENUQT_VERSION_CONTENT}" MATCHES "DBUSMENUQT_VERSION_MAJOR") # introduced after 0.6.4, makes this code here more robust - string(REGEX MATCH "\\|\\( *([0-9]+) *<<" _dummy "${DBUSMENUQT_VERSION_CONTENT}") - set(DBUSMENUQT_VERSION_MINOR "${CMAKE_MATCH_1}") + string(REGEX MATCH "#define +DBUSMENUQT_VERSION_MAJOR +([0-9]+)" _dummy "${DBUSMENUQT_VERSION_CONTENT}") + set(DBUSMENUQT_VERSION_MAJOR "${CMAKE_MATCH_1}") - string(REGEX MATCH "\\| *([0-9]+) *\\)" _dummy "${DBUSMENUQT_VERSION_CONTENT}") - set(DBUSMENUQT_VERSION_PATCH "${CMAKE_MATCH_1}") + string(REGEX MATCH "#define +DBUSMENUQT_VERSION_MINOR +([0-9]+)" _dummy "${DBUSMENUQT_VERSION_CONTENT}") + set(DBUSMENUQT_VERSION_MINOR "${CMAKE_MATCH_1}") + + string(REGEX MATCH "#define +DBUSMENUQT_VERSION_PATCH +([0-9]+)" _dummy "${DBUSMENUQT_VERSION_CONTENT}") + set(DBUSMENUQT_VERSION_PATCH "${CMAKE_MATCH_1}") + + else("${DBUSMENUQT_VERSION_CONTENT}" MATCHES "DBUSMENUQT_VERSION_MAJOR") + # In versions up to 0.6.4, the code for setting the version number in the header looked like + # shopw below. This made version checking quite un-obvious: + # #define DBUSMENUQT_VERSION \ + # ((0 << 16) \ + # |(6 << 8) \ + # |4) + + string(REGEX MATCH "\\(\\( *([0-9]+) *<<" _dummy "${DBUSMENUQT_VERSION_CONTENT}") + set(DBUSMENUQT_VERSION_MAJOR "${CMAKE_MATCH_1}") + + string(REGEX MATCH "\\|\\( *([0-9]+) *<<" _dummy "${DBUSMENUQT_VERSION_CONTENT}") + set(DBUSMENUQT_VERSION_MINOR "${CMAKE_MATCH_1}") + + string(REGEX MATCH "\\| *([0-9]+) *\\)" _dummy "${DBUSMENUQT_VERSION_CONTENT}") + set(DBUSMENUQT_VERSION_PATCH "${CMAKE_MATCH_1}") + endif("${DBUSMENUQT_VERSION_CONTENT}" MATCHES "DBUSMENUQT_VERSION_MAJOR") endif(EXISTS ${DBUSMENUQT_INCLUDE_DIR}/dbusmenu_version.h) set(DBUSMENUQT_VERSION "${DBUSMENUQT_VERSION_MAJOR}.${DBUSMENUQT_VERSION_MINOR}.${DBUSMENUQT_VERSION_PATCH}" CACHE STRING "Version number of DBusMenuQt" FORCE) -- cgit v1.2.1