Warning, /frameworks/kwallet/cmake/FindLibGcrypt.cmake is written in an unsupported language. File is not indexed.

0001 #.rst
0002 # FindLibGcrypt
0003 # -------------
0004 #
0005 # Finds the Libgcrypt library.
0006 #
0007 # This will define the following variables:
0008 #
0009 # ``LIBGCRYPT_FOUND``
0010 #     True if the requested version of gcrypt was found
0011 # ``LIBGCRYPT_VERSION``
0012 #     The version of gcrypt that was found
0013 # ``LIBGCRYPT_INCLUDE_DIRS``
0014 #     The gcrypt include directories
0015 # ``LIBGCRYPT_LIBRARIES``
0016 #     The linker libraries needed to use the gcrypt library
0017 
0018 # SPDX-FileCopyrightText: 2014 Nicolás Alvarez <nicolas.alvarez@gmail.com>
0019 #
0020 # SPDX-License-Identifier: BSD-3-Clause
0021 
0022 find_program(LIBGCRYPTCONFIG_SCRIPT NAMES libgcrypt-config)
0023 if(LIBGCRYPTCONFIG_SCRIPT)
0024     execute_process(
0025         COMMAND "${LIBGCRYPTCONFIG_SCRIPT}" --prefix
0026         RESULT_VARIABLE CONFIGSCRIPT_RESULT
0027         OUTPUT_VARIABLE PREFIX
0028         OUTPUT_STRIP_TRAILING_WHITESPACE
0029     )
0030     if (CONFIGSCRIPT_RESULT EQUAL 0)
0031         set(LIBGCRYPT_LIB_HINT "${PREFIX}/lib")
0032         set(LIBGCRYPT_INCLUDE_HINT "${PREFIX}/include")
0033     endif()
0034 endif()
0035 
0036 find_library(LIBGCRYPT_LIBRARY
0037     NAMES gcrypt
0038     HINTS ${LIBGCRYPT_LIB_HINT}
0039 )
0040 find_path(LIBGCRYPT_INCLUDE_DIR
0041     NAMES gcrypt.h
0042     HINTS ${LIBGCRYPT_INCLUDE_HINT}
0043 )
0044 
0045 if(LIBGCRYPT_INCLUDE_DIR)
0046     file(STRINGS ${LIBGCRYPT_INCLUDE_DIR}/gcrypt.h GCRYPT_H REGEX "^#define GCRYPT_VERSION ")
0047     string(REGEX REPLACE "^#define GCRYPT_VERSION \"(.*)\".*$" "\\1" LIBGCRYPT_VERSION "${GCRYPT_H}")
0048 endif()
0049 
0050 include(FindPackageHandleStandardArgs)
0051 
0052 find_package_handle_standard_args(LibGcrypt
0053     FOUND_VAR LIBGCRYPT_FOUND
0054     REQUIRED_VARS LIBGCRYPT_LIBRARY LIBGCRYPT_INCLUDE_DIR
0055     VERSION_VAR LIBGCRYPT_VERSION
0056 )
0057 if(LIBGCRYPT_FOUND)
0058     set(LIBGCRYPT_LIBRARIES ${LIBGCRYPT_LIBRARY})
0059     set(LIBGCRYPT_INCLUDE_DIRS ${LIBGCRYPT_INCLUDE_DIR})
0060 endif()
0061 
0062 mark_as_advanced(LIBGCRYPT_LIBRARY LIBGCRYPT_INCLUDE_DIR)
0063 
0064 include(FeatureSummary)
0065 set_package_properties(LibGcrypt PROPERTIES
0066     DESCRIPTION "A general purpose cryptographic library based on the code from GnuPG."
0067     URL "http://www.gnu.org/software/libgcrypt/"
0068 )