boringssl/ssl/CMakeLists.txt
Joshua Liebow-Feeser 8c7c6356e6 Support symbol prefixes
- In base.h, if BORINGSSL_PREFIX is defined, include
  boringssl_prefix_symbols.h
- In all .S files, if BORINGSSL_PREFIX is defined, include
  boringssl_prefix_symbols_asm.h
- In base.h, BSSL_NAMESPACE_BEGIN and BSSL_NAMESPACE_END are
  defined with appropriate values depending on whether
  BORINGSSL_PREFIX is defined; these macros are used in place
  of 'namespace bssl {' and '}'
- Add util/make_prefix_headers.go, which takes a list of symbols
  and auto-generates the header files mentioned above
- In CMakeLists.txt, if BORINGSSL_PREFIX and BORINGSSL_PREFIX_SYMBOLS
  are defined, run util/make_prefix_headers.go to generate header
  files
- In various CMakeLists.txt files, add "global_target" that all
  targets depend on to give us a place to hook logic that must run
  before all other targets (in particular, the header file generation
  logic)
- Document this in BUILDING.md, including the fact that it is
  the caller's responsibility to provide the symbol list and keep it
  up to date
- Note that this scheme has not been tested on Windows, and likely
  does not work on it; Windows support will need to be added in a
  future commit

Change-Id: If66a7157f46b5b66230ef91e15826b910cf979a2
Reviewed-on: https://boringssl-review.googlesource.com/31364
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Reviewed-by: David Benjamin <davidben@google.com>
2018-09-06 20:07:52 +00:00

65 lines
1013 B
CMake

include_directories(../include)
add_library(
ssl
bio_ssl.cc
d1_both.cc
d1_lib.cc
d1_pkt.cc
d1_srtp.cc
dtls_method.cc
dtls_record.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_file.cc
ssl_key_share.cc
ssl_lib.cc
ssl_privkey.cc
ssl_session.cc
ssl_stat.cc
ssl_transcript.cc
ssl_versions.cc
ssl_x509.cc
t1_enc.cc
t1_lib.cc
tls_method.cc
tls_record.cc
tls13_both.cc
tls13_client.cc
tls13_enc.cc
tls13_server.cc
)
add_dependencies(ssl global_target)
target_link_libraries(ssl crypto)
add_executable(
ssl_test
span_test.cc
ssl_test.cc
$<TARGET_OBJECTS:boringssl_gtest_main>
$<TARGET_OBJECTS:test_support>
)
add_dependencies(ssl_test global_target)
target_link_libraries(ssl_test ssl crypto boringssl_gtest)
if(WIN32)
target_link_libraries(ssl_test ws2_32)
endif()
add_dependencies(all_tests ssl_test)