file(GLOB _frodokem_sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c)
set(_frodokem_sources
${CMAKE_CURRENT_SOURCE_DIR}/src/frodokem.c
${CMAKE_CURRENT_SOURCE_DIR}/src/frodo_util.c
${CMAKE_CURRENT_SOURCE_DIR}/src/frodo_params.c
${CMAKE_CURRENT_SOURCE_DIR}/src/frodokem_pke.c
${CMAKE_CURRENT_SOURCE_DIR}/src/frodo_core_ref.c
)
if(HITLS_CRYPTO_FRODOKEM_ARMV8)
list(APPEND _frodokem_sources
${CMAKE_CURRENT_SOURCE_DIR}/src/asm/armv8_frodo_matmul.S
${CMAKE_CURRENT_SOURCE_DIR}/src/asm/armv8_frodo_sample.S
)
endif()
add_library(_hitls_crypto_frodokem OBJECT ${_frodokem_sources})
target_link_libraries(_hitls_crypto_frodokem
PUBLIC
_hitls_crypto_common_include
)
target_include_directories(_hitls_crypto_frodokem
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
${PROJECT_SOURCE_DIR}/crypto/eal/src
)
hitls_register_objects(CRYPTO _hitls_crypto_frodokem)