Hash :
84895087
Author :
Date :
2023-12-14T03:36:09
cmake: stop exporting compat functions
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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
set(
SSL_SRC
bio_ssl.c
d1_both.c
d1_lib.c
d1_pkt.c
d1_srtp.c
pqueue.c
s3_cbc.c
s3_lib.c
ssl_asn1.c
ssl_both.c
ssl_cert.c
ssl_ciph.c
ssl_ciphers.c
ssl_clnt.c
ssl_err.c
ssl_init.c
ssl_kex.c
ssl_lib.c
ssl_methods.c
ssl_packet.c
ssl_pkt.c
ssl_rsa.c
ssl_seclevel.c
ssl_sess.c
ssl_sigalgs.c
ssl_srvr.c
ssl_stat.c
ssl_tlsext.c
ssl_transcript.c
ssl_txt.c
ssl_versions.c
t1_enc.c
t1_lib.c
tls_buffer.c
tls_content.c
tls_key_share.c
tls_lib.c
tls12_key_schedule.c
tls12_lib.c
tls12_record_layer.c
tls13_client.c
tls13_error.c
tls13_handshake.c
tls13_handshake_msg.c
tls13_key_schedule.c
tls13_legacy.c
tls13_lib.c
tls13_quic.c
tls13_record.c
tls13_record_layer.c
tls13_server.c
)
set(
BS_SRC
bs_ber.c
bs_cbb.c
bs_cbs.c
)
add_library(ssl_obj OBJECT ${SSL_SRC})
target_include_directories(ssl_obj
PRIVATE
.
hidden
../crypto/bio
../include/compat
PUBLIC
../include
${CMAKE_BINARY_DIR}/include)
add_library(bs_obj OBJECT ${BS_SRC})
target_include_directories(bs_obj
PRIVATE
.
../include/compat)
if(BUILD_SHARED_LIBS)
add_library(ssl $<TARGET_OBJECTS:ssl_obj> $<TARGET_OBJECTS:compat_obj> $<TARGET_OBJECTS:bs_obj>)
else()
add_library(ssl $<TARGET_OBJECTS:ssl_obj> empty.c)
endif()
export_symbol(ssl ${CMAKE_CURRENT_SOURCE_DIR}/ssl.sym)
target_link_libraries(ssl crypto ${PLATFORM_LIBS})
if (WIN32)
set(SSL_POSTFIX -${SSL_MAJOR_VERSION} PARENT_SCOPE)
endif()
set_target_properties(ssl PROPERTIES
OUTPUT_NAME ssl${SSL_POSTFIX}
ARCHIVE_OUTPUT_NAME ssl${SSL_POSTFIX}
EXPORT_NAME SSL
VERSION ${SSL_VERSION}
SOVERSION ${SSL_MAJOR_VERSION}
)
target_include_directories(
ssl
PUBLIC
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)
install(
TARGETS ssl
EXPORT SSL-target
)
export(
EXPORT SSL-target
FILE "${LibreSSL_BINARY_DIR}/LibreSSL-SSL.cmake"
NAMESPACE LibreSSL::
)
if(ENABLE_LIBRESSL_INSTALL)
install(
TARGETS ssl
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
install(
EXPORT SSL-target
FILE "LibreSSL-SSL.cmake"
NAMESPACE LibreSSL::
DESTINATION "${LIBRESSL_INSTALL_CMAKEDIR}"
)
endif(ENABLE_LIBRESSL_INSTALL)
# build static library for regression test
if(BUILD_SHARED_LIBS)
add_library(ssl-static STATIC $<TARGET_OBJECTS:ssl_obj>)
target_link_libraries(ssl-static crypto-static ${PLATFORM_LIBS})
endif()