From ddcfe95bbd8daf1775847e38c4f1db3e358e2c23 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sat, 4 Feb 2012 20:09:00 +0100 Subject: cmake: Update GCrypt module. --- cmake/Modules/FindGCrypt.cmake | 93 ++++++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 44 deletions(-) (limited to 'cmake/Modules') diff --git a/cmake/Modules/FindGCrypt.cmake b/cmake/Modules/FindGCrypt.cmake index df3586b..5f1fe40 100644 --- a/cmake/Modules/FindGCrypt.cmake +++ b/cmake/Modules/FindGCrypt.cmake @@ -7,7 +7,7 @@ # GCRYPT_DEFINITIONS - Compiler switches required for using GCrypt # #============================================================================= -# Copyright (c) 2009-2011 Andreas Schneider +# Copyright (c) 2009-2012 Andreas Schneider # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. @@ -18,53 +18,58 @@ #============================================================================= # -if (GCRYPT_LIBRARIES AND GCRYPT_INCLUDE_DIRS) - # in cache already - # set(GCRYPT_FOUND TRUE) -else (GCRYPT_LIBRARIES AND GCRYPT_INCLUDE_DIRS) +set(_GCRYPT_ROOT_HINTS + $ENV{GCRYTPT_ROOT_DIR} + ${GCRYPT_ROOT_DIR}) - set(_GCRYPT_ROOT_PATHS - "$ENV{PROGRAMFILES}/libgcrypt" - ) +set(_GCRYPT_ROOT_PATHS + "$ENV{PROGRAMFILES}/libgcrypt") - find_path(GCRYPT_ROOT_DIR - NAMES - include/gcrypt.h - PATHS - ${_GCRYPT_ROOT_PATHS} - ) - mark_as_advanced(ZLIB_ROOT_DIR) +set(_GCRYPT_ROOT_HINTS_AND_PATHS + HINTS ${_GCRYPT_ROOT_HINTS} + PATHS ${_GCRYPT_ROOT_PATHS}) - find_path(GCRYPT_INCLUDE_DIR - NAMES - gcrypt.h - PATHS - /usr/local/include - /opt/local/include - /sw/include - /usr/lib/sfw/include - ${GCRYPT_ROOT_DIR}/include - ) - set(GCRYPT_INCLUDE_DIRS ${GCRYPT_INCLUDE_DIR}) - find_library(GCRYPT_LIBRARY - NAMES - gcrypt - gcrypt11 - libgcrypt-11 - PATHS - /opt/local/lib - /sw/lib - /usr/sfw/lib/64 - /usr/sfw/lib - ${GCRYPT_ROOT_DIR}/lib - ) - set(GCRYPT_LIBRARIES ${GCRYPT_LIBRARY}) +find_path(GCRYPT_INCLUDE_DIR + NAMES + gcrypt.h + HINTS + ${_GCRYPT_ROOT_HINTS_AND_PATHS} +) - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(GCrypt DEFAULT_MSG GCRYPT_LIBRARIES GCRYPT_INCLUDE_DIRS) +find_library(GCRYPT_LIBRARY + NAMES + gcrypt + gcrypt11 + libgcrypt-11 + HINTS + ${_GCRYPT_ROOT_HINTS_AND_PATHS} +) +set(GCRYPT_LIBRARIES ${GCRYPT_LIBRARY}) - # show the GCRYPT_INCLUDE_DIRS and GCRYPT_LIBRARIES variables only in the advanced view - mark_as_advanced(GCRYPT_INCLUDE_DIRS GCRYPT_LIBRARIES) +if (GCRYPT_INCLUDE_DIR) + file(STRINGS "${GCRYPT_INCLUDE_DIR}/gcrypt.h" _gcrypt_version_str REGEX "^#define GCRYPT_VERSION \"[0-9]+.[0-9]+.[0-9]+\"") + + string(REGEX REPLACE "^.*GCRYPT_VERSION.*([0-9]+.[0-9]+.[0-9]+).*" "\\1" GCRYPT_VERSION "${_gcrypt_version_str}") +endif (GCRYPT_INCLUDE_DIR) + +include(FindPackageHandleStandardArgs) +if (GCRYPT_VERSION) + find_package_handle_standard_args(GCrypt + REQUIRED_VARS + GCRYPT_INCLUDE_DIR + GCRYPT_LIBRARIES + VERSION_VAR + GCRYPT_VERSION + FAIL_MESSAGE + "Could NOT find GCrypt, try to set the path to GCrypt root folder in the system variable GCRYPT_ROOT_DIR" + ) +else (GCRYPT_VERSION) + find_package_handle_standard_args(GCrypt + "Could NOT find GCrypt, try to set the path to GCrypt root folder in the system variable GCRYPT_ROOT_DIR" + GCRYPT_INCLUDE_DIR + GCRYPT_LIBRARIES) +endif (GCRYPT_VERSION) -endif (GCRYPT_LIBRARIES AND GCRYPT_INCLUDE_DIRS) +# show the GCRYPT_INCLUDE_DIRS and GCRYPT_LIBRARIES variables only in the advanced view +mark_as_advanced(GCRYPT_INCLUDE_DIR GCRYPT_LIBRARIES) -- cgit