Statically link libcrypto/ssl into libtls with cmake
This commit is contained in:
parent
9971b0820c
commit
4c56df46de
@ -331,7 +331,8 @@ if(SIZEOF_TIME_T STREQUAL "4")
|
||||
endif()
|
||||
add_definitions(-DSIZEOF_TIME_T=${SIZEOF_TIME_T})
|
||||
|
||||
set(OPENSSL_LIBS tls ssl crypto ${PLATFORM_LIBS})
|
||||
set(OPENSSL_LIBS ssl crypto ${PLATFORM_LIBS})
|
||||
set(LIBTLS_LIBS tls ${PLATFORM_LIBS})
|
||||
|
||||
add_subdirectory(crypto)
|
||||
add_subdirectory(ssl)
|
||||
|
@ -44,7 +44,7 @@ endif()
|
||||
|
||||
add_executable(nc ${NC_SRC})
|
||||
target_include_directories(nc PRIVATE . ./compat ../../include/compat)
|
||||
target_link_libraries(nc tls ${OPENSSL_LIBS})
|
||||
target_link_libraries(nc ${LIBTLS_LIBS})
|
||||
|
||||
if(ENABLE_NC)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
|
@ -968,6 +968,8 @@ if(EXTRA_EXPORT)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
set(LIBTLS_EXTRA_EXPORT ${EXTRA_EXPORT} PARENT_SCOPE)
|
||||
|
||||
add_library(crypto_obj OBJECT ${CRYPTO_SRC})
|
||||
target_include_directories(crypto_obj
|
||||
PRIVATE
|
||||
|
@ -144,7 +144,7 @@ add_test(cmstest cmstest)
|
||||
|
||||
# configtest
|
||||
add_executable(configtest configtest.c)
|
||||
target_link_libraries(configtest ${OPENSSL_LIBS})
|
||||
target_link_libraries(configtest ${LIBTLS_LIBS})
|
||||
add_test(configtest configtest)
|
||||
|
||||
# constraints
|
||||
@ -276,7 +276,7 @@ if(NOT BUILD_SHARED_LIBS)
|
||||
add_test(key_schedule key_schedule)
|
||||
|
||||
add_executable(keypairtest keypairtest.c)
|
||||
target_link_libraries(keypairtest ${OPENSSL_LIBS})
|
||||
target_link_libraries(keypairtest ${LIBTLS_LIBS})
|
||||
add_test(keypairtest keypairtest
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ca.pem
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/server.pem
|
||||
@ -502,7 +502,7 @@ else()
|
||||
endif()
|
||||
|
||||
add_executable(tlstest ${TLSTEST_SRC})
|
||||
target_link_libraries(tlstest ${OPENSSL_LIBS})
|
||||
target_link_libraries(tlstest ${LIBTLS_LIBS})
|
||||
if(NOT MSVC)
|
||||
add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.sh)
|
||||
else()
|
||||
@ -541,7 +541,7 @@ endif()
|
||||
# verifytest
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
add_executable(verifytest verifytest.c)
|
||||
target_link_libraries(verifytest ${OPENSSL_LIBS})
|
||||
target_link_libraries(verifytest ${LIBTLS_LIBS})
|
||||
add_test(verifytest verifytest)
|
||||
endif()
|
||||
|
||||
|
@ -29,6 +29,15 @@ else()
|
||||
add_definitions(-DTLS_DEFAULT_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\")
|
||||
endif()
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/tls.sym DESTINATION
|
||||
${CMAKE_CURRENT_BINARY_DIR})
|
||||
if(LIBTLS_EXTRA_EXPORT)
|
||||
list(SORT LIBTLS_EXTRA_EXPORT)
|
||||
foreach(SYM IN LISTS LIBTLS_EXTRA_EXPORT)
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/tls.sym "${SYM}\n")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
add_library(tls_obj OBJECT ${TLS_SRC})
|
||||
target_include_directories(tls_obj
|
||||
PRIVATE
|
||||
@ -37,7 +46,8 @@ target_include_directories(tls_obj
|
||||
PUBLIC
|
||||
../include)
|
||||
|
||||
add_library(tls $<TARGET_OBJECTS:tls_obj>)
|
||||
add_library(tls $<TARGET_OBJECTS:tls_obj> $<TARGET_OBJECTS:ssl_obj>
|
||||
$<TARGET_OBJECTS:crypto_obj>)
|
||||
target_include_directories(tls
|
||||
PRIVATE
|
||||
.
|
||||
@ -45,8 +55,8 @@ target_include_directories(tls
|
||||
PUBLIC
|
||||
../include)
|
||||
|
||||
export_symbol(tls ${CMAKE_CURRENT_SOURCE_DIR}/tls.sym)
|
||||
target_link_libraries(tls ssl crypto ${PLATFORM_LIBS})
|
||||
export_symbol(tls ${CMAKE_CURRENT_BINARY_DIR}/tls.sym)
|
||||
target_link_libraries(tls ${PLATFORM_LIBS})
|
||||
if (WIN32)
|
||||
set(TLS_POSTFIX -${TLS_MAJOR_VERSION})
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user