1# Copyright 2015 The BoringSSL Authors 2# 3# Permission to use, copy, modify, and/or distribute this software for any 4# purpose with or without fee is hereby granted, provided that the above 5# copyright notice and this permission notice appear in all copies. 6# 7# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 15# This file is created by generate_build_files.py. Do not edit manually. 16 17cmake_minimum_required(VERSION 3.16) 18 19project(BoringSSL LANGUAGES C CXX) 20 21set(CMAKE_CXX_STANDARD 14) 22set(CMAKE_CXX_STANDARD_REQUIRED ON) 23set(CMAKE_C_STANDARD 11) 24set(CMAKE_C_STANDARD_REQUIRED ON) 25if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") 26 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fno-common -fno-exceptions -fno-rtti") 27 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fno-common") 28endif() 29 30# pthread_rwlock_t requires a feature flag on glibc. 31if(CMAKE_SYSTEM_NAME STREQUAL "Linux") 32 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE=700") 33endif() 34 35if(WIN32) 36 add_definitions(-D_HAS_EXCEPTIONS=0) 37 add_definitions(-DWIN32_LEAN_AND_MEAN) 38 add_definitions(-DNOMINMAX) 39 # Allow use of fopen. 40 add_definitions(-D_CRT_SECURE_NO_WARNINGS) 41endif() 42 43add_definitions(-DBORINGSSL_IMPLEMENTATION) 44 45if(OPENSSL_NO_ASM) 46 add_definitions(-DOPENSSL_NO_ASM) 47else() 48 # On x86 and x86_64 Windows, we use the NASM output. 49 if(WIN32 AND CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64|x86_64|amd64|x86|i[3-6]86") 50 enable_language(ASM_NASM) 51 set(OPENSSL_NASM TRUE) 52 set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -gcv8") 53 else() 54 enable_language(ASM) 55 set(OPENSSL_ASM TRUE) 56 # Work around https://gitlab.kitware.com/cmake/cmake/-/issues/20771 in older 57 # CMake versions. 58 if(APPLE AND CMAKE_VERSION VERSION_LESS 3.19) 59 if(CMAKE_OSX_SYSROOT) 60 set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -isysroot \"${CMAKE_OSX_SYSROOT}\"") 61 endif() 62 foreach(arch ${CMAKE_OSX_ARCHITECTURES}) 63 set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -arch ${arch}") 64 endforeach() 65 endif() 66 if(NOT WIN32) 67 set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,--noexecstack") 68 endif() 69 # Clang's integerated assembler does not support debug symbols. 70 if(NOT CMAKE_ASM_COMPILER_ID MATCHES "Clang") 71 set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,-g") 72 endif() 73 endif() 74endif() 75 76if(BUILD_SHARED_LIBS) 77 add_definitions(-DBORINGSSL_SHARED_LIBRARY) 78 # Enable position-independent code globally. This is needed because 79 # some library targets are OBJECT libraries. 80 set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) 81endif() 82 83set( 84 CRYPTO_SOURCES_ASM 85 86 src/crypto/curve25519/asm/x25519-asm-arm.S 87 src/crypto/hrss/asm/poly_rq_mul.S 88 src/crypto/poly1305/poly1305_arm_asm.S 89 src/gen/bcm/aes-gcm-avx10-x86_64-apple.S 90 src/gen/bcm/aes-gcm-avx10-x86_64-linux.S 91 src/gen/bcm/aes-gcm-avx2-x86_64-apple.S 92 src/gen/bcm/aes-gcm-avx2-x86_64-linux.S 93 src/gen/bcm/aesni-gcm-x86_64-apple.S 94 src/gen/bcm/aesni-gcm-x86_64-linux.S 95 src/gen/bcm/aesni-x86-apple.S 96 src/gen/bcm/aesni-x86-linux.S 97 src/gen/bcm/aesni-x86_64-apple.S 98 src/gen/bcm/aesni-x86_64-linux.S 99 src/gen/bcm/aesv8-armv7-linux.S 100 src/gen/bcm/aesv8-armv8-apple.S 101 src/gen/bcm/aesv8-armv8-linux.S 102 src/gen/bcm/aesv8-armv8-win.S 103 src/gen/bcm/aesv8-gcm-armv8-apple.S 104 src/gen/bcm/aesv8-gcm-armv8-linux.S 105 src/gen/bcm/aesv8-gcm-armv8-win.S 106 src/gen/bcm/armv4-mont-linux.S 107 src/gen/bcm/armv8-mont-apple.S 108 src/gen/bcm/armv8-mont-linux.S 109 src/gen/bcm/armv8-mont-win.S 110 src/gen/bcm/bn-586-apple.S 111 src/gen/bcm/bn-586-linux.S 112 src/gen/bcm/bn-armv8-apple.S 113 src/gen/bcm/bn-armv8-linux.S 114 src/gen/bcm/bn-armv8-win.S 115 src/gen/bcm/bsaes-armv7-linux.S 116 src/gen/bcm/co-586-apple.S 117 src/gen/bcm/co-586-linux.S 118 src/gen/bcm/ghash-armv4-linux.S 119 src/gen/bcm/ghash-neon-armv8-apple.S 120 src/gen/bcm/ghash-neon-armv8-linux.S 121 src/gen/bcm/ghash-neon-armv8-win.S 122 src/gen/bcm/ghash-ssse3-x86-apple.S 123 src/gen/bcm/ghash-ssse3-x86-linux.S 124 src/gen/bcm/ghash-ssse3-x86_64-apple.S 125 src/gen/bcm/ghash-ssse3-x86_64-linux.S 126 src/gen/bcm/ghash-x86-apple.S 127 src/gen/bcm/ghash-x86-linux.S 128 src/gen/bcm/ghash-x86_64-apple.S 129 src/gen/bcm/ghash-x86_64-linux.S 130 src/gen/bcm/ghashv8-armv7-linux.S 131 src/gen/bcm/ghashv8-armv8-apple.S 132 src/gen/bcm/ghashv8-armv8-linux.S 133 src/gen/bcm/ghashv8-armv8-win.S 134 src/gen/bcm/p256-armv8-asm-apple.S 135 src/gen/bcm/p256-armv8-asm-linux.S 136 src/gen/bcm/p256-armv8-asm-win.S 137 src/gen/bcm/p256-x86_64-asm-apple.S 138 src/gen/bcm/p256-x86_64-asm-linux.S 139 src/gen/bcm/p256_beeu-armv8-asm-apple.S 140 src/gen/bcm/p256_beeu-armv8-asm-linux.S 141 src/gen/bcm/p256_beeu-armv8-asm-win.S 142 src/gen/bcm/p256_beeu-x86_64-asm-apple.S 143 src/gen/bcm/p256_beeu-x86_64-asm-linux.S 144 src/gen/bcm/rdrand-x86_64-apple.S 145 src/gen/bcm/rdrand-x86_64-linux.S 146 src/gen/bcm/rsaz-avx2-apple.S 147 src/gen/bcm/rsaz-avx2-linux.S 148 src/gen/bcm/sha1-586-apple.S 149 src/gen/bcm/sha1-586-linux.S 150 src/gen/bcm/sha1-armv4-large-linux.S 151 src/gen/bcm/sha1-armv8-apple.S 152 src/gen/bcm/sha1-armv8-linux.S 153 src/gen/bcm/sha1-armv8-win.S 154 src/gen/bcm/sha1-x86_64-apple.S 155 src/gen/bcm/sha1-x86_64-linux.S 156 src/gen/bcm/sha256-586-apple.S 157 src/gen/bcm/sha256-586-linux.S 158 src/gen/bcm/sha256-armv4-linux.S 159 src/gen/bcm/sha256-armv8-apple.S 160 src/gen/bcm/sha256-armv8-linux.S 161 src/gen/bcm/sha256-armv8-win.S 162 src/gen/bcm/sha256-x86_64-apple.S 163 src/gen/bcm/sha256-x86_64-linux.S 164 src/gen/bcm/sha512-586-apple.S 165 src/gen/bcm/sha512-586-linux.S 166 src/gen/bcm/sha512-armv4-linux.S 167 src/gen/bcm/sha512-armv8-apple.S 168 src/gen/bcm/sha512-armv8-linux.S 169 src/gen/bcm/sha512-armv8-win.S 170 src/gen/bcm/sha512-x86_64-apple.S 171 src/gen/bcm/sha512-x86_64-linux.S 172 src/gen/bcm/vpaes-armv7-linux.S 173 src/gen/bcm/vpaes-armv8-apple.S 174 src/gen/bcm/vpaes-armv8-linux.S 175 src/gen/bcm/vpaes-armv8-win.S 176 src/gen/bcm/vpaes-x86-apple.S 177 src/gen/bcm/vpaes-x86-linux.S 178 src/gen/bcm/vpaes-x86_64-apple.S 179 src/gen/bcm/vpaes-x86_64-linux.S 180 src/gen/bcm/x86-mont-apple.S 181 src/gen/bcm/x86-mont-linux.S 182 src/gen/bcm/x86_64-mont-apple.S 183 src/gen/bcm/x86_64-mont-linux.S 184 src/gen/bcm/x86_64-mont5-apple.S 185 src/gen/bcm/x86_64-mont5-linux.S 186 src/gen/crypto/aes128gcmsiv-x86_64-apple.S 187 src/gen/crypto/aes128gcmsiv-x86_64-linux.S 188 src/gen/crypto/chacha-armv4-linux.S 189 src/gen/crypto/chacha-armv8-apple.S 190 src/gen/crypto/chacha-armv8-linux.S 191 src/gen/crypto/chacha-armv8-win.S 192 src/gen/crypto/chacha-x86-apple.S 193 src/gen/crypto/chacha-x86-linux.S 194 src/gen/crypto/chacha-x86_64-apple.S 195 src/gen/crypto/chacha-x86_64-linux.S 196 src/gen/crypto/chacha20_poly1305_armv8-apple.S 197 src/gen/crypto/chacha20_poly1305_armv8-linux.S 198 src/gen/crypto/chacha20_poly1305_armv8-win.S 199 src/gen/crypto/chacha20_poly1305_x86_64-apple.S 200 src/gen/crypto/chacha20_poly1305_x86_64-linux.S 201 src/gen/crypto/md5-586-apple.S 202 src/gen/crypto/md5-586-linux.S 203 src/gen/crypto/md5-x86_64-apple.S 204 src/gen/crypto/md5-x86_64-linux.S 205 src/gen/test_support/trampoline-armv4-linux.S 206 src/gen/test_support/trampoline-armv8-apple.S 207 src/gen/test_support/trampoline-armv8-linux.S 208 src/gen/test_support/trampoline-armv8-win.S 209 src/gen/test_support/trampoline-x86-apple.S 210 src/gen/test_support/trampoline-x86-linux.S 211 src/gen/test_support/trampoline-x86_64-apple.S 212 src/gen/test_support/trampoline-x86_64-linux.S 213 src/third_party/fiat/asm/fiat_curve25519_adx_mul.S 214 src/third_party/fiat/asm/fiat_curve25519_adx_square.S 215 src/third_party/fiat/asm/fiat_p256_adx_mul.S 216 src/third_party/fiat/asm/fiat_p256_adx_sqr.S 217) 218 219set( 220 CRYPTO_SOURCES_NASM 221 222 src/gen/bcm/aes-gcm-avx10-x86_64-win.asm 223 src/gen/bcm/aes-gcm-avx2-x86_64-win.asm 224 src/gen/bcm/aesni-gcm-x86_64-win.asm 225 src/gen/bcm/aesni-x86-win.asm 226 src/gen/bcm/aesni-x86_64-win.asm 227 src/gen/bcm/bn-586-win.asm 228 src/gen/bcm/co-586-win.asm 229 src/gen/bcm/ghash-ssse3-x86-win.asm 230 src/gen/bcm/ghash-ssse3-x86_64-win.asm 231 src/gen/bcm/ghash-x86-win.asm 232 src/gen/bcm/ghash-x86_64-win.asm 233 src/gen/bcm/p256-x86_64-asm-win.asm 234 src/gen/bcm/p256_beeu-x86_64-asm-win.asm 235 src/gen/bcm/rdrand-x86_64-win.asm 236 src/gen/bcm/rsaz-avx2-win.asm 237 src/gen/bcm/sha1-586-win.asm 238 src/gen/bcm/sha1-x86_64-win.asm 239 src/gen/bcm/sha256-586-win.asm 240 src/gen/bcm/sha256-x86_64-win.asm 241 src/gen/bcm/sha512-586-win.asm 242 src/gen/bcm/sha512-x86_64-win.asm 243 src/gen/bcm/vpaes-x86-win.asm 244 src/gen/bcm/vpaes-x86_64-win.asm 245 src/gen/bcm/x86-mont-win.asm 246 src/gen/bcm/x86_64-mont-win.asm 247 src/gen/bcm/x86_64-mont5-win.asm 248 src/gen/crypto/aes128gcmsiv-x86_64-win.asm 249 src/gen/crypto/chacha-x86-win.asm 250 src/gen/crypto/chacha-x86_64-win.asm 251 src/gen/crypto/chacha20_poly1305_x86_64-win.asm 252 src/gen/crypto/md5-586-win.asm 253 src/gen/crypto/md5-x86_64-win.asm 254 src/gen/test_support/trampoline-x86-win.asm 255 src/gen/test_support/trampoline-x86_64-win.asm 256) 257 258if(OPENSSL_ASM) 259 list(APPEND CRYPTO_SOURCES_ASM_USED ${CRYPTO_SOURCES_ASM}) 260endif() 261if(OPENSSL_NASM) 262 list(APPEND CRYPTO_SOURCES_ASM_USED ${CRYPTO_SOURCES_NASM}) 263endif() 264 265add_library( 266 crypto 267 268 ${CRYPTO_SOURCES_ASM_USED} 269 src/crypto/asn1/a_bitstr.cc 270 src/crypto/asn1/a_bool.cc 271 src/crypto/asn1/a_d2i_fp.cc 272 src/crypto/asn1/a_dup.cc 273 src/crypto/asn1/a_gentm.cc 274 src/crypto/asn1/a_i2d_fp.cc 275 src/crypto/asn1/a_int.cc 276 src/crypto/asn1/a_mbstr.cc 277 src/crypto/asn1/a_object.cc 278 src/crypto/asn1/a_octet.cc 279 src/crypto/asn1/a_strex.cc 280 src/crypto/asn1/a_strnid.cc 281 src/crypto/asn1/a_time.cc 282 src/crypto/asn1/a_type.cc 283 src/crypto/asn1/a_utctm.cc 284 src/crypto/asn1/asn1_lib.cc 285 src/crypto/asn1/asn1_par.cc 286 src/crypto/asn1/asn_pack.cc 287 src/crypto/asn1/f_int.cc 288 src/crypto/asn1/f_string.cc 289 src/crypto/asn1/posix_time.cc 290 src/crypto/asn1/tasn_dec.cc 291 src/crypto/asn1/tasn_enc.cc 292 src/crypto/asn1/tasn_fre.cc 293 src/crypto/asn1/tasn_new.cc 294 src/crypto/asn1/tasn_typ.cc 295 src/crypto/asn1/tasn_utl.cc 296 src/crypto/base64/base64.cc 297 src/crypto/bio/bio.cc 298 src/crypto/bio/bio_mem.cc 299 src/crypto/bio/connect.cc 300 src/crypto/bio/errno.cc 301 src/crypto/bio/fd.cc 302 src/crypto/bio/file.cc 303 src/crypto/bio/hexdump.cc 304 src/crypto/bio/pair.cc 305 src/crypto/bio/printf.cc 306 src/crypto/bio/socket.cc 307 src/crypto/bio/socket_helper.cc 308 src/crypto/blake2/blake2.cc 309 src/crypto/bn_extra/bn_asn1.cc 310 src/crypto/bn_extra/convert.cc 311 src/crypto/buf/buf.cc 312 src/crypto/bytestring/asn1_compat.cc 313 src/crypto/bytestring/ber.cc 314 src/crypto/bytestring/cbb.cc 315 src/crypto/bytestring/cbs.cc 316 src/crypto/bytestring/unicode.cc 317 src/crypto/chacha/chacha.cc 318 src/crypto/cipher_extra/cipher_extra.cc 319 src/crypto/cipher_extra/derive_key.cc 320 src/crypto/cipher_extra/e_aesctrhmac.cc 321 src/crypto/cipher_extra/e_aesgcmsiv.cc 322 src/crypto/cipher_extra/e_chacha20poly1305.cc 323 src/crypto/cipher_extra/e_des.cc 324 src/crypto/cipher_extra/e_null.cc 325 src/crypto/cipher_extra/e_rc2.cc 326 src/crypto/cipher_extra/e_rc4.cc 327 src/crypto/cipher_extra/e_tls.cc 328 src/crypto/cipher_extra/tls_cbc.cc 329 src/crypto/conf/conf.cc 330 src/crypto/cpu_aarch64_apple.cc 331 src/crypto/cpu_aarch64_fuchsia.cc 332 src/crypto/cpu_aarch64_linux.cc 333 src/crypto/cpu_aarch64_openbsd.cc 334 src/crypto/cpu_aarch64_sysreg.cc 335 src/crypto/cpu_aarch64_win.cc 336 src/crypto/cpu_arm_freebsd.cc 337 src/crypto/cpu_arm_linux.cc 338 src/crypto/cpu_intel.cc 339 src/crypto/crypto.cc 340 src/crypto/curve25519/curve25519.cc 341 src/crypto/curve25519/curve25519_64_adx.cc 342 src/crypto/curve25519/spake25519.cc 343 src/crypto/des/des.cc 344 src/crypto/dh_extra/dh_asn1.cc 345 src/crypto/dh_extra/params.cc 346 src/crypto/digest_extra/digest_extra.cc 347 src/crypto/dsa/dsa.cc 348 src/crypto/dsa/dsa_asn1.cc 349 src/crypto/ec_extra/ec_asn1.cc 350 src/crypto/ec_extra/ec_derive.cc 351 src/crypto/ec_extra/hash_to_curve.cc 352 src/crypto/ecdh_extra/ecdh_extra.cc 353 src/crypto/ecdsa_extra/ecdsa_asn1.cc 354 src/crypto/engine/engine.cc 355 src/crypto/err/err.cc 356 src/crypto/evp/evp.cc 357 src/crypto/evp/evp_asn1.cc 358 src/crypto/evp/evp_ctx.cc 359 src/crypto/evp/p_dh.cc 360 src/crypto/evp/p_dh_asn1.cc 361 src/crypto/evp/p_dsa_asn1.cc 362 src/crypto/evp/p_ec.cc 363 src/crypto/evp/p_ec_asn1.cc 364 src/crypto/evp/p_ed25519.cc 365 src/crypto/evp/p_ed25519_asn1.cc 366 src/crypto/evp/p_hkdf.cc 367 src/crypto/evp/p_rsa.cc 368 src/crypto/evp/p_rsa_asn1.cc 369 src/crypto/evp/p_x25519.cc 370 src/crypto/evp/p_x25519_asn1.cc 371 src/crypto/evp/pbkdf.cc 372 src/crypto/evp/print.cc 373 src/crypto/evp/scrypt.cc 374 src/crypto/evp/sign.cc 375 src/crypto/ex_data.cc 376 src/crypto/fipsmodule/bcm.cc 377 src/crypto/fipsmodule/fips_shared_support.cc 378 src/crypto/hpke/hpke.cc 379 src/crypto/hrss/hrss.cc 380 src/crypto/kyber/kyber.cc 381 src/crypto/lhash/lhash.cc 382 src/crypto/md4/md4.cc 383 src/crypto/md5/md5.cc 384 src/crypto/mem.cc 385 src/crypto/mldsa/mldsa.cc 386 src/crypto/mlkem/mlkem.cc 387 src/crypto/obj/obj.cc 388 src/crypto/obj/obj_xref.cc 389 src/crypto/pem/pem_all.cc 390 src/crypto/pem/pem_info.cc 391 src/crypto/pem/pem_lib.cc 392 src/crypto/pem/pem_oth.cc 393 src/crypto/pem/pem_pk8.cc 394 src/crypto/pem/pem_pkey.cc 395 src/crypto/pem/pem_x509.cc 396 src/crypto/pem/pem_xaux.cc 397 src/crypto/pkcs7/pkcs7.cc 398 src/crypto/pkcs7/pkcs7_x509.cc 399 src/crypto/pkcs8/p5_pbev2.cc 400 src/crypto/pkcs8/pkcs8.cc 401 src/crypto/pkcs8/pkcs8_x509.cc 402 src/crypto/poly1305/poly1305.cc 403 src/crypto/poly1305/poly1305_arm.cc 404 src/crypto/poly1305/poly1305_vec.cc 405 src/crypto/pool/pool.cc 406 src/crypto/rand_extra/deterministic.cc 407 src/crypto/rand_extra/fork_detect.cc 408 src/crypto/rand_extra/forkunsafe.cc 409 src/crypto/rand_extra/getentropy.cc 410 src/crypto/rand_extra/ios.cc 411 src/crypto/rand_extra/passive.cc 412 src/crypto/rand_extra/rand_extra.cc 413 src/crypto/rand_extra/trusty.cc 414 src/crypto/rand_extra/urandom.cc 415 src/crypto/rand_extra/windows.cc 416 src/crypto/rc4/rc4.cc 417 src/crypto/refcount.cc 418 src/crypto/rsa_extra/rsa_asn1.cc 419 src/crypto/rsa_extra/rsa_crypt.cc 420 src/crypto/rsa_extra/rsa_extra.cc 421 src/crypto/rsa_extra/rsa_print.cc 422 src/crypto/sha/sha1.cc 423 src/crypto/sha/sha256.cc 424 src/crypto/sha/sha512.cc 425 src/crypto/siphash/siphash.cc 426 src/crypto/slhdsa/slhdsa.cc 427 src/crypto/spake2plus/spake2plus.cc 428 src/crypto/stack/stack.cc 429 src/crypto/thread.cc 430 src/crypto/thread_none.cc 431 src/crypto/thread_pthread.cc 432 src/crypto/thread_win.cc 433 src/crypto/trust_token/pmbtoken.cc 434 src/crypto/trust_token/trust_token.cc 435 src/crypto/trust_token/voprf.cc 436 src/crypto/x509/a_digest.cc 437 src/crypto/x509/a_sign.cc 438 src/crypto/x509/a_verify.cc 439 src/crypto/x509/algorithm.cc 440 src/crypto/x509/asn1_gen.cc 441 src/crypto/x509/by_dir.cc 442 src/crypto/x509/by_file.cc 443 src/crypto/x509/i2d_pr.cc 444 src/crypto/x509/name_print.cc 445 src/crypto/x509/policy.cc 446 src/crypto/x509/rsa_pss.cc 447 src/crypto/x509/t_crl.cc 448 src/crypto/x509/t_req.cc 449 src/crypto/x509/t_x509.cc 450 src/crypto/x509/t_x509a.cc 451 src/crypto/x509/v3_akey.cc 452 src/crypto/x509/v3_akeya.cc 453 src/crypto/x509/v3_alt.cc 454 src/crypto/x509/v3_bcons.cc 455 src/crypto/x509/v3_bitst.cc 456 src/crypto/x509/v3_conf.cc 457 src/crypto/x509/v3_cpols.cc 458 src/crypto/x509/v3_crld.cc 459 src/crypto/x509/v3_enum.cc 460 src/crypto/x509/v3_extku.cc 461 src/crypto/x509/v3_genn.cc 462 src/crypto/x509/v3_ia5.cc 463 src/crypto/x509/v3_info.cc 464 src/crypto/x509/v3_int.cc 465 src/crypto/x509/v3_lib.cc 466 src/crypto/x509/v3_ncons.cc 467 src/crypto/x509/v3_ocsp.cc 468 src/crypto/x509/v3_pcons.cc 469 src/crypto/x509/v3_pmaps.cc 470 src/crypto/x509/v3_prn.cc 471 src/crypto/x509/v3_purp.cc 472 src/crypto/x509/v3_skey.cc 473 src/crypto/x509/v3_utl.cc 474 src/crypto/x509/x509.cc 475 src/crypto/x509/x509_att.cc 476 src/crypto/x509/x509_cmp.cc 477 src/crypto/x509/x509_d2.cc 478 src/crypto/x509/x509_def.cc 479 src/crypto/x509/x509_ext.cc 480 src/crypto/x509/x509_lu.cc 481 src/crypto/x509/x509_obj.cc 482 src/crypto/x509/x509_req.cc 483 src/crypto/x509/x509_set.cc 484 src/crypto/x509/x509_trs.cc 485 src/crypto/x509/x509_txt.cc 486 src/crypto/x509/x509_v3.cc 487 src/crypto/x509/x509_vfy.cc 488 src/crypto/x509/x509_vpm.cc 489 src/crypto/x509/x509cset.cc 490 src/crypto/x509/x509name.cc 491 src/crypto/x509/x509rset.cc 492 src/crypto/x509/x509spki.cc 493 src/crypto/x509/x_algor.cc 494 src/crypto/x509/x_all.cc 495 src/crypto/x509/x_attrib.cc 496 src/crypto/x509/x_crl.cc 497 src/crypto/x509/x_exten.cc 498 src/crypto/x509/x_name.cc 499 src/crypto/x509/x_pubkey.cc 500 src/crypto/x509/x_req.cc 501 src/crypto/x509/x_sig.cc 502 src/crypto/x509/x_spki.cc 503 src/crypto/x509/x_val.cc 504 src/crypto/x509/x_x509.cc 505 src/crypto/x509/x_x509a.cc 506 src/gen/crypto/err_data.cc 507) 508 509target_include_directories(crypto PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/include>) 510 511add_library( 512 ssl 513 514 src/ssl/bio_ssl.cc 515 src/ssl/d1_both.cc 516 src/ssl/d1_lib.cc 517 src/ssl/d1_pkt.cc 518 src/ssl/d1_srtp.cc 519 src/ssl/dtls_method.cc 520 src/ssl/dtls_record.cc 521 src/ssl/encrypted_client_hello.cc 522 src/ssl/extensions.cc 523 src/ssl/handoff.cc 524 src/ssl/handshake.cc 525 src/ssl/handshake_client.cc 526 src/ssl/handshake_server.cc 527 src/ssl/s3_both.cc 528 src/ssl/s3_lib.cc 529 src/ssl/s3_pkt.cc 530 src/ssl/ssl_aead_ctx.cc 531 src/ssl/ssl_asn1.cc 532 src/ssl/ssl_buffer.cc 533 src/ssl/ssl_cert.cc 534 src/ssl/ssl_cipher.cc 535 src/ssl/ssl_credential.cc 536 src/ssl/ssl_file.cc 537 src/ssl/ssl_key_share.cc 538 src/ssl/ssl_lib.cc 539 src/ssl/ssl_privkey.cc 540 src/ssl/ssl_session.cc 541 src/ssl/ssl_stat.cc 542 src/ssl/ssl_transcript.cc 543 src/ssl/ssl_versions.cc 544 src/ssl/ssl_x509.cc 545 src/ssl/t1_enc.cc 546 src/ssl/tls13_both.cc 547 src/ssl/tls13_client.cc 548 src/ssl/tls13_enc.cc 549 src/ssl/tls13_server.cc 550 src/ssl/tls_method.cc 551 src/ssl/tls_record.cc 552) 553 554target_link_libraries(ssl crypto) 555 556add_executable( 557 bssl 558 559 src/tool/args.cc 560 src/tool/ciphers.cc 561 src/tool/client.cc 562 src/tool/const.cc 563 src/tool/digest.cc 564 src/tool/fd.cc 565 src/tool/file.cc 566 src/tool/generate_ech.cc 567 src/tool/generate_ed25519.cc 568 src/tool/genrsa.cc 569 src/tool/pkcs12.cc 570 src/tool/rand.cc 571 src/tool/server.cc 572 src/tool/sign.cc 573 src/tool/speed.cc 574 src/tool/tool.cc 575 src/tool/transport_common.cc 576) 577 578target_link_libraries(bssl ssl crypto) 579 580if(NOT CMAKE_SYSTEM_NAME STREQUAL "Android") 581 find_package(Threads REQUIRED) 582 target_link_libraries(crypto Threads::Threads) 583endif() 584 585if(WIN32) 586 target_link_libraries(crypto ws2_32) 587endif() 588 589