aboutsummaryrefslogtreecommitdiff
path: root/cmake/Modules/FindGCrypt.cmake
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2012-02-04 20:09:00 +0100
committerAndreas Schneider <asn@cryptomilk.org>2012-02-04 20:09:51 +0100
commitddcfe95bbd8daf1775847e38c4f1db3e358e2c23 (patch)
tree2ec1d0d4f418c3577976fb731624a1d351014777 /cmake/Modules/FindGCrypt.cmake
parent679cd9efd8e369f7a727314bb2bab00da211b999 (diff)
downloadlibssh-ddcfe95bbd8daf1775847e38c4f1db3e358e2c23.tar.gz
libssh-ddcfe95bbd8daf1775847e38c4f1db3e358e2c23.tar.xz
libssh-ddcfe95bbd8daf1775847e38c4f1db3e358e2c23.zip
cmake: Update GCrypt module.
Diffstat (limited to 'cmake/Modules/FindGCrypt.cmake')
-rw-r--r--cmake/Modules/FindGCrypt.cmake93
1 files changed, 49 insertions, 44 deletions
diff --git a/cmake/Modules/FindGCrypt.cmake b/cmake/Modules/FindGCrypt.cmake
index df3586be..5f1fe40b 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 <asn@cryptomilk.org>
+# Copyright (c) 2009-2012 Andreas Schneider <asn@cryptomilk.org>
#
# 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)