Merge pull request #7188 from innolectric/innolectric

Innolectric CMake changes
pull/7217/head
Daniel Pouzzner 2024-02-05 16:08:58 -05:00 committed by GitHub
commit 2b33079d50
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 83 additions and 79 deletions

View File

@ -215,6 +215,8 @@ if(WOLFSSL_REPRODUCIBLE_BUILD)
set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -D <TARGET>")
endif()
add_option("WOLFSSL_INSTALL" "Create install target for WolfSSL project" "no" "yes;no")
# Support for forcing 32-bit mode
# TODO: detect platform from other options
add_option("WOLFSSL_32BIT"
@ -1662,17 +1664,14 @@ if(WOLFSSL_FAST_MATH)
list(APPEND WOLFSSL_DEFINITIONS "-DUSE_FAST_MATH")
set(WOLFSSL_SLOWMATH "no")
endif()
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64|AMD64")
# Have settings.h set FP_MAX_BITS higher if user didn't set directly
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_X86_64_BUILD")
endif()
endif()
# TODO: - Fast huge math
# Set processor-specific build macros
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64|AMD64")
set(WOLFSSL_X86_64_BUILD ON)
add_option("WOLFSSL_X86_64_BUILD_ASM" "Build ASM files" "yes" "yes;no")
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_X86_64_BUILD")
elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64|arm64")
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_AARCH64_BUILD")
@ -2523,6 +2522,8 @@ list(JOIN HEADER_EXCLUDE "|" EXCLUDED_HEADERS_REGEX)
string(PREPEND EXCLUDED_HEADERS_REGEX "(")
string(APPEND EXCLUDED_HEADERS_REGEX ")")
if(WOLFSSL_INSTALL)
set(INSTALLED_EXAMPLES
${CMAKE_CURRENT_SOURCE_DIR}/examples/echoserver/echoserver.c
${CMAKE_CURRENT_SOURCE_DIR}/examples/sctp/sctp-server.c
@ -2534,6 +2535,7 @@ set(INSTALLED_EXAMPLES
${CMAKE_CURRENT_SOURCE_DIR}/examples/benchmark/tls_bench.c
${CMAKE_CURRENT_SOURCE_DIR}/examples/client/client.c)
# Install the library
install(TARGETS wolfssl
EXPORT wolfssl-targets
@ -2602,3 +2604,4 @@ install(FILES
${CMAKE_CURRENT_BINARY_DIR}/wolfssl-config-version.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/wolfssl
)
endif()

View File

@ -280,7 +280,7 @@ function(generate_build_flags)
if(WOLFSSL_SP_ARM_CORTEX_ASM OR WOLFSSL_USER_SETTINGS)
set(BUILD_SP_ARM_CORTEX "yes" PARENT_SCOPE)
endif()
if(WOLFSSL_SP_X86_64_ASM OR WOLFSSL_USER_SETTINGS)
if(WOLFSSL_X86_64_BUILD AND (WOLFSSL_SP_X86_64_ASM OR WOLFSSL_USER_SETTINGS))
set(BUILD_SP_X86_64 "yes" PARENT_SCOPE)
endif()
if(WOLFSSL_SP_MATH OR WOLFSSL_SP_MATH_ALL OR WOLFSSL_USER_SETTINGS)
@ -505,9 +505,10 @@ function(generate_lib_src_list LIB_SOURCES)
endif()
if(BUILD_SP_X86_64)
list(APPEND LIB_SOURCES
wolfcrypt/src/sp_x86_64.c
wolfcrypt/src/sp_x86_64_asm.S)
list(APPEND LIB_SOURCES wolfcrypt/src/sp_x86_64.c)
if(WOLFSSL_X86_64_BUILD_ASM)
list(APPEND LIB_SOURCES wolfcrypt/src/sp_x86_64_asm.S)
endif()
endif()
if(NOT BUILD_FIPS_V2 AND BUILD_SP_ARM32)