summaryrefslogtreecommitdiffstats
path: root/src/plugins/tls/openssl/CMakeLists.txt
blob: 0e0a7a1552dc6ef7e1b5847d5685e8b653806364 (plain)
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
59
60
61
62
63
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause

qt_internal_add_plugin(QTlsBackendOpenSSLPlugin
    OUTPUT_NAME qopensslbackend
    CLASS_NAME QTlsBackendOpenSSL
    PLUGIN_TYPE tls
    SOURCES
        ../shared/qx509_base.cpp ../shared/qx509_base_p.h
        ../shared/qtlskey_base.cpp ../shared/qtlskey_base_p.h
        ../shared/qasn1element.cpp ../shared/qasn1element_p.h
        qtlsbackend_openssl.cpp qtlsbackend_openssl_p.h
        qx509_openssl.cpp qx509_openssl_p.h
        qtlskey_openssl.cpp qtlskey_openssl_p.h
        qtls_openssl.cpp qtls_openssl_p.h
        qssldiffiehellmanparameters_openssl.cpp
        qsslcontext_openssl.cpp qsslcontext_openssl_p.h
        qsslsocket_openssl_symbols.cpp qsslsocket_openssl_symbols_p.h
        qopenssl_p.h
    LIBRARIES
        Qt::NetworkPrivate
        Qt::CorePrivate
    DEFINES
        OPENSSL_API_COMPAT=0x10100000L
)

if (WIN32) # Windows header issues
    set_target_properties(QTlsBackendOpenSSLPlugin PROPERTIES UNITY_BUILD OFF)
endif()

qt_internal_extend_target(QTlsBackendOpenSSLPlugin CONDITION QT_FEATURE_dtls
    SOURCES
        qdtls_openssl.cpp qdtls_openssl_p.h
        ../shared/qdtls_base.cpp ../shared/qdtls_base_p.h
)

qt_internal_extend_target(QTlsBackendOpenSSLPlugin CONDITION APPLE
    SOURCES
        ../shared/qsslsocket_mac_shared.cpp
    LIBRARIES
        ${FWCoreFoundation}
        ${FWSecurity}
)

qt_internal_extend_target(QTlsBackendOpenSSLPlugin CONDITION ANDROID
    SOURCES
        qsslsocket_openssl_android.cpp
)

qt_internal_extend_target(QTlsBackendOpenSSLPlugin CONDITION WIN32
    SOURCES
        qwindowscarootfetcher.cpp qwindowscarootfetcher_p.h
        ../shared/qwincrypt_p.h
    LIBRARIES
        crypt32
)

if(QT_FEATURE_openssl_linked)
    target_link_libraries(QTlsBackendOpenSSLPlugin PRIVATE WrapOpenSSL::WrapOpenSSL)
else()
    qt_internal_add_target_include_dirs(QTlsBackendOpenSSLPlugin
                                        WrapOpenSSLHeaders::WrapOpenSSLHeaders)
endif()