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()
|
endif()
|
||||||
add_definitions(-DSIZEOF_TIME_T=${SIZEOF_TIME_T})
|
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(crypto)
|
||||||
add_subdirectory(ssl)
|
add_subdirectory(ssl)
|
||||||
|
@ -44,7 +44,7 @@ endif()
|
|||||||
|
|
||||||
add_executable(nc ${NC_SRC})
|
add_executable(nc ${NC_SRC})
|
||||||
target_include_directories(nc PRIVATE . ./compat ../../include/compat)
|
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_NC)
|
||||||
if(ENABLE_LIBRESSL_INSTALL)
|
if(ENABLE_LIBRESSL_INSTALL)
|
||||||
|
@ -968,6 +968,8 @@ if(EXTRA_EXPORT)
|
|||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(LIBTLS_EXTRA_EXPORT ${EXTRA_EXPORT} PARENT_SCOPE)
|
||||||
|
|
||||||
add_library(crypto_obj OBJECT ${CRYPTO_SRC})
|
add_library(crypto_obj OBJECT ${CRYPTO_SRC})
|
||||||
target_include_directories(crypto_obj
|
target_include_directories(crypto_obj
|
||||||
PRIVATE
|
PRIVATE
|
||||||
|
@ -144,7 +144,7 @@ add_test(cmstest cmstest)
|
|||||||
|
|
||||||
# configtest
|
# configtest
|
||||||
add_executable(configtest configtest.c)
|
add_executable(configtest configtest.c)
|
||||||
target_link_libraries(configtest ${OPENSSL_LIBS})
|
target_link_libraries(configtest ${LIBTLS_LIBS})
|
||||||
add_test(configtest configtest)
|
add_test(configtest configtest)
|
||||||
|
|
||||||
# constraints
|
# constraints
|
||||||
@ -276,7 +276,7 @@ if(NOT BUILD_SHARED_LIBS)
|
|||||||
add_test(key_schedule key_schedule)
|
add_test(key_schedule key_schedule)
|
||||||
|
|
||||||
add_executable(keypairtest keypairtest.c)
|
add_executable(keypairtest keypairtest.c)
|
||||||
target_link_libraries(keypairtest ${OPENSSL_LIBS})
|
target_link_libraries(keypairtest ${LIBTLS_LIBS})
|
||||||
add_test(keypairtest keypairtest
|
add_test(keypairtest keypairtest
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/ca.pem
|
${CMAKE_CURRENT_SOURCE_DIR}/ca.pem
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/server.pem
|
${CMAKE_CURRENT_SOURCE_DIR}/server.pem
|
||||||
@ -502,7 +502,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(tlstest ${TLSTEST_SRC})
|
add_executable(tlstest ${TLSTEST_SRC})
|
||||||
target_link_libraries(tlstest ${OPENSSL_LIBS})
|
target_link_libraries(tlstest ${LIBTLS_LIBS})
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.sh)
|
add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.sh)
|
||||||
else()
|
else()
|
||||||
@ -541,7 +541,7 @@ endif()
|
|||||||
# verifytest
|
# verifytest
|
||||||
if(NOT BUILD_SHARED_LIBS)
|
if(NOT BUILD_SHARED_LIBS)
|
||||||
add_executable(verifytest verifytest.c)
|
add_executable(verifytest verifytest.c)
|
||||||
target_link_libraries(verifytest ${OPENSSL_LIBS})
|
target_link_libraries(verifytest ${LIBTLS_LIBS})
|
||||||
add_test(verifytest verifytest)
|
add_test(verifytest verifytest)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -29,6 +29,15 @@ else()
|
|||||||
add_definitions(-DTLS_DEFAULT_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\")
|
add_definitions(-DTLS_DEFAULT_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\")
|
||||||
endif()
|
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})
|
add_library(tls_obj OBJECT ${TLS_SRC})
|
||||||
target_include_directories(tls_obj
|
target_include_directories(tls_obj
|
||||||
PRIVATE
|
PRIVATE
|
||||||
@ -37,7 +46,8 @@ target_include_directories(tls_obj
|
|||||||
PUBLIC
|
PUBLIC
|
||||||
../include)
|
../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
|
target_include_directories(tls
|
||||||
PRIVATE
|
PRIVATE
|
||||||
.
|
.
|
||||||
@ -45,8 +55,8 @@ target_include_directories(tls
|
|||||||
PUBLIC
|
PUBLIC
|
||||||
../include)
|
../include)
|
||||||
|
|
||||||
export_symbol(tls ${CMAKE_CURRENT_SOURCE_DIR}/tls.sym)
|
export_symbol(tls ${CMAKE_CURRENT_BINARY_DIR}/tls.sym)
|
||||||
target_link_libraries(tls ssl crypto ${PLATFORM_LIBS})
|
target_link_libraries(tls ${PLATFORM_LIBS})
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set(TLS_POSTFIX -${TLS_MAJOR_VERSION})
|
set(TLS_POSTFIX -${TLS_MAJOR_VERSION})
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user