# Copyright (c) 2015, Google Inc.
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

# This file is created by generate_build_files.py. Do not edit manually.

cmake_minimum_required(VERSION 3.12)

project(BoringSSL LANGUAGES C CXX)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fno-common -fno-exceptions -fno-rtti")
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fno-common")
endif()

# pthread_rwlock_t requires a feature flag on glibc.
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE=700")
endif()

if(WIN32)
  add_definitions(-D_HAS_EXCEPTIONS=0)
  add_definitions(-DWIN32_LEAN_AND_MEAN)
  add_definitions(-DNOMINMAX)
  # Allow use of fopen.
  add_definitions(-D_CRT_SECURE_NO_WARNINGS)
endif()

add_definitions(-DBORINGSSL_IMPLEMENTATION)

if(OPENSSL_NO_ASM)
  add_definitions(-DOPENSSL_NO_ASM)
else()
  # On x86 and x86_64 Windows, we use the NASM output.
  if(WIN32 AND CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64|x86_64|amd64|x86|i[3-6]86")
    enable_language(ASM_NASM)
    set(OPENSSL_NASM TRUE)
    set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -gcv8")
  else()
    enable_language(ASM)
    set(OPENSSL_ASM TRUE)
    # Work around https://gitlab.kitware.com/cmake/cmake/-/issues/20771 in older
    # CMake versions.
    if(APPLE AND CMAKE_VERSION VERSION_LESS 3.19)
      if(CMAKE_OSX_SYSROOT)
        set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -isysroot \"${CMAKE_OSX_SYSROOT}\"")
      endif()
      foreach(arch ${CMAKE_OSX_ARCHITECTURES})
        set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -arch ${arch}")
      endforeach()
    endif()
    if(NOT WIN32)
      set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,--noexecstack")
    endif()
    # Clang's integerated assembler does not support debug symbols.
    if(NOT CMAKE_ASM_COMPILER_ID MATCHES "Clang")
      set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,-g")
    endif()
  endif()
endif()

if(BUILD_SHARED_LIBS)
  add_definitions(-DBORINGSSL_SHARED_LIBRARY)
  # Enable position-independent code globally. This is needed because
  # some library targets are OBJECT libraries.
  set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
endif()

set(
  CRYPTO_SOURCES_ASM

  src/crypto/curve25519/asm/x25519-asm-arm.S
  src/crypto/hrss/asm/poly_rq_mul.S
  src/crypto/poly1305/poly1305_arm_asm.S
  src/gen/bcm/aesni-gcm-x86_64-apple.S
  src/gen/bcm/aesni-gcm-x86_64-linux.S
  src/gen/bcm/aesni-x86-apple.S
  src/gen/bcm/aesni-x86-linux.S
  src/gen/bcm/aesni-x86_64-apple.S
  src/gen/bcm/aesni-x86_64-linux.S
  src/gen/bcm/aesv8-armv7-linux.S
  src/gen/bcm/aesv8-armv8-apple.S
  src/gen/bcm/aesv8-armv8-linux.S
  src/gen/bcm/aesv8-armv8-win.S
  src/gen/bcm/aesv8-gcm-armv8-apple.S
  src/gen/bcm/aesv8-gcm-armv8-linux.S
  src/gen/bcm/aesv8-gcm-armv8-win.S
  src/gen/bcm/armv4-mont-linux.S
  src/gen/bcm/armv8-mont-apple.S
  src/gen/bcm/armv8-mont-linux.S
  src/gen/bcm/armv8-mont-win.S
  src/gen/bcm/bn-586-apple.S
  src/gen/bcm/bn-586-linux.S
  src/gen/bcm/bn-armv8-apple.S
  src/gen/bcm/bn-armv8-linux.S
  src/gen/bcm/bn-armv8-win.S
  src/gen/bcm/bsaes-armv7-linux.S
  src/gen/bcm/co-586-apple.S
  src/gen/bcm/co-586-linux.S
  src/gen/bcm/ghash-armv4-linux.S
  src/gen/bcm/ghash-neon-armv8-apple.S
  src/gen/bcm/ghash-neon-armv8-linux.S
  src/gen/bcm/ghash-neon-armv8-win.S
  src/gen/bcm/ghash-ssse3-x86-apple.S
  src/gen/bcm/ghash-ssse3-x86-linux.S
  src/gen/bcm/ghash-ssse3-x86_64-apple.S
  src/gen/bcm/ghash-ssse3-x86_64-linux.S
  src/gen/bcm/ghash-x86-apple.S
  src/gen/bcm/ghash-x86-linux.S
  src/gen/bcm/ghash-x86_64-apple.S
  src/gen/bcm/ghash-x86_64-linux.S
  src/gen/bcm/ghashv8-armv7-linux.S
  src/gen/bcm/ghashv8-armv8-apple.S
  src/gen/bcm/ghashv8-armv8-linux.S
  src/gen/bcm/ghashv8-armv8-win.S
  src/gen/bcm/md5-586-apple.S
  src/gen/bcm/md5-586-linux.S
  src/gen/bcm/md5-x86_64-apple.S
  src/gen/bcm/md5-x86_64-linux.S
  src/gen/bcm/p256-armv8-asm-apple.S
  src/gen/bcm/p256-armv8-asm-linux.S
  src/gen/bcm/p256-armv8-asm-win.S
  src/gen/bcm/p256-x86_64-asm-apple.S
  src/gen/bcm/p256-x86_64-asm-linux.S
  src/gen/bcm/p256_beeu-armv8-asm-apple.S
  src/gen/bcm/p256_beeu-armv8-asm-linux.S
  src/gen/bcm/p256_beeu-armv8-asm-win.S
  src/gen/bcm/p256_beeu-x86_64-asm-apple.S
  src/gen/bcm/p256_beeu-x86_64-asm-linux.S
  src/gen/bcm/rdrand-x86_64-apple.S
  src/gen/bcm/rdrand-x86_64-linux.S
  src/gen/bcm/rsaz-avx2-apple.S
  src/gen/bcm/rsaz-avx2-linux.S
  src/gen/bcm/sha1-586-apple.S
  src/gen/bcm/sha1-586-linux.S
  src/gen/bcm/sha1-armv4-large-linux.S
  src/gen/bcm/sha1-armv8-apple.S
  src/gen/bcm/sha1-armv8-linux.S
  src/gen/bcm/sha1-armv8-win.S
  src/gen/bcm/sha1-x86_64-apple.S
  src/gen/bcm/sha1-x86_64-linux.S
  src/gen/bcm/sha256-586-apple.S
  src/gen/bcm/sha256-586-linux.S
  src/gen/bcm/sha256-armv4-linux.S
  src/gen/bcm/sha256-armv8-apple.S
  src/gen/bcm/sha256-armv8-linux.S
  src/gen/bcm/sha256-armv8-win.S
  src/gen/bcm/sha256-x86_64-apple.S
  src/gen/bcm/sha256-x86_64-linux.S
  src/gen/bcm/sha512-586-apple.S
  src/gen/bcm/sha512-586-linux.S
  src/gen/bcm/sha512-armv4-linux.S
  src/gen/bcm/sha512-armv8-apple.S
  src/gen/bcm/sha512-armv8-linux.S
  src/gen/bcm/sha512-armv8-win.S
  src/gen/bcm/sha512-x86_64-apple.S
  src/gen/bcm/sha512-x86_64-linux.S
  src/gen/bcm/vpaes-armv7-linux.S
  src/gen/bcm/vpaes-armv8-apple.S
  src/gen/bcm/vpaes-armv8-linux.S
  src/gen/bcm/vpaes-armv8-win.S
  src/gen/bcm/vpaes-x86-apple.S
  src/gen/bcm/vpaes-x86-linux.S
  src/gen/bcm/vpaes-x86_64-apple.S
  src/gen/bcm/vpaes-x86_64-linux.S
  src/gen/bcm/x86-mont-apple.S
  src/gen/bcm/x86-mont-linux.S
  src/gen/bcm/x86_64-mont-apple.S
  src/gen/bcm/x86_64-mont-linux.S
  src/gen/bcm/x86_64-mont5-apple.S
  src/gen/bcm/x86_64-mont5-linux.S
  src/gen/crypto/aes128gcmsiv-x86_64-apple.S
  src/gen/crypto/aes128gcmsiv-x86_64-linux.S
  src/gen/crypto/chacha-armv4-linux.S
  src/gen/crypto/chacha-armv8-apple.S
  src/gen/crypto/chacha-armv8-linux.S
  src/gen/crypto/chacha-armv8-win.S
  src/gen/crypto/chacha-x86-apple.S
  src/gen/crypto/chacha-x86-linux.S
  src/gen/crypto/chacha-x86_64-apple.S
  src/gen/crypto/chacha-x86_64-linux.S
  src/gen/crypto/chacha20_poly1305_armv8-apple.S
  src/gen/crypto/chacha20_poly1305_armv8-linux.S
  src/gen/crypto/chacha20_poly1305_armv8-win.S
  src/gen/crypto/chacha20_poly1305_x86_64-apple.S
  src/gen/crypto/chacha20_poly1305_x86_64-linux.S
  src/gen/test_support/trampoline-armv4-linux.S
  src/gen/test_support/trampoline-armv8-apple.S
  src/gen/test_support/trampoline-armv8-linux.S
  src/gen/test_support/trampoline-armv8-win.S
  src/gen/test_support/trampoline-x86-apple.S
  src/gen/test_support/trampoline-x86-linux.S
  src/gen/test_support/trampoline-x86_64-apple.S
  src/gen/test_support/trampoline-x86_64-linux.S
  src/third_party/fiat/asm/fiat_curve25519_adx_mul.S
  src/third_party/fiat/asm/fiat_curve25519_adx_square.S
  src/third_party/fiat/asm/fiat_p256_adx_mul.S
  src/third_party/fiat/asm/fiat_p256_adx_sqr.S
)

set(
  CRYPTO_SOURCES_NASM

  src/gen/bcm/aesni-gcm-x86_64-win.asm
  src/gen/bcm/aesni-x86-win.asm
  src/gen/bcm/aesni-x86_64-win.asm
  src/gen/bcm/bn-586-win.asm
  src/gen/bcm/co-586-win.asm
  src/gen/bcm/ghash-ssse3-x86-win.asm
  src/gen/bcm/ghash-ssse3-x86_64-win.asm
  src/gen/bcm/ghash-x86-win.asm
  src/gen/bcm/ghash-x86_64-win.asm
  src/gen/bcm/md5-586-win.asm
  src/gen/bcm/md5-x86_64-win.asm
  src/gen/bcm/p256-x86_64-asm-win.asm
  src/gen/bcm/p256_beeu-x86_64-asm-win.asm
  src/gen/bcm/rdrand-x86_64-win.asm
  src/gen/bcm/rsaz-avx2-win.asm
  src/gen/bcm/sha1-586-win.asm
  src/gen/bcm/sha1-x86_64-win.asm
  src/gen/bcm/sha256-586-win.asm
  src/gen/bcm/sha256-x86_64-win.asm
  src/gen/bcm/sha512-586-win.asm
  src/gen/bcm/sha512-x86_64-win.asm
  src/gen/bcm/vpaes-x86-win.asm
  src/gen/bcm/vpaes-x86_64-win.asm
  src/gen/bcm/x86-mont-win.asm
  src/gen/bcm/x86_64-mont-win.asm
  src/gen/bcm/x86_64-mont5-win.asm
  src/gen/crypto/aes128gcmsiv-x86_64-win.asm
  src/gen/crypto/chacha-x86-win.asm
  src/gen/crypto/chacha-x86_64-win.asm
  src/gen/crypto/chacha20_poly1305_x86_64-win.asm
  src/gen/test_support/trampoline-x86-win.asm
  src/gen/test_support/trampoline-x86_64-win.asm
)

if(OPENSSL_ASM)
  list(APPEND CRYPTO_SOURCES_ASM_USED ${CRYPTO_SOURCES_ASM})
endif()
if(OPENSSL_NASM)
  list(APPEND CRYPTO_SOURCES_ASM_USED ${CRYPTO_SOURCES_NASM})
endif()

add_library(
  crypto

  ${CRYPTO_SOURCES_ASM_USED}
  src/crypto/asn1/a_bitstr.c
  src/crypto/asn1/a_bool.c
  src/crypto/asn1/a_d2i_fp.c
  src/crypto/asn1/a_dup.c
  src/crypto/asn1/a_gentm.c
  src/crypto/asn1/a_i2d_fp.c
  src/crypto/asn1/a_int.c
  src/crypto/asn1/a_mbstr.c
  src/crypto/asn1/a_object.c
  src/crypto/asn1/a_octet.c
  src/crypto/asn1/a_strex.c
  src/crypto/asn1/a_strnid.c
  src/crypto/asn1/a_time.c
  src/crypto/asn1/a_type.c
  src/crypto/asn1/a_utctm.c
  src/crypto/asn1/asn1_lib.c
  src/crypto/asn1/asn1_par.c
  src/crypto/asn1/asn_pack.c
  src/crypto/asn1/f_int.c
  src/crypto/asn1/f_string.c
  src/crypto/asn1/posix_time.c
  src/crypto/asn1/tasn_dec.c
  src/crypto/asn1/tasn_enc.c
  src/crypto/asn1/tasn_fre.c
  src/crypto/asn1/tasn_new.c
  src/crypto/asn1/tasn_typ.c
  src/crypto/asn1/tasn_utl.c
  src/crypto/base64/base64.c
  src/crypto/bio/bio.c
  src/crypto/bio/bio_mem.c
  src/crypto/bio/connect.c
  src/crypto/bio/errno.c
  src/crypto/bio/fd.c
  src/crypto/bio/file.c
  src/crypto/bio/hexdump.c
  src/crypto/bio/pair.c
  src/crypto/bio/printf.c
  src/crypto/bio/socket.c
  src/crypto/bio/socket_helper.c
  src/crypto/blake2/blake2.c
  src/crypto/bn_extra/bn_asn1.c
  src/crypto/bn_extra/convert.c
  src/crypto/buf/buf.c
  src/crypto/bytestring/asn1_compat.c
  src/crypto/bytestring/ber.c
  src/crypto/bytestring/cbb.c
  src/crypto/bytestring/cbs.c
  src/crypto/bytestring/unicode.c
  src/crypto/chacha/chacha.c
  src/crypto/cipher_extra/cipher_extra.c
  src/crypto/cipher_extra/derive_key.c
  src/crypto/cipher_extra/e_aesctrhmac.c
  src/crypto/cipher_extra/e_aesgcmsiv.c
  src/crypto/cipher_extra/e_chacha20poly1305.c
  src/crypto/cipher_extra/e_des.c
  src/crypto/cipher_extra/e_null.c
  src/crypto/cipher_extra/e_rc2.c
  src/crypto/cipher_extra/e_rc4.c
  src/crypto/cipher_extra/e_tls.c
  src/crypto/cipher_extra/tls_cbc.c
  src/crypto/conf/conf.c
  src/crypto/cpu_aarch64_apple.c
  src/crypto/cpu_aarch64_fuchsia.c
  src/crypto/cpu_aarch64_linux.c
  src/crypto/cpu_aarch64_openbsd.c
  src/crypto/cpu_aarch64_sysreg.c
  src/crypto/cpu_aarch64_win.c
  src/crypto/cpu_arm_freebsd.c
  src/crypto/cpu_arm_linux.c
  src/crypto/cpu_intel.c
  src/crypto/crypto.c
  src/crypto/curve25519/curve25519.c
  src/crypto/curve25519/curve25519_64_adx.c
  src/crypto/curve25519/spake25519.c
  src/crypto/des/des.c
  src/crypto/dh_extra/dh_asn1.c
  src/crypto/dh_extra/params.c
  src/crypto/digest_extra/digest_extra.c
  src/crypto/dilithium/dilithium.c
  src/crypto/dsa/dsa.c
  src/crypto/dsa/dsa_asn1.c
  src/crypto/ec_extra/ec_asn1.c
  src/crypto/ec_extra/ec_derive.c
  src/crypto/ec_extra/hash_to_curve.c
  src/crypto/ecdh_extra/ecdh_extra.c
  src/crypto/ecdsa_extra/ecdsa_asn1.c
  src/crypto/engine/engine.c
  src/crypto/err/err.c
  src/crypto/evp/evp.c
  src/crypto/evp/evp_asn1.c
  src/crypto/evp/evp_ctx.c
  src/crypto/evp/p_dh.c
  src/crypto/evp/p_dh_asn1.c
  src/crypto/evp/p_dsa_asn1.c
  src/crypto/evp/p_ec.c
  src/crypto/evp/p_ec_asn1.c
  src/crypto/evp/p_ed25519.c
  src/crypto/evp/p_ed25519_asn1.c
  src/crypto/evp/p_hkdf.c
  src/crypto/evp/p_rsa.c
  src/crypto/evp/p_rsa_asn1.c
  src/crypto/evp/p_x25519.c
  src/crypto/evp/p_x25519_asn1.c
  src/crypto/evp/pbkdf.c
  src/crypto/evp/print.c
  src/crypto/evp/scrypt.c
  src/crypto/evp/sign.c
  src/crypto/ex_data.c
  src/crypto/fipsmodule/bcm.c
  src/crypto/fipsmodule/fips_shared_support.c
  src/crypto/hpke/hpke.c
  src/crypto/hrss/hrss.c
  src/crypto/keccak/keccak.c
  src/crypto/kyber/kyber.c
  src/crypto/lhash/lhash.c
  src/crypto/mem.c
  src/crypto/obj/obj.c
  src/crypto/obj/obj_xref.c
  src/crypto/pem/pem_all.c
  src/crypto/pem/pem_info.c
  src/crypto/pem/pem_lib.c
  src/crypto/pem/pem_oth.c
  src/crypto/pem/pem_pk8.c
  src/crypto/pem/pem_pkey.c
  src/crypto/pem/pem_x509.c
  src/crypto/pem/pem_xaux.c
  src/crypto/pkcs7/pkcs7.c
  src/crypto/pkcs7/pkcs7_x509.c
  src/crypto/pkcs8/p5_pbev2.c
  src/crypto/pkcs8/pkcs8.c
  src/crypto/pkcs8/pkcs8_x509.c
  src/crypto/poly1305/poly1305.c
  src/crypto/poly1305/poly1305_arm.c
  src/crypto/poly1305/poly1305_vec.c
  src/crypto/pool/pool.c
  src/crypto/rand_extra/deterministic.c
  src/crypto/rand_extra/forkunsafe.c
  src/crypto/rand_extra/getentropy.c
  src/crypto/rand_extra/ios.c
  src/crypto/rand_extra/passive.c
  src/crypto/rand_extra/rand_extra.c
  src/crypto/rand_extra/trusty.c
  src/crypto/rand_extra/windows.c
  src/crypto/rc4/rc4.c
  src/crypto/refcount.c
  src/crypto/rsa_extra/rsa_asn1.c
  src/crypto/rsa_extra/rsa_crypt.c
  src/crypto/rsa_extra/rsa_print.c
  src/crypto/siphash/siphash.c
  src/crypto/spx/address.c
  src/crypto/spx/fors.c
  src/crypto/spx/merkle.c
  src/crypto/spx/spx.c
  src/crypto/spx/spx_util.c
  src/crypto/spx/thash.c
  src/crypto/spx/wots.c
  src/crypto/stack/stack.c
  src/crypto/thread.c
  src/crypto/thread_none.c
  src/crypto/thread_pthread.c
  src/crypto/thread_win.c
  src/crypto/trust_token/pmbtoken.c
  src/crypto/trust_token/trust_token.c
  src/crypto/trust_token/voprf.c
  src/crypto/x509/a_digest.c
  src/crypto/x509/a_sign.c
  src/crypto/x509/a_verify.c
  src/crypto/x509/algorithm.c
  src/crypto/x509/asn1_gen.c
  src/crypto/x509/by_dir.c
  src/crypto/x509/by_file.c
  src/crypto/x509/i2d_pr.c
  src/crypto/x509/name_print.c
  src/crypto/x509/policy.c
  src/crypto/x509/rsa_pss.c
  src/crypto/x509/t_crl.c
  src/crypto/x509/t_req.c
  src/crypto/x509/t_x509.c
  src/crypto/x509/t_x509a.c
  src/crypto/x509/v3_akey.c
  src/crypto/x509/v3_akeya.c
  src/crypto/x509/v3_alt.c
  src/crypto/x509/v3_bcons.c
  src/crypto/x509/v3_bitst.c
  src/crypto/x509/v3_conf.c
  src/crypto/x509/v3_cpols.c
  src/crypto/x509/v3_crld.c
  src/crypto/x509/v3_enum.c
  src/crypto/x509/v3_extku.c
  src/crypto/x509/v3_genn.c
  src/crypto/x509/v3_ia5.c
  src/crypto/x509/v3_info.c
  src/crypto/x509/v3_int.c
  src/crypto/x509/v3_lib.c
  src/crypto/x509/v3_ncons.c
  src/crypto/x509/v3_ocsp.c
  src/crypto/x509/v3_pcons.c
  src/crypto/x509/v3_pmaps.c
  src/crypto/x509/v3_prn.c
  src/crypto/x509/v3_purp.c
  src/crypto/x509/v3_skey.c
  src/crypto/x509/v3_utl.c
  src/crypto/x509/x509.c
  src/crypto/x509/x509_att.c
  src/crypto/x509/x509_cmp.c
  src/crypto/x509/x509_d2.c
  src/crypto/x509/x509_def.c
  src/crypto/x509/x509_ext.c
  src/crypto/x509/x509_lu.c
  src/crypto/x509/x509_obj.c
  src/crypto/x509/x509_req.c
  src/crypto/x509/x509_set.c
  src/crypto/x509/x509_trs.c
  src/crypto/x509/x509_txt.c
  src/crypto/x509/x509_v3.c
  src/crypto/x509/x509_vfy.c
  src/crypto/x509/x509_vpm.c
  src/crypto/x509/x509cset.c
  src/crypto/x509/x509name.c
  src/crypto/x509/x509rset.c
  src/crypto/x509/x509spki.c
  src/crypto/x509/x_algor.c
  src/crypto/x509/x_all.c
  src/crypto/x509/x_attrib.c
  src/crypto/x509/x_crl.c
  src/crypto/x509/x_exten.c
  src/crypto/x509/x_name.c
  src/crypto/x509/x_pubkey.c
  src/crypto/x509/x_req.c
  src/crypto/x509/x_sig.c
  src/crypto/x509/x_spki.c
  src/crypto/x509/x_val.c
  src/crypto/x509/x_x509.c
  src/crypto/x509/x_x509a.c
  src/gen/crypto/err_data.c
)

target_include_directories(crypto PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/include>)

add_library(
  ssl

  src/ssl/bio_ssl.cc
  src/ssl/d1_both.cc
  src/ssl/d1_lib.cc
  src/ssl/d1_pkt.cc
  src/ssl/d1_srtp.cc
  src/ssl/dtls_method.cc
  src/ssl/dtls_record.cc
  src/ssl/encrypted_client_hello.cc
  src/ssl/extensions.cc
  src/ssl/handoff.cc
  src/ssl/handshake.cc
  src/ssl/handshake_client.cc
  src/ssl/handshake_server.cc
  src/ssl/s3_both.cc
  src/ssl/s3_lib.cc
  src/ssl/s3_pkt.cc
  src/ssl/ssl_aead_ctx.cc
  src/ssl/ssl_asn1.cc
  src/ssl/ssl_buffer.cc
  src/ssl/ssl_cert.cc
  src/ssl/ssl_cipher.cc
  src/ssl/ssl_credential.cc
  src/ssl/ssl_file.cc
  src/ssl/ssl_key_share.cc
  src/ssl/ssl_lib.cc
  src/ssl/ssl_privkey.cc
  src/ssl/ssl_session.cc
  src/ssl/ssl_stat.cc
  src/ssl/ssl_transcript.cc
  src/ssl/ssl_versions.cc
  src/ssl/ssl_x509.cc
  src/ssl/t1_enc.cc
  src/ssl/tls13_both.cc
  src/ssl/tls13_client.cc
  src/ssl/tls13_enc.cc
  src/ssl/tls13_server.cc
  src/ssl/tls_method.cc
  src/ssl/tls_record.cc
)

target_link_libraries(ssl crypto)

add_executable(
  bssl

  src/tool/args.cc
  src/tool/ciphers.cc
  src/tool/client.cc
  src/tool/const.cc
  src/tool/digest.cc
  src/tool/fd.cc
  src/tool/file.cc
  src/tool/generate_ech.cc
  src/tool/generate_ed25519.cc
  src/tool/genrsa.cc
  src/tool/pkcs12.cc
  src/tool/rand.cc
  src/tool/server.cc
  src/tool/sign.cc
  src/tool/speed.cc
  src/tool/tool.cc
  src/tool/transport_common.cc
)

target_link_libraries(bssl ssl crypto)

if(NOT CMAKE_SYSTEM_NAME STREQUAL "Android")
  find_package(Threads REQUIRED)
  target_link_libraries(crypto Threads::Threads)
endif()

if(WIN32)
  target_link_libraries(crypto ws2_32)
endif()

