set(_sm3_sources
${CMAKE_CURRENT_SOURCE_DIR}/src/sm3_public.c
)
if(HITLS_CRYPTO_SM3_X8664)
list(APPEND _sm3_sources
${CMAKE_CURRENT_SOURCE_DIR}/src/asm_sm3.c
${CMAKE_CURRENT_SOURCE_DIR}/src/asm/sm3_x86_64.s
)
elseif(HITLS_CRYPTO_SM3_ARMV8)
list(APPEND _sm3_sources
${CMAKE_CURRENT_SOURCE_DIR}/src/asm_sm3.c
${CMAKE_CURRENT_SOURCE_DIR}/src/asm/sm3_armv8.S
)
elseif(HITLS_CRYPTO_SM3_ARMV7)
list(APPEND _sm3_sources
${CMAKE_CURRENT_SOURCE_DIR}/src/asm_sm3.c
${CMAKE_CURRENT_SOURCE_DIR}/src/asm/sm3_armv7.S
)
elseif(HITLS_CRYPTO_SM3_SMALL_MEM)
list(APPEND _sm3_sources
${CMAKE_CURRENT_SOURCE_DIR}/src/noasm_sm3_small.c
)
else()
list(APPEND _sm3_sources ${CMAKE_CURRENT_SOURCE_DIR}/src/noasm_sm3.c)
endif()
add_library(_hitls_crypto_sm3 OBJECT ${_sm3_sources})
target_link_libraries(_hitls_crypto_sm3
PUBLIC
_hitls_crypto_common_include
)
target_include_directories(_hitls_crypto_sm3
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
)
hitls_register_objects(CRYPTO _hitls_crypto_sm3)