Blame cmake/Modules/FindGCrypt.cmake

Packit 6c0a39
# - Try to find GCrypt
Packit 6c0a39
# Once done this will define
Packit 6c0a39
#
Packit 6c0a39
#  GCRYPT_FOUND - system has GCrypt
Packit 6c0a39
#  GCRYPT_INCLUDE_DIRS - the GCrypt include directory
Packit 6c0a39
#  GCRYPT_LIBRARIES - Link these to use GCrypt
Packit 6c0a39
#  GCRYPT_DEFINITIONS - Compiler switches required for using GCrypt
Packit 6c0a39
#
Packit 6c0a39
#=============================================================================
Packit 6c0a39
#  Copyright (c) 2009-2012 Andreas Schneider <asn@cryptomilk.org>
Packit 6c0a39
#
Packit 6c0a39
#  Distributed under the OSI-approved BSD License (the "License");
Packit 6c0a39
#  see accompanying file Copyright.txt for details.
Packit 6c0a39
#
Packit 6c0a39
#  This software is distributed WITHOUT ANY WARRANTY; without even the
Packit 6c0a39
#  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Packit 6c0a39
#  See the License for more information.
Packit 6c0a39
#=============================================================================
Packit 6c0a39
#
Packit 6c0a39
Packit 6c0a39
set(_GCRYPT_ROOT_HINTS
Packit 6c0a39
    $ENV{GCRYTPT_ROOT_DIR}
Packit 6c0a39
    ${GCRYPT_ROOT_DIR})
Packit 6c0a39
Packit 6c0a39
set(_GCRYPT_ROOT_PATHS
Packit 6c0a39
    "$ENV{PROGRAMFILES}/libgcrypt")
Packit 6c0a39
Packit 6c0a39
set(_GCRYPT_ROOT_HINTS_AND_PATHS
Packit 6c0a39
    HINTS ${_GCRYPT_ROOT_HINTS}
Packit 6c0a39
    PATHS ${_GCRYPT_ROOT_PATHS})
Packit 6c0a39
Packit 6c0a39
Packit 6c0a39
find_path(GCRYPT_INCLUDE_DIR
Packit 6c0a39
    NAMES
Packit 6c0a39
        gcrypt.h
Packit 6c0a39
    HINTS
Packit 6c0a39
        ${_GCRYPT_ROOT_HINTS_AND_PATHS}
Packit 6c0a39
    PATH_SUFFIXES
Packit 6c0a39
        include
Packit 6c0a39
)
Packit 6c0a39
Packit 6c0a39
find_library(GCRYPT_LIBRARY
Packit 6c0a39
    NAMES
Packit 6c0a39
        gcrypt
Packit 6c0a39
        gcrypt11
Packit 6c0a39
        libgcrypt-11
Packit 6c0a39
    HINTS
Packit 6c0a39
        ${_GCRYPT_ROOT_HINTS_AND_PATHS}
Packit 6c0a39
    PATH_SUFFIXES
Packit 6c0a39
        lib
Packit 6c0a39
)
Packit 6c0a39
find_library(GCRYPT_ERROR_LIBRARY
Packit 6c0a39
    NAMES
Packit 6c0a39
        gpg-error
Packit 6c0a39
        libgpg-error-0
Packit 6c0a39
        libgpg-error6-0
Packit 6c0a39
    HINTS
Packit 6c0a39
        ${_GCRYPT_ROOT_HINTS_AND_PATHS}
Packit 6c0a39
)
Packit 6c0a39
set(GCRYPT_LIBRARIES ${GCRYPT_LIBRARY}  ${GCRYPT_ERROR_LIBRARY})
Packit 6c0a39
Packit 6c0a39
if (GCRYPT_INCLUDE_DIR)
Packit 6c0a39
    file(STRINGS "${GCRYPT_INCLUDE_DIR}/gcrypt.h" _gcrypt_version_str REGEX "^#define GCRYPT_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]")
Packit 6c0a39
Packit 6c0a39
    string(REGEX REPLACE "^.*GCRYPT_VERSION.*([0-9]+\\.[0-9]+\\.[0-9]+).*" "\\1" GCRYPT_VERSION "${_gcrypt_version_str}")
Packit 6c0a39
endif (GCRYPT_INCLUDE_DIR)
Packit 6c0a39
Packit 6c0a39
include(FindPackageHandleStandardArgs)
Packit 6c0a39
if (GCRYPT_VERSION)
Packit 6c0a39
    find_package_handle_standard_args(GCrypt
Packit 6c0a39
        REQUIRED_VARS
Packit 6c0a39
            GCRYPT_INCLUDE_DIR
Packit 6c0a39
            GCRYPT_LIBRARIES
Packit 6c0a39
        VERSION_VAR
Packit 6c0a39
            GCRYPT_VERSION
Packit 6c0a39
        FAIL_MESSAGE
Packit 6c0a39
            "Could NOT find GCrypt, try to set the path to GCrypt root folder in the system variable GCRYPT_ROOT_DIR"
Packit 6c0a39
    )
Packit 6c0a39
else (GCRYPT_VERSION)
Packit 6c0a39
    find_package_handle_standard_args(GCrypt
Packit 6c0a39
        "Could NOT find GCrypt, try to set the path to GCrypt root folder in the system variable GCRYPT_ROOT_DIR"
Packit 6c0a39
        GCRYPT_INCLUDE_DIR
Packit 6c0a39
        GCRYPT_LIBRARIES)
Packit 6c0a39
endif (GCRYPT_VERSION)
Packit 6c0a39
Packit 6c0a39
# show the GCRYPT_INCLUDE_DIRS and GCRYPT_LIBRARIES variables only in the advanced view
Packit 6c0a39
mark_as_advanced(GCRYPT_INCLUDE_DIR GCRYPT_LIBRARIES)