keepassxc

Форк
0
/
FindBotan.cmake 
65 строк · 2.2 Кб
1
# - Find botan
2
# Find the botan cryptographic library
3
#
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
9
#
10
# This file is in the public domain (https://github.com/vistle/vistle/blob/master/cmake/Modules/FindBOTAN.cmake)
11

12
include(FindPackageHandleStandardArgs)
13

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)
17

18
find_path(
19
    BOTAN_INCLUDE_DIR
20
    NAMES botan/build.h
21
    PATH_SUFFIXES ${BOTAN_VERSIONS}
22
    DOC "The Botan include directory")
23
if(BOTAN_INCLUDE_DIR)
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}")
32
endif()
33

34
find_library(
35
    BOTAN_LIBRARY
36
    NAMES ${BOTAN_NAMES}
37
    PATH_SUFFIXES release/lib lib
38
    DOC "The Botan (release) library")
39
if(MSVC)
40
    find_library(
41
        BOTAN_LIBRARY_DEBUG
42
        NAMES ${BOTAN_NAMES_DEBUG}
43
        PATH_SUFFIXES debug/lib lib
44
        DOC "The Botan debug library")
45
    find_package_handle_standard_args(
46
        Botan
47
        REQUIRED_VARS BOTAN_LIBRARY BOTAN_LIBRARY_DEBUG BOTAN_INCLUDE_DIR
48
        VERSION_VAR BOTAN_VERSION)
49
else()
50
    find_package_handle_standard_args(
51
        Botan
52
        REQUIRED_VARS BOTAN_LIBRARY BOTAN_INCLUDE_DIR
53
        VERSION_VAR BOTAN_VERSION)
54
endif()
55

56
if(BOTAN_FOUND)
57
    set(BOTAN_INCLUDE_DIRS ${BOTAN_INCLUDE_DIR})
58
    if(MSVC)
59
        set(BOTAN_LIBRARIES optimized ${BOTAN_LIBRARY} debug ${BOTAN_LIBRARY_DEBUG})
60
    else()
61
        set(BOTAN_LIBRARIES ${BOTAN_LIBRARY})
62
    endif()
63
endif()
64

65
mark_as_advanced(BOTAN_INCLUDE_DIR BOTAN_LIBRARY BOTAN_LIBRARY_DEBUG)
66

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.