diff options
author | Martin Baulig <martin.baulig@xamarin.com> | 2016-05-18 22:58:25 +0300 |
---|---|---|
committer | Martin Baulig <martin.baulig@xamarin.com> | 2016-05-18 22:58:25 +0300 |
commit | c6d1e75fe7bb22672dd485bf6a3d80cff9d14a0d (patch) | |
tree | 2b6f898e093f7448a5cb327570db7b927047e94e | |
parent | 59bfb578fbaf5fad269128f9d5d0823788c6eead (diff) |
CMakeLists.txt: add new 'BORINGSSL_OBJECTS' variable containing the object file.
Create two new OBJECT libraries 'crypto-objects' and 'ssl-objects' and add all
the $<TARGET_OBJECTS:...> to 'BORINGSSL_OBJECTS'.
-rw-r--r-- | CMakeLists.txt | 9 | ||||
-rw-r--r-- | crypto/CMakeLists.txt | 65 | ||||
-rw-r--r-- | ssl/CMakeLists.txt | 41 |
3 files changed, 115 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 84935598..6d9120b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -178,6 +178,15 @@ if (NOT ${CMAKE_VERSION} VERSION_LESS "3.2") set(MAYBE_USES_TERMINAL USES_TERMINAL) endif() +set ( + BORINGSSL_OBJECTS + $<TARGET_OBJECTS:crypto-objects> + ${crypto_objects_dependencies} + $<TARGET_OBJECTS:ssl-objects> + ${ssl_objects_dependencies} + PARENT_SCOPE +) + add_custom_target( run_tests COMMAND ${GO_EXECUTABLE} run util/all_tests.go -build-dir diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index 6651f293..ccbe60c7 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt @@ -140,6 +140,71 @@ add_subdirectory(pkcs8) # Test support code add_subdirectory(test) +set( + crypto_objects_dependencies + $<TARGET_OBJECTS:stack> + $<TARGET_OBJECTS:lhash> + $<TARGET_OBJECTS:err> + $<TARGET_OBJECTS:base64> + $<TARGET_OBJECTS:bytestring> + $<TARGET_OBJECTS:sha> + $<TARGET_OBJECTS:md4> + $<TARGET_OBJECTS:md5> + $<TARGET_OBJECTS:digest> + $<TARGET_OBJECTS:cipher> + $<TARGET_OBJECTS:modes> + $<TARGET_OBJECTS:aes> + $<TARGET_OBJECTS:des> + $<TARGET_OBJECTS:rc4> + $<TARGET_OBJECTS:conf> + $<TARGET_OBJECTS:chacha> + $<TARGET_OBJECTS:poly1305> + $<TARGET_OBJECTS:curve25519> + $<TARGET_OBJECTS:buf> + $<TARGET_OBJECTS:bn> + $<TARGET_OBJECTS:bio> + $<TARGET_OBJECTS:rand> + $<TARGET_OBJECTS:obj> + $<TARGET_OBJECTS:asn1> + $<TARGET_OBJECTS:engine> + $<TARGET_OBJECTS:dh> + $<TARGET_OBJECTS:dsa> + $<TARGET_OBJECTS:rsa> + $<TARGET_OBJECTS:ec> + $<TARGET_OBJECTS:ecdh> + $<TARGET_OBJECTS:ecdsa> + $<TARGET_OBJECTS:hmac> + $<TARGET_OBJECTS:cmac> + $<TARGET_OBJECTS:evp> + $<TARGET_OBJECTS:hkdf> + $<TARGET_OBJECTS:pem> + $<TARGET_OBJECTS:x509> + $<TARGET_OBJECTS:x509v3> + $<TARGET_OBJECTS:pkcs8> + PARENT_SCOPE +) + +add_library( + crypto-objects OBJECT + + crypto.c + directory_posix.c + directory_win.c + ex_data.c + mem.c + refcount_c11.c + refcount_lock.c + thread.c + thread_none.c + thread_pthread.c + thread_win.c + time_support.c + + ${CRYPTO_ARCH_SOURCES} +) + + + add_library( crypto diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt index c82cb9bc..f18e922c 100644 --- a/ssl/CMakeLists.txt +++ b/ssl/CMakeLists.txt @@ -2,6 +2,47 @@ include_directories(../include) add_subdirectory(pqueue) +set( + ssl_objects_dependencies + $<TARGET_OBJECTS:pqueue> + PARENT_SCOPE +) + +add_library( + ssl-objects OBJECT + + custom_extensions.c + d1_both.c + d1_clnt.c + d1_lib.c + d1_meth.c + d1_pkt.c + d1_srtp.c + d1_srvr.c + dtls_record.c + s3_both.c + s3_clnt.c + s3_enc.c + s3_lib.c + s3_meth.c + s3_pkt.c + s3_srvr.c + ssl_aead_ctx.c + ssl_asn1.c + ssl_buffer.c + ssl_cert.c + ssl_cipher.c + ssl_ecdh.c + ssl_file.c + ssl_lib.c + ssl_rsa.c + ssl_session.c + ssl_stat.c + t1_enc.c + t1_lib.c + tls_record.c +) + add_library( ssl |