File: openssl_functions.cmake

package info (click to toggle)
syslog-ng 4.8.1-5
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 20,440 kB
  • sloc: ansic: 177,631; python: 13,035; cpp: 11,611; makefile: 7,011; sh: 5,147; java: 3,651; xml: 3,344; yacc: 1,377; lex: 599; perl: 193; awk: 190; objc: 162
file content (58 lines) | stat: -rw-r--r-- 2,164 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#############################################################################
# Copyright (c) 2018 Balabit
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
# As an additional exemption you are allowed to compile & link against the
# OpenSSL libraries as published by the OpenSSL project. See the file
# COPYING for details.
#
#############################################################################

function (openssl_set_defines)
  set (CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
  set (CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES})
  include(CheckSymbolExists)
  set (check_symbol_headers
    openssl/asn1.h
    openssl/evp.h
    openssl/dh.h
    openssl/ssl.h
    openssl/x509v3.h
    openssl/bn.h)

  set (symbol_list
    EVP_MD_CTX_reset
    ASN1_STRING_get0_data
    SSL_CTX_get0_param
    X509_STORE_CTX_get0_cert
    X509_get_extension_flags
    DH_set0_pqg
    BN_get_rfc3526_prime_2048
    SSL_CONF_CTX_new
    SSL_CTX_set_num_tickets
    SSL_CTX_set_ciphersuites
    SSL_CTX_set1_sigalgs_list
    SSL_CTX_set1_client_sigalgs_list
    SSL_CTX_set_min_proto_version
    SSL_add_file_cert_subjects_to_stack
    SSL_add_dir_cert_subjects_to_stack)

  foreach (symbol ${symbol_list})
    string(TOUPPER ${symbol} SYMBOL_UPPERCASE)
    check_symbol_exists(${symbol} "${check_symbol_headers}" SYSLOG_NG_HAVE_DECL_${SYMBOL_UPPERCASE})
    set(SYSLOG_NG_HAVE_DECL_${SYMBOL_UPPERCASE} "${SYSLOG_NG_HAVE_DECL_${SYMBOL_UPPERCASE}}" PARENT_SCOPE)
  endforeach()
endfunction()