Files
cli/vendor/aws-lc-sys/aws-lc/ssl/CMakeLists.txt

151 lines
3.7 KiB
CMake

add_library(
ssl
bio_ssl.cc
custom_extensions.cc
d1_both.cc
d1_lib.cc
d1_pkt.cc
d1_srtp.cc
dtls_method.cc
dtls_record.cc
encrypted_client_hello.cc
extensions.cc
handoff.cc
handshake.cc
handshake_client.cc
handshake_server.cc
s3_both.cc
s3_lib.cc
s3_pkt.cc
ssl_aead_ctx.cc
ssl_asn1.cc
ssl_buffer.cc
ssl_cert.cc
ssl_cipher.cc
ssl_decrepit.c
ssl_file.cc
ssl_key_share.cc
ssl_lib.cc
ssl_privkey.cc
ssl_session.cc
ssl_stat.cc
ssl_text.cc
ssl_transcript.cc
ssl_transfer_asn1.cc
ssl_versions.cc
ssl_x509.cc
t1_enc.cc
tls_method.cc
tls_record.cc
tls13_both.cc
tls13_client.cc
tls13_enc.cc
tls13_server.cc
)
target_compile_definitions(ssl PRIVATE BORINGSSL_IMPLEMENTATION)
target_link_libraries(ssl crypto)
target_add_awslc_include_paths(TARGET ssl SCOPE PUBLIC)
set_target_properties(ssl PROPERTIES
OUTPUT_NAME "${SSL_LIB_NAME}")
if(SET_LIB_SONAME)
set_target_properties(ssl PROPERTIES
VERSION "${SOFTWARE_VERSION}"
SOVERSION "${ABI_VERSION}")
endif()
if(BUILD_TESTING)
# ocsp_integration_test.cc does integration tests with the Amazon Trust
# Services OCSP responder. This is ran as its own test executable because
# internal sandbox builds cannot properly connect with the host.
# Since the integration test relies on libssl functionalities to retrieve
# the certification chain from a host, this integration test dimension is
# built with libssl and libcrypto.
add_executable(
${INTEGRATION_TEST_EXEC}
../crypto/ocsp/ocsp_integration_test.cc
../tool/transport_common.cc
../tool/fd.cc
$<TARGET_OBJECTS:crypto_test_data>
)
target_link_libraries(${INTEGRATION_TEST_EXEC}
boringssl_gtest_main ssl )
target_add_awslc_include_paths(TARGET ${INTEGRATION_TEST_EXEC} SCOPE PRIVATE)
add_dependencies(all_tests ${INTEGRATION_TEST_EXEC})
set_test_location(${INTEGRATION_TEST_EXEC})
add_executable(
${SSL_TEST_EXEC}
../crypto/test/file_util.cc
span_test.cc
ssl_test.cc
ssl_client_hello_test.cc
ssl_c_test.c
ssl_key_share_test.cc
ssl_alps_test.cc
ssl_common_test.cc
ssl_misc_test.cc
ssl_version_test.cc
ssl_ech_test.cc
ssl_quic_test.cc
ssl_hybrid_handshake_test.cc
ssl_encoding_test.cc
ssl_ciphers_test.cc
ssl_handshake_test.cc
)
target_link_libraries(${SSL_TEST_EXEC} boringssl_gtest_main ssl)
target_add_awslc_include_paths(TARGET ${SSL_TEST_EXEC} SCOPE PRIVATE)
set_test_location(${SSL_TEST_EXEC})
if(WIN32)
target_link_libraries(${SSL_TEST_EXEC} ws2_32)
endif()
add_dependencies(all_tests ${SSL_TEST_EXEC})
add_subdirectory(test)
endif()
if(NOT CMAKE_VERSION VERSION_LESS "3.12")
install(TARGETS ssl
EXPORT ssl-targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY
DESTINATION ${CMAKE_INSTALL_LIBDIR}
NAMELINK_COMPONENT Development)
else()
install(TARGETS ssl
EXPORT ssl-targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
if(MSVC AND CMAKE_BUILD_TYPE_LOWER MATCHES "relwithdebinfo" AND FIPS)
install(FILES $<TARGET_FILE_DIR:ssl>/ssl.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
configure_file("cmake/ssl-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/ssl-config.cmake"
@ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ssl-config.cmake"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/ssl/cmake"
COMPONENT Development)
if (BUILD_SHARED_LIBS)
set (TARGET_DIR "shared")
else()
set (TARGET_DIR "static")
endif()
install(EXPORT ssl-targets
DESTINATION "${CMAKE_INSTALL_LIBDIR}/ssl/cmake/${TARGET_DIR}"
NAMESPACE AWS::
COMPONENT Development)