diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/FindPolkitQt.cmake | 65 | 
1 files changed, 26 insertions, 39 deletions
| 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, <dantti85-pk@yahoo.com.br>  # Copyright (c) 2009, Dario Freddi, <drf54321@gmail.com> @@ -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 | 
