diff options
| author | kinichiro <kinichiro.inoguchi@gmail.com> | 2021-05-02 15:50:37 +0900 |
|---|---|---|
| committer | kinichiro <kinichiro.inoguchi@gmail.com> | 2021-05-07 20:31:22 +0900 |
| commit | 4c56df46de18da692785ed337910ab852c34e0ce (patch) | |
| tree | 0096e13212ac46cf6d7e59c65353c8183ee52000 | |
| parent | 9971b0820c72a7be267e562f6002439b06103b94 (diff) | |
| download | portable-4c56df46de18da692785ed337910ab852c34e0ce.tar.gz portable-4c56df46de18da692785ed337910ab852c34e0ce.tar.bz2 portable-4c56df46de18da692785ed337910ab852c34e0ce.zip | |
Statically link libcrypto/ssl into libtls with cmake
| -rw-r--r-- | CMakeLists.txt | 3 | ||||
| -rw-r--r-- | apps/nc/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | crypto/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | tests/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | tls/CMakeLists.txt | 16 |
5 files changed, 22 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4183499..838b7e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -331,7 +331,8 @@ if(SIZEOF_TIME_T STREQUAL "4") | |||
| 331 | endif() | 331 | endif() |
| 332 | add_definitions(-DSIZEOF_TIME_T=${SIZEOF_TIME_T}) | 332 | add_definitions(-DSIZEOF_TIME_T=${SIZEOF_TIME_T}) |
| 333 | 333 | ||
| 334 | set(OPENSSL_LIBS tls ssl crypto ${PLATFORM_LIBS}) | 334 | set(OPENSSL_LIBS ssl crypto ${PLATFORM_LIBS}) |
| 335 | set(LIBTLS_LIBS tls ${PLATFORM_LIBS}) | ||
| 335 | 336 | ||
| 336 | add_subdirectory(crypto) | 337 | add_subdirectory(crypto) |
| 337 | add_subdirectory(ssl) | 338 | add_subdirectory(ssl) |
diff --git a/apps/nc/CMakeLists.txt b/apps/nc/CMakeLists.txt index cc34ef3..f21c869 100644 --- a/apps/nc/CMakeLists.txt +++ b/apps/nc/CMakeLists.txt | |||
| @@ -44,7 +44,7 @@ endif() | |||
| 44 | 44 | ||
| 45 | add_executable(nc ${NC_SRC}) | 45 | add_executable(nc ${NC_SRC}) |
| 46 | target_include_directories(nc PRIVATE . ./compat ../../include/compat) | 46 | target_include_directories(nc PRIVATE . ./compat ../../include/compat) |
| 47 | target_link_libraries(nc tls ${OPENSSL_LIBS}) | 47 | target_link_libraries(nc ${LIBTLS_LIBS}) |
| 48 | 48 | ||
| 49 | if(ENABLE_NC) | 49 | if(ENABLE_NC) |
| 50 | if(ENABLE_LIBRESSL_INSTALL) | 50 | if(ENABLE_LIBRESSL_INSTALL) |
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index 46db626..b1ded85 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt | |||
| @@ -968,6 +968,8 @@ if(EXTRA_EXPORT) | |||
| 968 | endforeach() | 968 | endforeach() |
| 969 | endif() | 969 | endif() |
| 970 | 970 | ||
| 971 | set(LIBTLS_EXTRA_EXPORT ${EXTRA_EXPORT} PARENT_SCOPE) | ||
| 972 | |||
| 971 | add_library(crypto_obj OBJECT ${CRYPTO_SRC}) | 973 | add_library(crypto_obj OBJECT ${CRYPTO_SRC}) |
| 972 | target_include_directories(crypto_obj | 974 | target_include_directories(crypto_obj |
| 973 | PRIVATE | 975 | PRIVATE |
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index d74cfbc..d0280f7 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt | |||
| @@ -144,7 +144,7 @@ add_test(cmstest cmstest) | |||
| 144 | 144 | ||
| 145 | # configtest | 145 | # configtest |
| 146 | add_executable(configtest configtest.c) | 146 | add_executable(configtest configtest.c) |
| 147 | target_link_libraries(configtest ${OPENSSL_LIBS}) | 147 | target_link_libraries(configtest ${LIBTLS_LIBS}) |
| 148 | add_test(configtest configtest) | 148 | add_test(configtest configtest) |
| 149 | 149 | ||
| 150 | # constraints | 150 | # constraints |
| @@ -276,7 +276,7 @@ if(NOT BUILD_SHARED_LIBS) | |||
| 276 | add_test(key_schedule key_schedule) | 276 | add_test(key_schedule key_schedule) |
| 277 | 277 | ||
| 278 | add_executable(keypairtest keypairtest.c) | 278 | add_executable(keypairtest keypairtest.c) |
| 279 | target_link_libraries(keypairtest ${OPENSSL_LIBS}) | 279 | target_link_libraries(keypairtest ${LIBTLS_LIBS}) |
| 280 | add_test(keypairtest keypairtest | 280 | add_test(keypairtest keypairtest |
| 281 | ${CMAKE_CURRENT_SOURCE_DIR}/ca.pem | 281 | ${CMAKE_CURRENT_SOURCE_DIR}/ca.pem |
| 282 | ${CMAKE_CURRENT_SOURCE_DIR}/server.pem | 282 | ${CMAKE_CURRENT_SOURCE_DIR}/server.pem |
| @@ -502,7 +502,7 @@ else() | |||
| 502 | endif() | 502 | endif() |
| 503 | 503 | ||
| 504 | add_executable(tlstest ${TLSTEST_SRC}) | 504 | add_executable(tlstest ${TLSTEST_SRC}) |
| 505 | target_link_libraries(tlstest ${OPENSSL_LIBS}) | 505 | target_link_libraries(tlstest ${LIBTLS_LIBS}) |
| 506 | if(NOT MSVC) | 506 | if(NOT MSVC) |
| 507 | add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.sh) | 507 | add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.sh) |
| 508 | else() | 508 | else() |
| @@ -541,7 +541,7 @@ endif() | |||
| 541 | # verifytest | 541 | # verifytest |
| 542 | if(NOT BUILD_SHARED_LIBS) | 542 | if(NOT BUILD_SHARED_LIBS) |
| 543 | add_executable(verifytest verifytest.c) | 543 | add_executable(verifytest verifytest.c) |
| 544 | target_link_libraries(verifytest ${OPENSSL_LIBS}) | 544 | target_link_libraries(verifytest ${LIBTLS_LIBS}) |
| 545 | add_test(verifytest verifytest) | 545 | add_test(verifytest verifytest) |
| 546 | endif() | 546 | endif() |
| 547 | 547 | ||
diff --git a/tls/CMakeLists.txt b/tls/CMakeLists.txt index 286d499..9aa10e1 100644 --- a/tls/CMakeLists.txt +++ b/tls/CMakeLists.txt | |||
| @@ -29,6 +29,15 @@ else() | |||
| 29 | add_definitions(-DTLS_DEFAULT_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\") | 29 | add_definitions(-DTLS_DEFAULT_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\") |
| 30 | endif() | 30 | endif() |
| 31 | 31 | ||
| 32 | file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/tls.sym DESTINATION | ||
| 33 | ${CMAKE_CURRENT_BINARY_DIR}) | ||
| 34 | if(LIBTLS_EXTRA_EXPORT) | ||
| 35 | list(SORT LIBTLS_EXTRA_EXPORT) | ||
| 36 | foreach(SYM IN LISTS LIBTLS_EXTRA_EXPORT) | ||
| 37 | file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/tls.sym "${SYM}\n") | ||
| 38 | endforeach() | ||
| 39 | endif() | ||
| 40 | |||
| 32 | add_library(tls_obj OBJECT ${TLS_SRC}) | 41 | add_library(tls_obj OBJECT ${TLS_SRC}) |
| 33 | target_include_directories(tls_obj | 42 | target_include_directories(tls_obj |
| 34 | PRIVATE | 43 | PRIVATE |
| @@ -37,7 +46,8 @@ target_include_directories(tls_obj | |||
| 37 | PUBLIC | 46 | PUBLIC |
| 38 | ../include) | 47 | ../include) |
| 39 | 48 | ||
| 40 | add_library(tls $<TARGET_OBJECTS:tls_obj>) | 49 | add_library(tls $<TARGET_OBJECTS:tls_obj> $<TARGET_OBJECTS:ssl_obj> |
| 50 | $<TARGET_OBJECTS:crypto_obj>) | ||
| 41 | target_include_directories(tls | 51 | target_include_directories(tls |
| 42 | PRIVATE | 52 | PRIVATE |
| 43 | . | 53 | . |
| @@ -45,8 +55,8 @@ target_include_directories(tls | |||
| 45 | PUBLIC | 55 | PUBLIC |
| 46 | ../include) | 56 | ../include) |
| 47 | 57 | ||
| 48 | export_symbol(tls ${CMAKE_CURRENT_SOURCE_DIR}/tls.sym) | 58 | export_symbol(tls ${CMAKE_CURRENT_BINARY_DIR}/tls.sym) |
| 49 | target_link_libraries(tls ssl crypto ${PLATFORM_LIBS}) | 59 | target_link_libraries(tls ${PLATFORM_LIBS}) |
| 50 | if (WIN32) | 60 | if (WIN32) |
| 51 | set(TLS_POSTFIX -${TLS_MAJOR_VERSION}) | 61 | set(TLS_POSTFIX -${TLS_MAJOR_VERSION}) |
| 52 | endif() | 62 | endif() |
