
On Windows shared libraries should be installed into the bin directory. Using grouping within CMake based on the target type fixes this issue.
78 lines
1.4 KiB
CMake
78 lines
1.4 KiB
CMake
include_directories(
|
|
.
|
|
../include
|
|
../include/compat
|
|
)
|
|
|
|
set(
|
|
SSL_SRC
|
|
bio_ssl.c
|
|
bs_ber.c
|
|
bs_cbb.c
|
|
bs_cbs.c
|
|
d1_both.c
|
|
d1_clnt.c
|
|
d1_enc.c
|
|
d1_lib.c
|
|
d1_meth.c
|
|
d1_pkt.c
|
|
d1_srtp.c
|
|
d1_srvr.c
|
|
pqueue.c
|
|
s3_cbc.c
|
|
s3_lib.c
|
|
ssl_algs.c
|
|
ssl_asn1.c
|
|
ssl_both.c
|
|
ssl_cert.c
|
|
ssl_ciph.c
|
|
ssl_clnt.c
|
|
ssl_err.c
|
|
ssl_lib.c
|
|
ssl_packet.c
|
|
ssl_pkt.c
|
|
ssl_rsa.c
|
|
ssl_sess.c
|
|
ssl_srvr.c
|
|
ssl_stat.c
|
|
ssl_tlsext.c
|
|
ssl_txt.c
|
|
ssl_versions.c
|
|
t1_clnt.c
|
|
t1_enc.c
|
|
t1_hash.c
|
|
t1_lib.c
|
|
t1_meth.c
|
|
t1_srvr.c
|
|
)
|
|
|
|
add_library(ssl-objects OBJECT ${SSL_SRC})
|
|
set(SSL_LIBRARIES ssl)
|
|
if (BUILD_SHARED)
|
|
list(APPEND SSL_LIBRARIES ssl-shared)
|
|
add_library(ssl STATIC $<TARGET_OBJECTS:ssl-objects>)
|
|
add_library(ssl-shared SHARED $<TARGET_OBJECTS:ssl-objects>)
|
|
export_symbol(ssl-shared ${CMAKE_CURRENT_SOURCE_DIR}/ssl.sym)
|
|
target_link_libraries(ssl-shared crypto-shared)
|
|
if (WIN32)
|
|
target_link_libraries(ssl-shared Ws2_32.lib)
|
|
set(SSL_POSTFIX -${SSL_MAJOR_VERSION})
|
|
endif()
|
|
set_target_properties(ssl-shared PROPERTIES
|
|
OUTPUT_NAME ssl${SSL_POSTFIX}
|
|
ARCHIVE_OUTPUT_NAME ssl${SSL_POSTFIX})
|
|
set_target_properties(ssl-shared PROPERTIES VERSION ${SSL_VERSION}
|
|
SOVERSION ${SSL_MAJOR_VERSION})
|
|
else()
|
|
add_library(ssl STATIC ${SSL_SRC})
|
|
endif()
|
|
|
|
if(ENABLE_LIBRESSL_INSTALL)
|
|
install(
|
|
TARGETS ${SSL_LIBRARIES}
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
)
|
|
endif(ENABLE_LIBRESSL_INSTALL)
|