diff options
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | apps/nc/CMakeLists.txt | 2 | ||||
-rw-r--r-- | crypto/CMakeLists.txt | 20 | ||||
-rw-r--r-- | ssl/CMakeLists.txt | 10 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 8 | ||||
-rw-r--r-- | tls/CMakeLists.txt | 24 |
6 files changed, 56 insertions, 11 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 7066cc8..b1ded85 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt | |||
@@ -968,7 +968,25 @@ if(EXTRA_EXPORT) | |||
968 | endforeach() | 968 | endforeach() |
969 | endif() | 969 | endif() |
970 | 970 | ||
971 | add_library(crypto ${CRYPTO_SRC}) | 971 | set(LIBTLS_EXTRA_EXPORT ${EXTRA_EXPORT} PARENT_SCOPE) |
972 | |||
973 | add_library(crypto_obj OBJECT ${CRYPTO_SRC}) | ||
974 | target_include_directories(crypto_obj | ||
975 | PRIVATE | ||
976 | . | ||
977 | asn1 | ||
978 | bn | ||
979 | dsa | ||
980 | ec | ||
981 | ecdh | ||
982 | ecdsa | ||
983 | evp | ||
984 | modes | ||
985 | ../include/compat | ||
986 | PUBLIC | ||
987 | ../include) | ||
988 | |||
989 | add_library(crypto $<TARGET_OBJECTS:crypto_obj>) | ||
972 | target_include_directories(crypto | 990 | target_include_directories(crypto |
973 | PRIVATE | 991 | PRIVATE |
974 | . | 992 | . |
diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt index 8e09d26..36e1c07 100644 --- a/ssl/CMakeLists.txt +++ b/ssl/CMakeLists.txt | |||
@@ -52,7 +52,15 @@ set( | |||
52 | tls13_server.c | 52 | tls13_server.c |
53 | ) | 53 | ) |
54 | 54 | ||
55 | add_library(ssl ${SSL_SRC}) | 55 | add_library(ssl_obj OBJECT ${SSL_SRC}) |
56 | target_include_directories(ssl_obj | ||
57 | PRIVATE | ||
58 | . | ||
59 | ../include/compat | ||
60 | PUBLIC | ||
61 | ../include) | ||
62 | |||
63 | add_library(ssl $<TARGET_OBJECTS:ssl_obj>) | ||
56 | target_include_directories(ssl | 64 | target_include_directories(ssl |
57 | PRIVATE | 65 | PRIVATE |
58 | . | 66 | . |
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 f64b1c3..9aa10e1 100644 --- a/tls/CMakeLists.txt +++ b/tls/CMakeLists.txt | |||
@@ -29,7 +29,25 @@ 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 | add_library(tls ${TLS_SRC}) | 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 | |||
41 | add_library(tls_obj OBJECT ${TLS_SRC}) | ||
42 | target_include_directories(tls_obj | ||
43 | PRIVATE | ||
44 | . | ||
45 | ../include/compat | ||
46 | PUBLIC | ||
47 | ../include) | ||
48 | |||
49 | add_library(tls $<TARGET_OBJECTS:tls_obj> $<TARGET_OBJECTS:ssl_obj> | ||
50 | $<TARGET_OBJECTS:crypto_obj>) | ||
33 | target_include_directories(tls | 51 | target_include_directories(tls |
34 | PRIVATE | 52 | PRIVATE |
35 | . | 53 | . |
@@ -37,8 +55,8 @@ target_include_directories(tls | |||
37 | PUBLIC | 55 | PUBLIC |
38 | ../include) | 56 | ../include) |
39 | 57 | ||
40 | export_symbol(tls ${CMAKE_CURRENT_SOURCE_DIR}/tls.sym) | 58 | export_symbol(tls ${CMAKE_CURRENT_BINARY_DIR}/tls.sym) |
41 | target_link_libraries(tls ssl crypto ${PLATFORM_LIBS}) | 59 | target_link_libraries(tls ${PLATFORM_LIBS}) |
42 | if (WIN32) | 60 | if (WIN32) |
43 | set(TLS_POSTFIX -${TLS_MAJOR_VERSION}) | 61 | set(TLS_POSTFIX -${TLS_MAJOR_VERSION}) |
44 | endif() | 62 | endif() |