Warning, /network/libktorrent/cmake/FindLibGcrypt.cmake is written in an unsupported language. File is not indexed.
0001 #.rst:
0002 # FindLibGcrypt
0003 # -------------
0004 #
0005 # Try to find libgcrypt.
0006 #
0007 # This will define the following variables:
0008 #
0009 # ``LibGcrypt_FOUND``
0010 # True if libgcrypt is available.
0011 #
0012 # ``LibGcrypt_VERSION``
0013 # The version of LibGcrypt
0014 #
0015 # ``LibGcrypt_INCLUDE_DIRS``
0016 # This should be passed to target_include_directories() if
0017 # the target is not used for linking
0018 #
0019 # ``LibGcrypt_LIBRARIES``
0020 # This can be passed to target_link_libraries() instead of
0021 # the ``LibGcrypt::LibGcrypt`` target
0022 #
0023 # If ``LibGcrypt_FOUND`` is TRUE, the following imported target
0024 # will be available:
0025 #
0026 # ``LibGcrypt::LibGcrypt``
0027 # The libgcrypt library
0028 #
0029 # Since 1.9.50.
0030
0031 #=============================================================================
0032 # This was based upon FindKopete.cmake:
0033 # SPDX-FileCopyrightText: 2007 Charles Connell <charles@connells.org>
0034 #
0035 # SPDX-FileCopyrightText: 2010 Joris Guisson <joris.guisson@gmail.com>
0036 # SPDX-FileCopyrightText: 2016 Christophe Giboudeaux <cgiboudeaux@gmx.com>
0037 #
0038 # SPDX-License-Identifier: BSD-3-Clause
0039 #=============================================================================
0040
0041 find_path(LibGcrypt_INCLUDE_DIRS
0042 NAMES gcrypt.h
0043 PATH_SUFFIXES libgcrypt
0044 )
0045
0046 find_library(LibGcrypt_LIBRARIES
0047 NAMES gcrypt
0048 )
0049
0050 if(MSVC)
0051 find_library(LibGcrypt_LIBRARIES_DEBUG
0052 NAMES gcryptd
0053 )
0054
0055 if(NOT LibGcrypt_LIBRARIES_DEBUG)
0056 unset(LibGcrypt_LIBRARIES CACHE)
0057 endif()
0058
0059 if(MSVC_IDE)
0060 if(NOT (LibGcrypt_LIBRARIES_DEBUG AND LibGcrypt_LIBRARIES))
0061 message(STATUS
0062 "\nCould NOT find the debug AND release version of the libgcrypt library.\n
0063 You need to have both to use MSVC projects.\n
0064 Please build and install both libgcrypt libraries first.\n"
0065 )
0066 unset(LibGcrypt_LIBRARIES CACHE)
0067 endif()
0068 else()
0069 string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER)
0070 if(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
0071 set(LibGcrypt_LIBRARIES ${LibGcrypt_LIBRARIES_DEBUG})
0072 endif()
0073 endif()
0074 endif()
0075
0076 # Get version from gcrypt.h
0077 # #define GCRYPT_VERSION "1.6.4"
0078 if(LibGcrypt_INCLUDE_DIRS AND LibGcrypt_LIBRARIES)
0079 file(STRINGS ${LibGcrypt_INCLUDE_DIRS}/gcrypt.h _GCRYPT_H REGEX "^#define GCRYPT_VERSION[ ]+.*$")
0080 string(REGEX REPLACE "^.*GCRYPT_VERSION[ ]+\"([0-9]+).([0-9]+).([0-9]+).*\".*$" "\\1" LibGcrypt_MAJOR_VERSION "${_GCRYPT_H}")
0081 string(REGEX REPLACE "^.*GCRYPT_VERSION[ ]+\"([0-9]+).([0-9]+).([0-9]+).*\".*$" "\\2" LibGcrypt_MINOR_VERSION "${_GCRYPT_H}")
0082 string(REGEX REPLACE "^.*GCRYPT_VERSION[ ]+\"([0-9]+).([0-9]+).([0-9]+).*\".*$" "\\3" LibGcrypt_PATCH_VERSION "${_GCRYPT_H}")
0083
0084 set(LibGcrypt_VERSION "${LibGcrypt_MAJOR_VERSION}.${LibGcrypt_MINOR_VERSION}.${LibGcrypt_PATCH_VERSION}")
0085 unset(_GCRYPT_H)
0086 endif()
0087
0088 include(FindPackageHandleStandardArgs)
0089 find_package_handle_standard_args(LibGcrypt
0090 FOUND_VAR LibGcrypt_FOUND
0091 REQUIRED_VARS LibGcrypt_INCLUDE_DIRS LibGcrypt_LIBRARIES
0092 VERSION_VAR LibGcrypt_VERSION
0093 )
0094
0095 if(LibGcrypt_FOUND AND NOT TARGET LibGcrypt::LibGcrypt)
0096 add_library(LibGcrypt::LibGcrypt UNKNOWN IMPORTED)
0097 set_target_properties(LibGcrypt::LibGcrypt PROPERTIES
0098 IMPORTED_LOCATION "${LibGcrypt_LIBRARIES}"
0099 INTERFACE_INCLUDE_DIRECTORIES "${LibGcrypt_INCLUDE_DIRS}")
0100 endif()
0101
0102 mark_as_advanced(LibGcrypt_INCLUDE_DIRS LibGcrypt_LIBRARIES)
0103
0104 include(FeatureSummary)
0105 set_package_properties(LibGcrypt PROPERTIES
0106 URL "http://directory.fsf.org/wiki/Libgcrypt"
0107 DESCRIPTION "General purpose crypto library based on the code used in GnuPG."
0108 )