From 8d88fdf2461f7fe521ba2a4da945ed670557eb13 Mon Sep 17 00:00:00 2001 From: Dario Freddi Date: Mon, 31 Aug 2009 00:25:55 +0000 Subject: CCMAIL: nicola.gigante@gmail.com Merging the KAuth framework, part of Nicola's GSoC project, into KDELibs svn path=/trunk/KDE/kdelibs/; revision=1017607 --- modules/FindPolkitQt.cmake | 85 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 modules/FindPolkitQt.cmake (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake new file mode 100644 index 00000000..bf3980a9 --- /dev/null +++ b/modules/FindPolkitQt.cmake @@ -0,0 +1,85 @@ +# - Try to find Polkit-qt +# Once done this will define +# +# POLKITQT_FOUND - system has Polkit-qt +# POLKITQT_INCLUDE_DIR - the Polkit-qt include directory +# POLKITQT_LIBRARIES - Link these to use all Polkit-qt libs +# POLKITQT_CORE_LIBRARY +# POLKITQT_GUI_LIBRARY +# POLKITQT_DEFINITIONS - Compiler switches required for using Polkit-qt + +# Copyright (c) 2008, Adrien Bustany, +# Copyright (c) 2009, Daniel Nicoletti, +# Copyright (c) 2009, Dario Freddi, +# Copyright (c) 2009, Michal Malek, +# +# Redistribution and use is allowed according to the terms of the GPLv2+ license. + +if (POLKITQT_INCLUDE_DIR AND POLKITQT_LIB) + set(POLKITQT_FIND_QUIETLY TRUE) +endif (POLKITQT_INCLUDE_DIR AND POLKITQT_LIB) + +include(FindPkgConfig) + +if (NOT POLKITQT_MIN_VERSION) + set(POLKITQT_MIN_VERSION "0.9.0") +endif (NOT POLKITQT_MIN_VERSION) + +pkg_search_module( POLKITQT polkit-qt ) + +if (POLKITQT_FOUND) + if (POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) + message(STATUS "Found Polkit-Qt release < ${POLKITQT_MIN_VERSION}") + message(STATUS "You need Polkit-Qt version ${POLKITQT_MIN_VERSION} or newer to compile this component") + set(POLKITQT_FOUND FALSE) + return() + else (POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) + message(STATUS "Found Polkit-Qt release >= ${POLKITQT_MIN_VERSION}") + endif (POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) +else (POLKITQT_FOUND) + set(POLKITQT_FOUND FALSE) + message(STATUS "Cannot find Polkit-Qt library!") + return() +endif (POLKITQT_FOUND) + + +# find_path( POLKITQT_INCLUDE_DIR PolicyKit/policykit-qt/Polkit-qt ) +find_path( POLKITQT_INCLUDE_DIR PolicyKit/polkit-qt/ ) + +find_library( POLKITQT_CORE_LIBRARY NAMES polkit-qt-core ) +find_library( POLKITQT_GUI_LIBRARY NAMES polkit-qt-gui ) + +if (POLKITQT_INCLUDE_DIR AND POLKITQT_CORE_LIBRARY AND POLKITQT_GUI_LIBRARY) + set(POLKITQT_FOUND TRUE) +else (POLKITQT_INCLUDE_DIR AND POLKITQT_CORE_LIBRARY AND POLKITQT_GUI_LIBRARY) + set(POLKITQT_FOUND FALSE) +endif (POLKITQT_INCLUDE_DIR AND POLKITQT_CORE_LIBRARY AND POLKITQT_GUI_LIBRARY) + +set(POLKITQT_LIBRARIES ${POLKITQT_CORE_LIBRARY} ${POLKITQT_GUI_LIBRARY}) + +set(POLKITQT_INCLUDE_DIR ${POLKITQT_INCLUDE_DIR}/PolicyKit/polkit-qt ${POLKITQT_INCLUDE_DIR}/PolicyKit/) + +set(POLICY_FILES_INSTALL_DIR ${POLKITQT_PREFIX}/share/PolicyKit/policy/) + +if (POLKITQT_FOUND) + if (NOT POLKITQT_FIND_QUIETLY) + message(STATUS "Found Polkit-Qt: ${POLKITQT_LIBRARIES}") + endif (NOT POLKITQT_FIND_QUIETLY) +else (POLKITQT_FOUND) + if (POLKITQT_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find Polkit-Qt") + endif (POLKITQT_FIND_REQUIRED) +endif (POLKITQT_FOUND) + +mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_LIB) + +macro(dbus_add_activation_system_service _sources) + pkg_search_module( DBUS dbus-1 ) + foreach (_i ${_sources}) + get_filename_component(_service_file ${_i} ABSOLUTE) + string(REGEX REPLACE "\\.service.*$" ".service" _output_file ${_i}) + set(_target ${CMAKE_CURRENT_BINARY_DIR}/${_output_file}) + configure_file(${_service_file} ${_target}) + install(FILES ${_target} DESTINATION ${DBUS_PREFIX}/share/dbus-1/system-services ) + endforeach (_i ${ARGN}) +endmacro(dbus_add_activation_system_service _sources) -- cgit v1.2.1 From 567b97273ad4f922c8b9e7a2a00595a679d082f6 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 1 Sep 2009 12:10:26 +0000 Subject: Reapply the patch I applied to FindPolkitQt when it was in kdebase svn path=/trunk/KDE/kdelibs/; revision=1018181 --- modules/FindPolkitQt.cmake | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index bf3980a9..c3f7ca67 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -44,10 +44,19 @@ endif (POLKITQT_FOUND) # find_path( POLKITQT_INCLUDE_DIR PolicyKit/policykit-qt/Polkit-qt ) -find_path( POLKITQT_INCLUDE_DIR PolicyKit/polkit-qt/ ) - -find_library( POLKITQT_CORE_LIBRARY NAMES polkit-qt-core ) -find_library( POLKITQT_GUI_LIBRARY NAMES polkit-qt-gui ) +find_path( POLKITQT_INCLUDE_DIR + NAMES PolicyKit/polkit-qt/ + HINTS ${POLKITQT_INCLUDEDIR} +) + +find_library( POLKITQT_CORE_LIBRARY + NAMES polkit-qt-core + HINTS ${POLKITQT_LIBDIR} +) +find_library( POLKITQT_GUI_LIBRARY + NAMES polkit-qt-gui + HINTS ${POLKITQT_LIBDIR} +) if (POLKITQT_INCLUDE_DIR AND POLKITQT_CORE_LIBRARY AND POLKITQT_GUI_LIBRARY) set(POLKITQT_FOUND TRUE) -- cgit v1.2.1 From 8b60db93fb12e104abb0ef8537cbf662c6979ea2 Mon Sep 17 00:00:00 2001 From: Dario Freddi Date: Wed, 2 Sep 2009 09:44:45 +0000 Subject: Fix installation prefix, still need to spit a warning svn path=/trunk/KDE/kdelibs/; revision=1018860 --- modules/FindPolkitQt.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index c3f7ca67..d6253cc7 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -68,7 +68,10 @@ set(POLKITQT_LIBRARIES ${POLKITQT_CORE_LIBRARY} ${POLKITQT_GUI_LIBRARY}) set(POLKITQT_INCLUDE_DIR ${POLKITQT_INCLUDE_DIR}/PolicyKit/polkit-qt ${POLKITQT_INCLUDE_DIR}/PolicyKit/) -set(POLICY_FILES_INSTALL_DIR ${POLKITQT_PREFIX}/share/PolicyKit/policy/) +#if (POLKITQT_PREFIX != ${CMAKE_INSTALL_PREFIX}) +#message("Warning: Move polkit files to /usr prefix") +#endif() +set(POLICY_FILES_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/PolicyKit/policy/) if (POLKITQT_FOUND) if (NOT POLKITQT_FIND_QUIETLY) -- cgit v1.2.1 From 417dd868bbc34407f31dfa8632492b4cafa17950 Mon Sep 17 00:00:00 2001 From: Dario Freddi Date: Wed, 2 Sep 2009 18:50:05 +0000 Subject: Spit a warning on cmake when polkit-qt is found with a different install prefix than POLKITQT_PREFIX. I will also add warnings when installing files svn path=/trunk/KDE/kdelibs/; revision=1019066 --- modules/FindPolkitQt.cmake | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index d6253cc7..c06b38c7 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -35,6 +35,10 @@ if (POLKITQT_FOUND) return() else (POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) message(STATUS "Found Polkit-Qt release >= ${POLKITQT_MIN_VERSION}") + if (NOT(POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX)) + message("WARNING: Installation prefix does not match PolicyKit install prefixes. You probably will need to move files installed " + "in POLICY_FILES_INSTALL_DIR and by dbus_add_activation_system_service to the ${POLKITQT_PREFIX} prefix") + endif (NOT(POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX)) endif (POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) else (POLKITQT_FOUND) set(POLKITQT_FOUND FALSE) -- cgit v1.2.1 From 60320ce756a0bcdf2f86549c43b308fd8f1daae2 Mon Sep 17 00:00:00 2001 From: John Tapsell Date: Wed, 2 Sep 2009 21:36:40 +0000 Subject: Fix compile problem, by changing IF(NOT( to IF( NOT svn path=/trunk/KDE/kdelibs/; revision=1019111 --- modules/FindPolkitQt.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index c06b38c7..b445b2e8 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -35,10 +35,10 @@ if (POLKITQT_FOUND) return() else (POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) message(STATUS "Found Polkit-Qt release >= ${POLKITQT_MIN_VERSION}") - if (NOT(POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX)) + if ( NOT POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX ) message("WARNING: Installation prefix does not match PolicyKit install prefixes. You probably will need to move files installed " "in POLICY_FILES_INSTALL_DIR and by dbus_add_activation_system_service to the ${POLKITQT_PREFIX} prefix") - endif (NOT(POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX)) + endif (NOT POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX) endif (POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) else (POLKITQT_FOUND) set(POLKITQT_FOUND FALSE) -- cgit v1.2.1 From f2aab6c074c4f965941e7e02ed6a5f24ad8871bc Mon Sep 17 00:00:00 2001 From: Dario Freddi Date: Mon, 7 Sep 2009 10:28:45 +0000 Subject: CCMAIL:kde-buildsystem@kde.org CCMAIL:mueller@kde.org CCMAIL:neundorf@kde.org Commit coming after a long discussion with Alexander. Changing and moving KAuth macros, updating documentation, fixing stuff that already used KAuth. Also, bumping up KDE revision, KDE4WORKSPACE revision and make kdebase/workspace depend on the new 4.3.68 snapshot. Mail me if you find anything strange, it's my first KDE version bump, so you know ;) A big thank you to Alexander for all the help he gave on the cmake side of life. svn path=/trunk/KDE/kdelibs/; revision=1020835 --- modules/FindPolkitQt.cmake | 100 ++++++++++++++++----------------------------- 1 file changed, 36 insertions(+), 64 deletions(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index b445b2e8..500b69d3 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -4,98 +4,70 @@ # POLKITQT_FOUND - system has Polkit-qt # POLKITQT_INCLUDE_DIR - the Polkit-qt include directory # POLKITQT_LIBRARIES - Link these to use all Polkit-qt libs -# POLKITQT_CORE_LIBRARY -# POLKITQT_GUI_LIBRARY +# POLKITQT_CORE_LIBRARY - Link this to use the polkit-qt-core library only +# POLKITQT_GUI_LIBRARY - Link this to use GUI elements in polkit-qt (polkit-qt-gui) # POLKITQT_DEFINITIONS - Compiler switches required for using Polkit-qt -# Copyright (c) 2008, Adrien Bustany, # Copyright (c) 2009, Daniel Nicoletti, # Copyright (c) 2009, Dario Freddi, # Copyright (c) 2009, Michal Malek, # -# Redistribution and use is allowed according to the terms of the GPLv2+ license. +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. if (POLKITQT_INCLUDE_DIR AND POLKITQT_LIB) set(POLKITQT_FIND_QUIETLY TRUE) endif (POLKITQT_INCLUDE_DIR AND POLKITQT_LIB) -include(FindPkgConfig) - if (NOT POLKITQT_MIN_VERSION) set(POLKITQT_MIN_VERSION "0.9.0") endif (NOT POLKITQT_MIN_VERSION) -pkg_search_module( POLKITQT polkit-qt ) - -if (POLKITQT_FOUND) - if (POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) - message(STATUS "Found Polkit-Qt release < ${POLKITQT_MIN_VERSION}") - message(STATUS "You need Polkit-Qt version ${POLKITQT_MIN_VERSION} or newer to compile this component") - set(POLKITQT_FOUND FALSE) - return() - else (POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) - message(STATUS "Found Polkit-Qt release >= ${POLKITQT_MIN_VERSION}") - if ( NOT POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX ) - message("WARNING: Installation prefix does not match PolicyKit install prefixes. You probably will need to move files installed " - "in POLICY_FILES_INSTALL_DIR and by dbus_add_activation_system_service to the ${POLKITQT_PREFIX} prefix") - endif (NOT POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX) - endif (POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) -else (POLKITQT_FOUND) - set(POLKITQT_FOUND FALSE) - message(STATUS "Cannot find Polkit-Qt library!") - return() -endif (POLKITQT_FOUND) - +if (NOT WIN32) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + find_package(PkgConfig) + pkg_check_modules(PC_POLKITQT QUIET polkit-qt) + set(POLKITQT_DEFINITIONS ${PC_POLKITQT_CFLAGS_OTHER}) +endif (NOT WIN32) -# find_path( POLKITQT_INCLUDE_DIR PolicyKit/policykit-qt/Polkit-qt ) find_path( POLKITQT_INCLUDE_DIR - NAMES PolicyKit/polkit-qt/ - HINTS ${POLKITQT_INCLUDEDIR} + NAMES polkit-qt/auth.h + PATH_SUFFIXES PolicyKit ) - find_library( POLKITQT_CORE_LIBRARY NAMES polkit-qt-core - HINTS ${POLKITQT_LIBDIR} + HINTS ${PC_POLKITQT_LIBDIR} ) find_library( POLKITQT_GUI_LIBRARY NAMES polkit-qt-gui - HINTS ${POLKITQT_LIBDIR} + HINTS ${PC_POLKITQT_LIBDIR} +) +find_library( POLKITQT_LIBRARIES + NAMES polkit-qt-gui polkit-qt-core + HINTS ${PC_POLKITQT_LIBDIR} ) -if (POLKITQT_INCLUDE_DIR AND POLKITQT_CORE_LIBRARY AND POLKITQT_GUI_LIBRARY) - set(POLKITQT_FOUND TRUE) -else (POLKITQT_INCLUDE_DIR AND POLKITQT_CORE_LIBRARY AND POLKITQT_GUI_LIBRARY) - set(POLKITQT_FOUND FALSE) -endif (POLKITQT_INCLUDE_DIR AND POLKITQT_CORE_LIBRARY AND POLKITQT_GUI_LIBRARY) - -set(POLKITQT_LIBRARIES ${POLKITQT_CORE_LIBRARY} ${POLKITQT_GUI_LIBRARY}) +include(FindPackageHandleStandardArgs) -set(POLKITQT_INCLUDE_DIR ${POLKITQT_INCLUDE_DIR}/PolicyKit/polkit-qt ${POLKITQT_INCLUDE_DIR}/PolicyKit/) +# handle the QUIETLY and REQUIRED arguments and set POLKITQT_FOUND to TRUE if +# all listed variables are TRUE +find_package_handle_standard_args(PolkitQt DEFAULT_MSG POLKITQT_LIBRARIES POLKITQT_INCLUDE_DIR) -#if (POLKITQT_PREFIX != ${CMAKE_INSTALL_PREFIX}) -#message("Warning: Move polkit files to /usr prefix") -#endif() -set(POLICY_FILES_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/PolicyKit/policy/) +mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_CORE_LIBRARY POLKITQT_GUI_LIBRARY POLKITQT_LIBRARIES) if (POLKITQT_FOUND) - if (NOT POLKITQT_FIND_QUIETLY) - message(STATUS "Found Polkit-Qt: ${POLKITQT_LIBRARIES}") - endif (NOT POLKITQT_FIND_QUIETLY) -else (POLKITQT_FOUND) - if (POLKITQT_FIND_REQUIRED) - message(FATAL_ERROR "Could NOT find Polkit-Qt") - endif (POLKITQT_FIND_REQUIRED) + if (PC_POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) + message(STATUS "Found Polkit-Qt release < ${POLKITQT_MIN_VERSION}") + message(STATUS "You need Polkit-Qt version ${POLKITQT_MIN_VERSION} or newer to compile this component") + set(POLKITQT_FOUND FALSE) + return() + else (PC_POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) + if ( NOT PC_POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX ) + message("WARNING: Installation prefix does not match PolicyKit install prefixes. You probably will need to move files installed " + "in POLICY_FILES_INSTALL_DIR and by dbus_add_activation_system_service to the ${PC_POLKITQT_PREFIX} prefix") + endif (NOT PC_POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX) + endif (PC_POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) endif (POLKITQT_FOUND) -mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_LIB) - -macro(dbus_add_activation_system_service _sources) - pkg_search_module( DBUS dbus-1 ) - foreach (_i ${_sources}) - get_filename_component(_service_file ${_i} ABSOLUTE) - string(REGEX REPLACE "\\.service.*$" ".service" _output_file ${_i}) - set(_target ${CMAKE_CURRENT_BINARY_DIR}/${_output_file}) - configure_file(${_service_file} ${_target}) - install(FILES ${_target} DESTINATION ${DBUS_PREFIX}/share/dbus-1/system-services ) - endforeach (_i ${ARGN}) -endmacro(dbus_add_activation_system_service _sources) +set(POLKITQT_POLICY_FILES_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/PolicyKit/policy/) -- cgit v1.2.1 From be0e83737f286af129d5d50afdd36985833c6cfd Mon Sep 17 00:00:00 2001 From: Laurent Montel Date: Tue, 8 Sep 2009 06:43:36 +0000 Subject: Fix define POLKITQT_LIBRARIES svn path=/trunk/KDE/kdelibs/; revision=1021102 --- modules/FindPolkitQt.cmake | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index 500b69d3..8f52b10f 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -43,10 +43,7 @@ find_library( POLKITQT_GUI_LIBRARY NAMES polkit-qt-gui HINTS ${PC_POLKITQT_LIBDIR} ) -find_library( POLKITQT_LIBRARIES - NAMES polkit-qt-gui polkit-qt-core - HINTS ${PC_POLKITQT_LIBDIR} -) +set(POLKITQT_LIBRARIES ${POLKITQT_GUI_LIBRARY} ${POLKITQT_CORE_LIBRARY}) include(FindPackageHandleStandardArgs) -- cgit v1.2.1 From b99cd4a967d0460ed8b02f5cf07f56285a28fdd8 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sat, 21 Nov 2009 23:33:57 +0000 Subject: -improve documentation -rely less on pkgconfig -honor PolkitQt_FIND_REQUIRED properly -POLKITQT_LIBRARIES doesn't have to be ADVANCED, since it is not in the cache at all -the variable POLKITQT_LIB does not exist Alex svn path=/trunk/KDE/kdelibs/; revision=1052520 --- modules/FindPolkitQt.cmake | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index 8f52b10f..922968a3 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -7,17 +7,22 @@ # POLKITQT_CORE_LIBRARY - Link this to use the polkit-qt-core library only # POLKITQT_GUI_LIBRARY - Link this to use GUI elements in polkit-qt (polkit-qt-gui) # POLKITQT_DEFINITIONS - Compiler switches required for using Polkit-qt +# POLKITQT_POLICY_FILES_INSTALL_DIR - The directory where policy files should be installed to. +# +# The minimum required version PolkitQt can be specified by setting the +# POLKITQT_MIN_VERSION variable. # Copyright (c) 2009, Daniel Nicoletti, # Copyright (c) 2009, Dario Freddi, # Copyright (c) 2009, Michal Malek, +# Copyright (c) 2009, Alexander Neundorf, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. -if (POLKITQT_INCLUDE_DIR AND POLKITQT_LIB) - set(POLKITQT_FIND_QUIETLY TRUE) -endif (POLKITQT_INCLUDE_DIR AND POLKITQT_LIB) +if (POLKITQT_INCLUDE_DIR AND POLKITQT_GUI_LIBRARY AND POLKITQT_CORE_LIBRARY) + set(PolkitQt_FIND_QUIETLY TRUE) +endif (POLKITQT_INCLUDE_DIR AND POLKITQT_GUI_LIBRARY AND POLKITQT_CORE_LIBRARY) if (NOT POLKITQT_MIN_VERSION) set(POLKITQT_MIN_VERSION "0.9.0") @@ -49,22 +54,29 @@ include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set POLKITQT_FOUND to TRUE if # all listed variables are TRUE -find_package_handle_standard_args(PolkitQt DEFAULT_MSG POLKITQT_LIBRARIES POLKITQT_INCLUDE_DIR) +find_package_handle_standard_args(PolkitQt DEFAULT_MSG POLKITQT_INCLUDE_DIR POLKITQT_GUI_LIBRARY POLKITQT_CORE_LIBRARY) mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_CORE_LIBRARY POLKITQT_GUI_LIBRARY POLKITQT_LIBRARIES) if (POLKITQT_FOUND) if (PC_POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) - message(STATUS "Found Polkit-Qt release < ${POLKITQT_MIN_VERSION}") - message(STATUS "You need Polkit-Qt version ${POLKITQT_MIN_VERSION} or newer to compile this component") + if(PolkitQt_FIND_REQUIRED) + message(FATAL_ERROR "Found Polkit-Qt release ${PC_POLKITQT_VERSION}, but at least ${POLKITQT_MIN_VERSION} is required.") + else(PolkitQt_FIND_REQUIRED) + message(STATUS "Found Polkit-Qt release ${PC_POLKITQT_VERSION}, but at least ${POLKITQT_MIN_VERSION} is required.") + endif(PolkitQt_FIND_REQUIRED) set(POLKITQT_FOUND FALSE) - return() - else (PC_POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) - if ( NOT PC_POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX ) - message("WARNING: Installation prefix does not match PolicyKit install prefixes. You probably will need to move files installed " - "in POLICY_FILES_INSTALL_DIR and by dbus_add_activation_system_service to the ${PC_POLKITQT_PREFIX} prefix") - endif (NOT PC_POLKITQT_PREFIX STREQUAL CMAKE_INSTALL_PREFIX) endif (PC_POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) endif (POLKITQT_FOUND) -set(POLKITQT_POLICY_FILES_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/PolicyKit/policy/) + +if(POLKITQT_FOUND) + get_filename_component(_POLKITQT_INSTALL_PREFIX "${POLKITQT_CORE_LIBRARY}" PATH) + get_filename_component(_POLKITQT_INSTALL_PREFIX "${_POLKITQT_INSTALL_PREFIX}" PATH) + if ( NOT _POLKITQT_INSTALL_PREFIX STREQUAL CMAKE_INSTALL_PREFIX ) + message("WARNING: Installation prefix does not match PolicyKit install prefixes. You probably will need to move files installed " + "in ${CMAKE_INSTALL_PREFIX}/${POLKITQT_POLICY_FILES_INSTALL_DIR} and by dbus_add_activation_system_service to the ${_POLKITQT_INSTALL_PREFIX}/${POLKITQT_POLICY_FILES_INSTALL_DIR} prefix") + endif (NOT _POLKITQT_INSTALL_PREFIX STREQUAL CMAKE_INSTALL_PREFIX) +endif(POLKITQT_FOUND) + +set(POLKITQT_POLICY_FILES_INSTALL_DIR share/PolicyKit/policy/) -- cgit v1.2.1 From 701ce8260d794ed1f8b86782603f923e9afa1e0a Mon Sep 17 00:00:00 2001 From: Dario Freddi Date: Tue, 22 Dec 2009 19:45:00 +0000 Subject: CCMAIL: ossi@kde.org CCMAIL: kde-buildsystem@kde.org Fix FindPolkitQt*.cmake to avoid requiring pkgconfig to check for version. This makes trunk optdepends on the new polkit-qt 0.9.3 and polkit-qt-1 0.95.1, which will be released shortly. Also, the polkit-1 backend has been ported to the stable API of Polkit-qt-1 0.95.1 svn path=/trunk/KDE/kdelibs/; revision=1065226 --- modules/FindPolkitQt.cmake | 50 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 15 deletions(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index 922968a3..b6f883f9 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -25,7 +25,7 @@ if (POLKITQT_INCLUDE_DIR AND POLKITQT_GUI_LIBRARY AND POLKITQT_CORE_LIBRARY) endif (POLKITQT_INCLUDE_DIR AND POLKITQT_GUI_LIBRARY AND POLKITQT_CORE_LIBRARY) if (NOT POLKITQT_MIN_VERSION) - set(POLKITQT_MIN_VERSION "0.9.0") + set(POLKITQT_MIN_VERSION "0.9.3") endif (NOT POLKITQT_MIN_VERSION) if (NOT WIN32) @@ -40,6 +40,38 @@ find_path( POLKITQT_INCLUDE_DIR NAMES polkit-qt/auth.h PATH_SUFFIXES PolicyKit ) + +find_path( POLKITQT_VERSION_FILE + NAMES polkit-qt/polkitqtversion.h + PATH_SUFFIXES PolicyKit +) + +set(POLKITQT_VERSION_OK TRUE) +if(POLKITQT_VERSION_FILE) + file(READ ${POLKITQT_INCLUDE_DIR}/polkit-qt/polkitqtversion.h POLKITQT_VERSION_CONTENT) + string (REGEX MATCH "POLKITQT_VERSION_STRING \".*\"\n" POLKITQT_VERSION_MATCH "${POLKITQT_VERSION_CONTENT}") + + if(POLKITQT_VERSION_MATCH) + string(REGEX REPLACE "POLKITQT_VERSION_STRING \"(.*)\"\n" "\\1" POLKITQT_VERSION ${POLKITQT_VERSION_MATCH}) + if(POLKITQT_VERSION STRLESS "${POLKITQT_MIN_VERSION}") + set(POLKITQT_VERSION_OK FALSE) + if(PolkitQt_FIND_REQUIRED) + message(FATAL_ERROR "PolkitQt version ${POLKITQT_VERSION} was found, but it is too old. Please install ${POLKITQT_MIN_VERSION} or newer.") + else(PolkitQt_FIND_REQUIRED) + message(STATUS "PolkitQt version ${POLKITQT_VERSION} is too old. Please install ${POLKITQT_MIN_VERSION} or newer.") + endif(PolkitQt_FIND_REQUIRED) + endif(POLKITQT_VERSION STRLESS "${POLKITQT_MIN_VERSION}") + endif(POLKITQT_VERSION_MATCH) +elseif(POLKITQT_INCLUDE_DIR) + # The version is so old that it does not even have the file + set(POLKITQT_VERSION_OK FALSE) + if(PolkitQt_FIND_REQUIRED) + message(FATAL_ERROR "It looks like PolkitQt is too old. Please install PolkitQt version ${POLKITQT_MIN_VERSION} or newer.") + else(PolkitQt_FIND_REQUIRED) + message(STATUS "It looks like PolkitQt is too old. Please install PolkitQt version ${POLKITQT_MIN_VERSION} or newer.") + endif(PolkitQt_FIND_REQUIRED) +endif(POLKITQT_VERSION_FILE) + find_library( POLKITQT_CORE_LIBRARY NAMES polkit-qt-core HINTS ${PC_POLKITQT_LIBDIR} @@ -54,21 +86,9 @@ include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set POLKITQT_FOUND to TRUE if # all listed variables are TRUE -find_package_handle_standard_args(PolkitQt DEFAULT_MSG POLKITQT_INCLUDE_DIR POLKITQT_GUI_LIBRARY POLKITQT_CORE_LIBRARY) - -mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_CORE_LIBRARY POLKITQT_GUI_LIBRARY POLKITQT_LIBRARIES) - -if (POLKITQT_FOUND) - if (PC_POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) - if(PolkitQt_FIND_REQUIRED) - message(FATAL_ERROR "Found Polkit-Qt release ${PC_POLKITQT_VERSION}, but at least ${POLKITQT_MIN_VERSION} is required.") - else(PolkitQt_FIND_REQUIRED) - message(STATUS "Found Polkit-Qt release ${PC_POLKITQT_VERSION}, but at least ${POLKITQT_MIN_VERSION} is required.") - endif(PolkitQt_FIND_REQUIRED) - set(POLKITQT_FOUND FALSE) - endif (PC_POLKITQT_VERSION VERSION_LESS POLKITQT_MIN_VERSION) -endif (POLKITQT_FOUND) +find_package_handle_standard_args(PolkitQt DEFAULT_MSG POLKITQT_INCLUDE_DIR POLKITQT_GUI_LIBRARY POLKITQT_CORE_LIBRARY POLKITQT_VERSION_OK) +mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_CORE_LIBRARY POLKITQT_GUI_LIBRARY POLKITQT_LIBRARIES POLKITQT_VERSION_OK) if(POLKITQT_FOUND) get_filename_component(_POLKITQT_INSTALL_PREFIX "${POLKITQT_CORE_LIBRARY}" PATH) -- cgit v1.2.1 From cb43713608b19412095db8f883fef4584aa592d4 Mon Sep 17 00:00:00 2001 From: Dario Freddi Date: Thu, 24 Dec 2009 12:17:27 +0000 Subject: CCMAIL: neundorf@kde.org Strange indeed. I applied your patch, but to make it work I had to change the find_path calls with find_file, which actually makes more sense, also. They both work here (but the previous method worked too), let's see how CDash likes this. Ah, let me remind you of this: http://mail.kde.org/pipermail/kde-buildsystem/2009-December/006459.html it's quite critical and should be solved before 4.4 release. Merry christmas and a happy new year svn path=/trunk/KDE/kdelibs/; revision=1065822 --- modules/FindPolkitQt.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index b6f883f9..8f9f712f 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -41,14 +41,14 @@ find_path( POLKITQT_INCLUDE_DIR PATH_SUFFIXES PolicyKit ) -find_path( POLKITQT_VERSION_FILE - NAMES polkit-qt/polkitqtversion.h - PATH_SUFFIXES PolicyKit +find_file( POLKITQT_VERSION_FILE + polkit-qt/polkitqtversion.h + PATHS ${POLKITQT_INCLUDE_DIR} ) set(POLKITQT_VERSION_OK TRUE) if(POLKITQT_VERSION_FILE) - file(READ ${POLKITQT_INCLUDE_DIR}/polkit-qt/polkitqtversion.h POLKITQT_VERSION_CONTENT) + file(READ ${POLKITQT_VERSION_FILE} POLKITQT_VERSION_CONTENT) string (REGEX MATCH "POLKITQT_VERSION_STRING \".*\"\n" POLKITQT_VERSION_MATCH "${POLKITQT_VERSION_CONTENT}") if(POLKITQT_VERSION_MATCH) -- cgit v1.2.1 From fac974adfa9f3a9f0b44355ac2e6a4301905d4fa Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Wed, 13 Jan 2010 18:45:13 +0000 Subject: -break mark_as_advanced into multiple lines to improve readability (also for patches) Alex svn path=/trunk/KDE/kdelibs/; revision=1074258 --- modules/FindPolkitQt.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index 8f9f712f..d2431806 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -88,7 +88,12 @@ include(FindPackageHandleStandardArgs) # all listed variables are TRUE find_package_handle_standard_args(PolkitQt DEFAULT_MSG POLKITQT_INCLUDE_DIR POLKITQT_GUI_LIBRARY POLKITQT_CORE_LIBRARY POLKITQT_VERSION_OK) -mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_CORE_LIBRARY POLKITQT_GUI_LIBRARY POLKITQT_LIBRARIES POLKITQT_VERSION_OK) +mark_as_advanced(POLKITQT_INCLUDE_DIR + POLKITQT_CORE_LIBRARY + POLKITQT_GUI_LIBRARY + POLKITQT_LIBRARIES + POLKITQT_VERSION_OK + ) if(POLKITQT_FOUND) get_filename_component(_POLKITQT_INSTALL_PREFIX "${POLKITQT_CORE_LIBRARY}" PATH) -- cgit v1.2.1 From f04076a5ddcf0a551b8a45e0e11c9e0ee353e82d Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Wed, 13 Jan 2010 18:50:07 +0000 Subject: -don't try to mark non-cache variables as advanced -mark VERSION_FILE as advanced (part of the patch from Dario) Alex CCMAIL: drf54321@gmail.com svn path=/trunk/KDE/kdelibs/; revision=1074260 --- modules/FindPolkitQt.cmake | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index d2431806..84a2b8b5 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -91,8 +91,7 @@ find_package_handle_standard_args(PolkitQt DEFAULT_MSG POLKITQT_INCLUDE_DIR PO mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_CORE_LIBRARY POLKITQT_GUI_LIBRARY - POLKITQT_LIBRARIES - POLKITQT_VERSION_OK + POLKITQT_VERSION_FILE ) if(POLKITQT_FOUND) -- cgit v1.2.1 From 0880baff9889f1cc0d23ea04202fbace9d1f3587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kcen=20Eraslan?= Date: Tue, 6 Apr 2010 11:39:44 +0000 Subject: Define variable above lines which use that variable. svn path=/trunk/KDE/kdelibs/; revision=1111662 --- modules/FindPolkitQt.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index 84a2b8b5..e46f286d 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -94,6 +94,8 @@ mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_VERSION_FILE ) +set(POLKITQT_POLICY_FILES_INSTALL_DIR share/PolicyKit/policy/) + if(POLKITQT_FOUND) get_filename_component(_POLKITQT_INSTALL_PREFIX "${POLKITQT_CORE_LIBRARY}" PATH) get_filename_component(_POLKITQT_INSTALL_PREFIX "${_POLKITQT_INSTALL_PREFIX}" PATH) @@ -103,4 +105,3 @@ if(POLKITQT_FOUND) endif (NOT _POLKITQT_INSTALL_PREFIX STREQUAL CMAKE_INSTALL_PREFIX) endif(POLKITQT_FOUND) -set(POLKITQT_POLICY_FILES_INSTALL_DIR share/PolicyKit/policy/) -- cgit v1.2.1 From 0dce2cd2eb81be663d5f97d4d0bc11b4e4abc42d Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sun, 26 Sep 2010 12:00:08 +0000 Subject: -improved version checking using the new syntax of Find_package_handle_standard_args() Alex svn path=/trunk/KDE/kdelibs/; revision=1179891 --- modules/FindPolkitQt.cmake | 65 +++++++++++++++++++--------------------------- 1 file changed, 26 insertions(+), 39 deletions(-) (limited to 'modules/FindPolkitQt.cmake') diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake index e46f286d..3f9db5a0 100644 --- a/modules/FindPolkitQt.cmake +++ b/modules/FindPolkitQt.cmake @@ -9,8 +9,9 @@ # POLKITQT_DEFINITIONS - Compiler switches required for using Polkit-qt # POLKITQT_POLICY_FILES_INSTALL_DIR - The directory where policy files should be installed to. # -# The minimum required version PolkitQt can be specified by setting the -# POLKITQT_MIN_VERSION variable. +# The minimum required version of PolkitQt can be specified using the +# standard syntax, e.g. find_package(PolkitQt 1.0) +# For compatiblity, this can also be done by setting the POLKITQT_MIN_VERSION variable. # Copyright (c) 2009, Daniel Nicoletti, # Copyright (c) 2009, Dario Freddi, @@ -20,13 +21,16 @@ # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. -if (POLKITQT_INCLUDE_DIR AND POLKITQT_GUI_LIBRARY AND POLKITQT_CORE_LIBRARY) - set(PolkitQt_FIND_QUIETLY TRUE) -endif (POLKITQT_INCLUDE_DIR AND POLKITQT_GUI_LIBRARY AND POLKITQT_CORE_LIBRARY) -if (NOT POLKITQT_MIN_VERSION) - set(POLKITQT_MIN_VERSION "0.9.3") -endif (NOT POLKITQT_MIN_VERSION) +# Support POLKITQT_MIN_VERSION for compatibility: +if(NOT PolkitQt_FIND_VERSION) + set(PolkitQt_FIND_VERSION "${POLKITQT_MIN_VERSION}") +endif(NOT PolkitQt_FIND_VERSION) + +# the minimum version of PolkitQt we require +if(NOT PolkitQt_FIND_VERSION) + set(PolkitQt_FIND_VERSION "0.9.3") +endif(NOT PolkitQt_FIND_VERSION) if (NOT WIN32) # use pkg-config to get the directories and then use these values @@ -43,52 +47,35 @@ find_path( POLKITQT_INCLUDE_DIR find_file( POLKITQT_VERSION_FILE polkit-qt/polkitqtversion.h - PATHS ${POLKITQT_INCLUDE_DIR} + HINTS ${POLKITQT_INCLUDE_DIR} ) -set(POLKITQT_VERSION_OK TRUE) -if(POLKITQT_VERSION_FILE) +if(POLKITQT_VERSION_FILE AND NOT POLKITQT_VERSION) file(READ ${POLKITQT_VERSION_FILE} POLKITQT_VERSION_CONTENT) string (REGEX MATCH "POLKITQT_VERSION_STRING \".*\"\n" POLKITQT_VERSION_MATCH "${POLKITQT_VERSION_CONTENT}") - + if(POLKITQT_VERSION_MATCH) - string(REGEX REPLACE "POLKITQT_VERSION_STRING \"(.*)\"\n" "\\1" POLKITQT_VERSION ${POLKITQT_VERSION_MATCH}) - if(POLKITQT_VERSION STRLESS "${POLKITQT_MIN_VERSION}") - set(POLKITQT_VERSION_OK FALSE) - if(PolkitQt_FIND_REQUIRED) - message(FATAL_ERROR "PolkitQt version ${POLKITQT_VERSION} was found, but it is too old. Please install ${POLKITQT_MIN_VERSION} or newer.") - else(PolkitQt_FIND_REQUIRED) - message(STATUS "PolkitQt version ${POLKITQT_VERSION} is too old. Please install ${POLKITQT_MIN_VERSION} or newer.") - endif(PolkitQt_FIND_REQUIRED) - endif(POLKITQT_VERSION STRLESS "${POLKITQT_MIN_VERSION}") + string(REGEX REPLACE "POLKITQT_VERSION_STRING \"(.*)\"\n" "\\1" _POLKITQT_VERSION ${POLKITQT_VERSION_MATCH}) endif(POLKITQT_VERSION_MATCH) -elseif(POLKITQT_INCLUDE_DIR) - # The version is so old that it does not even have the file - set(POLKITQT_VERSION_OK FALSE) - if(PolkitQt_FIND_REQUIRED) - message(FATAL_ERROR "It looks like PolkitQt is too old. Please install PolkitQt version ${POLKITQT_MIN_VERSION} or newer.") - else(PolkitQt_FIND_REQUIRED) - message(STATUS "It looks like PolkitQt is too old. Please install PolkitQt version ${POLKITQT_MIN_VERSION} or newer.") - endif(PolkitQt_FIND_REQUIRED) -endif(POLKITQT_VERSION_FILE) + set(POLKITQT_VERSION "${_POLKITQT_VERSION}" CACHE STRING "Version number of PolkitQt" FORCE) +endif(POLKITQT_VERSION_FILE AND NOT POLKITQT_VERSION) -find_library( POLKITQT_CORE_LIBRARY - NAMES polkit-qt-core +find_library( POLKITQT_CORE_LIBRARY + NAMES polkit-qt-core HINTS ${PC_POLKITQT_LIBDIR} ) -find_library( POLKITQT_GUI_LIBRARY - NAMES polkit-qt-gui +find_library( POLKITQT_GUI_LIBRARY + NAMES polkit-qt-gui HINTS ${PC_POLKITQT_LIBDIR} ) set(POLKITQT_LIBRARIES ${POLKITQT_GUI_LIBRARY} ${POLKITQT_CORE_LIBRARY}) include(FindPackageHandleStandardArgs) +# Use the extended (new) syntax for FPHSA(): +find_package_handle_standard_args(PolkitQt REQUIRED_VARS POLKITQT_GUI_LIBRARY POLKITQT_CORE_LIBRARY POLKITQT_INCLUDE_DIR + VERSION_VAR POLKITQT_VERSION) -# handle the QUIETLY and REQUIRED arguments and set POLKITQT_FOUND to TRUE if -# all listed variables are TRUE -find_package_handle_standard_args(PolkitQt DEFAULT_MSG POLKITQT_INCLUDE_DIR POLKITQT_GUI_LIBRARY POLKITQT_CORE_LIBRARY POLKITQT_VERSION_OK) - -mark_as_advanced(POLKITQT_INCLUDE_DIR +mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_CORE_LIBRARY POLKITQT_GUI_LIBRARY POLKITQT_VERSION_FILE -- cgit v1.2.1