blob: 68f265881ca70ab14c6bf87660ee16e0eb00a9fa [file] [log] [blame]
#-------------------------------------------------------------------------------
# Copyright (c) 2020, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
#-------------------------------------------------------------------------------
cmake_minimum_required(VERSION 3.13)
add_library(tfm_t_cose STATIC)
target_sources(tfm_t_cose
PRIVATE
$<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:src/t_cose_mac0_sign.c>
$<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:src/t_cose_mac0_verify.c>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:src/t_cose_sign1_sign.c>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:src/t_cose_sign1_verify.c>
src/t_cose_util.c
src/t_cose_parameters.c
crypto_adapters/t_cose_psa_crypto.c
)
target_include_directories(tfm_t_cose
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
)
target_link_libraries(tfm_t_cose
PUBLIC
tfm_qcbor
psa_interface
)
target_compile_definitions(tfm_t_cose
PUBLIC
T_COSE_COMPILE_TIME_CONFIG
T_COSE_USE_PSA_CRYPTO
T_COSE_USE_PSA_CRYPTO_FROM_TFM
T_COSE_DISABLE_CONTENT_TYPE
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_ES384>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_ES512>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_SIGN_VERIFY_TESTS>
$<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:T_COSE_DISABLE_SIGN1>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_MAC0>
$<$<NOT:$<CONFIG:Debug>>:T_COSE_DISABLE_SHORT_CIRCUIT_SIGN>
)
############################ t_cose test #######################################
add_library(tfm_t_cose_test STATIC EXCLUDE_FROM_ALL)
target_sources(tfm_t_cose_test
PRIVATE
test/run_tests.c
test/t_cose_make_psa_test_key.c
test/t_cose_make_test_messages.c
test/t_cose_sign_verify_test.c
test/t_cose_test.c
)
target_include_directories(tfm_t_cose_test
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/test>
)
target_link_libraries(tfm_t_cose_test
PRIVATE
tfm_t_cose
)