2023-05-07 08:48:58 -04:00
|
|
|
# - Find botan
|
|
|
|
# Find the botan cryptographic library
|
|
|
|
#
|
|
|
|
# This module defines the following variables:
|
|
|
|
# BOTAN_FOUND - True if library and include directory are found
|
|
|
|
# If set to TRUE, the following are also defined:
|
|
|
|
# BOTAN_INCLUDE_DIRS - The directory where to find the header file
|
|
|
|
# BOTAN_LIBRARIES - Where to find the library files
|
|
|
|
#
|
|
|
|
# This file is in the public domain (https://github.com/vistle/vistle/blob/master/cmake/Modules/FindBOTAN.cmake)
|
|
|
|
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
|
|
|
|
set(BOTAN_VERSIONS botan-3 botan-2)
|
|
|
|
set(BOTAN_NAMES botan-3 botan-2 botan)
|
2023-11-21 18:59:27 -05:00
|
|
|
set(BOTAN_NAMES_DEBUG botand-3 botand-2 botand botan botan-3)
|
2023-05-07 08:48:58 -04:00
|
|
|
|
|
|
|
find_path(
|
|
|
|
BOTAN_INCLUDE_DIR
|
|
|
|
NAMES botan/build.h
|
|
|
|
PATH_SUFFIXES ${BOTAN_VERSIONS}
|
|
|
|
DOC "The Botan include directory")
|
|
|
|
if(BOTAN_INCLUDE_DIR)
|
|
|
|
file(READ "${BOTAN_INCLUDE_DIR}/botan/build.h" build)
|
|
|
|
string(REGEX MATCH "BOTAN_VERSION_MAJOR ([0-9]*)" _ ${build})
|
|
|
|
set(BOTAN_VERSION_MAJOR ${CMAKE_MATCH_1})
|
|
|
|
string(REGEX MATCH "BOTAN_VERSION_MINOR ([0-9]*)" _ ${build})
|
|
|
|
set(BOTAN_VERSION_MINOR ${CMAKE_MATCH_1})
|
|
|
|
string(REGEX MATCH "BOTAN_VERSION_PATCH ([0-9]*)" _ ${build})
|
|
|
|
set(BOTAN_VERSION_PATCH ${CMAKE_MATCH_1})
|
|
|
|
set(BOTAN_VERSION "${BOTAN_VERSION_MAJOR}.${BOTAN_VERSION_MINOR}.${BOTAN_VERSION_PATCH}")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
find_library(
|
|
|
|
BOTAN_LIBRARY
|
|
|
|
NAMES ${BOTAN_NAMES}
|
|
|
|
PATH_SUFFIXES release/lib lib
|
|
|
|
DOC "The Botan (release) library")
|
|
|
|
if(MSVC)
|
|
|
|
find_library(
|
|
|
|
BOTAN_LIBRARY_DEBUG
|
|
|
|
NAMES ${BOTAN_NAMES_DEBUG}
|
|
|
|
PATH_SUFFIXES debug/lib lib
|
|
|
|
DOC "The Botan debug library")
|
|
|
|
find_package_handle_standard_args(
|
|
|
|
Botan
|
|
|
|
REQUIRED_VARS BOTAN_LIBRARY BOTAN_LIBRARY_DEBUG BOTAN_INCLUDE_DIR
|
|
|
|
VERSION_VAR BOTAN_VERSION)
|
|
|
|
else()
|
|
|
|
find_package_handle_standard_args(
|
|
|
|
Botan
|
|
|
|
REQUIRED_VARS BOTAN_LIBRARY BOTAN_INCLUDE_DIR
|
|
|
|
VERSION_VAR BOTAN_VERSION)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(BOTAN_FOUND)
|
|
|
|
set(BOTAN_INCLUDE_DIRS ${BOTAN_INCLUDE_DIR})
|
|
|
|
if(MSVC)
|
|
|
|
set(BOTAN_LIBRARIES optimized ${BOTAN_LIBRARY} debug ${BOTAN_LIBRARY_DEBUG})
|
|
|
|
else()
|
|
|
|
set(BOTAN_LIBRARIES ${BOTAN_LIBRARY})
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
mark_as_advanced(BOTAN_INCLUDE_DIR BOTAN_LIBRARY BOTAN_LIBRARY_DEBUG)
|