2
# Find the botan cryptographic library
4
# This module defines the following variables:
5
# BOTAN_FOUND - True if library and include directory are found
6
# If set to TRUE, the following are also defined:
7
# BOTAN_INCLUDE_DIRS - The directory where to find the header file
8
# BOTAN_LIBRARIES - Where to find the library files
10
# This file is in the public domain (https://github.com/vistle/vistle/blob/master/cmake/Modules/FindBOTAN.cmake)
12
include(FindPackageHandleStandardArgs)
14
set(BOTAN_VERSIONS botan-3 botan-2)
15
set(BOTAN_NAMES botan-3 botan-2 botan)
16
set(BOTAN_NAMES_DEBUG botand-3 botand-2 botand botan botan-3)
21
PATH_SUFFIXES ${BOTAN_VERSIONS}
22
DOC "The Botan include directory")
24
file(READ "${BOTAN_INCLUDE_DIR}/botan/build.h" build)
25
string(REGEX MATCH "BOTAN_VERSION_MAJOR ([0-9]*)" _ ${build})
26
set(BOTAN_VERSION_MAJOR ${CMAKE_MATCH_1})
27
string(REGEX MATCH "BOTAN_VERSION_MINOR ([0-9]*)" _ ${build})
28
set(BOTAN_VERSION_MINOR ${CMAKE_MATCH_1})
29
string(REGEX MATCH "BOTAN_VERSION_PATCH ([0-9]*)" _ ${build})
30
set(BOTAN_VERSION_PATCH ${CMAKE_MATCH_1})
31
set(BOTAN_VERSION "${BOTAN_VERSION_MAJOR}.${BOTAN_VERSION_MINOR}.${BOTAN_VERSION_PATCH}")
37
PATH_SUFFIXES release/lib lib
38
DOC "The Botan (release) library")
42
NAMES ${BOTAN_NAMES_DEBUG}
43
PATH_SUFFIXES debug/lib lib
44
DOC "The Botan debug library")
45
find_package_handle_standard_args(
47
REQUIRED_VARS BOTAN_LIBRARY BOTAN_LIBRARY_DEBUG BOTAN_INCLUDE_DIR
48
VERSION_VAR BOTAN_VERSION)
50
find_package_handle_standard_args(
52
REQUIRED_VARS BOTAN_LIBRARY BOTAN_INCLUDE_DIR
53
VERSION_VAR BOTAN_VERSION)
57
set(BOTAN_INCLUDE_DIRS ${BOTAN_INCLUDE_DIR})
59
set(BOTAN_LIBRARIES optimized ${BOTAN_LIBRARY} debug ${BOTAN_LIBRARY_DEBUG})
61
set(BOTAN_LIBRARIES ${BOTAN_LIBRARY})
65
mark_as_advanced(BOTAN_INCLUDE_DIR BOTAN_LIBRARY BOTAN_LIBRARY_DEBUG)