11# CMakeList.txt
22#
3- # Copyright (C) 2006-2020 wolfSSL Inc.
3+ # Copyright (C) 2006-2023 wolfSSL Inc.
44#
55# This file is part of wolfSSL. (formerly known as CyaSSL)
66#
@@ -391,6 +391,24 @@ add_option(WOLFSSL_OPENSSLEXTRA
391391 "Enable extra OpenSSL API, size+ (default: disabled)"
392392 "no" "yes;no" )
393393
394+ add_option (WOLFSSL_OPENSSLALL
395+ "Enable all OpenSSL API, size++ (default: disabled)"
396+ "no" "yes;no" )
397+
398+ add_option (WOLFSSL_ASIO
399+ "Enable asio support (default: disabled)"
400+ "no" "yes;no" )
401+
402+ if (WOLFSSL_ASIO)
403+ list (APPEND WOLFSSL_DEFINITIONS
404+ "-DWOLFSSL_ASIO" "-DASIO_USE_WOLFSSL"
405+ "-DBOOST_ASIO_USE_WOLFSSL" "-DHAVE_EX_DATA"
406+ "-DSSL_TXT_TLSV1_2" "-DOPENSSL_NO_SSL2" "-DOPENSSL_NO_SSL3"
407+ "-DHAVE_OCSP" "-DWOLFSSL_KEY_GEN" )
408+ override_cache (WOLFSSL_OPENSSLALL "yes" )
409+ override_cache (WOLFSSL_OPENSSLEXTRA "yes" )
410+ endif ()
411+
394412if (WOLFSSL_OPENSSLEXTRA AND NOT WOLFSSL_OPENSSLCOEXIST)
395413 list (APPEND WOLFSSL_DEFINITIONS
396414 "-DOPENSSL_EXTRA"
@@ -401,6 +419,14 @@ if (WOLFSSL_OPENSSLEXTRA AND NOT WOLFSSL_OPENSSLCOEXIST)
401419 "-DWOLFSSL_FORCE_CACHE_ON_TICKET" )
402420endif ()
403421
422+ if (WOLFSSL_OPENSSLALL)
423+ list (APPEND WOLFSSL_DEFINITIONS
424+ "-DOPENSSL_ALL" "-DWOLFSSL_EITHER_SIDE" "-DWC_RSA_NO_PADDING"
425+ "-DWC_RSA_PSS" "-DWOLFSSL_PSS_LONG_SALT" "-DWOLFSSL_TICKET_HAVE_ID"
426+ "-DWOLFSSL_ERROR_CODE_OPENSSL" "-DWOLFSSL_CERT_NAME_ALL" )
427+ endif ()
428+
429+
404430# TODO: - IPv6 test apps
405431
406432set (WOLFSSL_SLOW_MATH "yes" )
@@ -548,7 +574,7 @@ endif()
548574
549575# SHA224
550576set (SHA224_DEFAULT "no" )
551- if (("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "x86_64|AMD64" ) OR
577+ if (("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "x86_64|AMD64|arm64 " ) OR
552578 ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "aarch64" ))
553579 if (NOT WOLFSSL_AFALG AND NOT WOLFSSL_DEVCRYPTO AND
554580 (NOT WOLFSSL_FIPS OR ("${FIPS_VERSION} " STREQUAL "v2" )))
@@ -562,7 +588,7 @@ add_option("WOLFSSL_SHA224"
562588
563589# SHA3
564590set (SHA3_DEFAULT "no" )
565- if (("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "x86_64|AMD64" ) OR
591+ if (("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "x86_64|AMD64|arm64 " ) OR
566592 ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "aarch64" ))
567593 if (NOT WOLFSSL_FIPS OR ("${FIPS_VERSION} " STREQUAL "v2" ))
568594 set (SHA3_DEFAULT "yes" )
@@ -1048,7 +1074,7 @@ endif()
10481074
10491075# Base64
10501076set (BASE64_ENCODE_DEFAULT "no" )
1051- if ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "x86_64|AMD64" )
1077+ if ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "x86_64|AMD64|arm64 " )
10521078 set (BASE64_ENCODE_DEFAULT "yes" )
10531079endif ()
10541080
@@ -1068,7 +1094,8 @@ add_option("WOLFSSL_DES3" ${WOLFSSL_DES3_HELP_STRING} "no" "yes;no")
10681094if (WOLFSSL_OPENSSH OR
10691095 WOLFSSL_QT OR
10701096 WOLFSSL_OPENVPN OR
1071- WOLFSSL_WPAS)
1097+ WOLFSSL_WPAS OR
1098+ WOLFSSL_ASIO)
10721099 override_cache (WOLFSSL_DES3 "yes" )
10731100endif ()
10741101
@@ -1867,6 +1894,16 @@ if(WOLFSSL_CONFIG_H)
18671894 "${CMAKE_CURRENT_BINARY_DIR} /wolfcrypt/test/test_paths.h" )
18681895endif ()
18691896
1897+ # If config.h or wolfssl/options.h exists, delete it to avoid
1898+ # a mixup with build/wolfssl/options.h.
1899+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR} /wolfssl/options.h" )
1900+ file (REMOVE "${CMAKE_CURRENT_SOURCE_DIR} /wolfssl/options.h" )
1901+ endif ()
1902+
1903+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR} /config.h" )
1904+ file (REMOVE "${CMAKE_CURRENT_SOURCE_DIR} /config.h" )
1905+ endif ()
1906+
18701907# Suppress some warnings about separate compilation, inlining
18711908add_definitions ("-DWOLFSSL_IGNORE_FILE_WARN" )
18721909# Generate user options header
@@ -1892,7 +1929,7 @@ file(REMOVE ${OPTION_FILE})
18921929file (APPEND ${OPTION_FILE} "/* wolfssl options.h\n " )
18931930file (APPEND ${OPTION_FILE} " * generated from configure options\n " )
18941931file (APPEND ${OPTION_FILE} " *\n " )
1895- file (APPEND ${OPTION_FILE} " * Copyright (C) 2006-2020 wolfSSL Inc.\n " )
1932+ file (APPEND ${OPTION_FILE} " * Copyright (C) 2006-2023 wolfSSL Inc.\n " )
18961933file (APPEND ${OPTION_FILE} " *\n " )
18971934file (APPEND ${OPTION_FILE} " * This file is part of wolfSSL. (formerly known as CyaSSL)\n " )
18981935file (APPEND ${OPTION_FILE} " *\n " )
0 commit comments