blob: 70710e044a94e426f9b2762a0715a35f3b0eaf1b [file] [log] [blame]
#-------------------------------------------------------------------------------
# Copyright (c) 2020-2024, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
#-------------------------------------------------------------------------------
cmake_minimum_required(VERSION 3.21)
################################ t_cose defs ###################################
add_library(tfm_t_cose_defs INTERFACE)
target_include_directories(tfm_t_cose_defs
INTERFACE
$<BUILD_INTERFACE:${T_COSE_PATH}/inc>
$<BUILD_INTERFACE:${T_COSE_PATH}/src>
)
target_compile_definitions(tfm_t_cose_defs
INTERFACE
T_COSE_USE_PSA_CRYPTO
T_COSE_DISABLE_CONTENT_TYPE
T_COSE_DISABLE_COSE_SIGN
T_COSE_DISABLE_KEYWRAP
T_COSE_DISABLE_PS256
T_COSE_DISABLE_PS384
T_COSE_DISABLE_PS512
T_COSE_DISABLE_SHORT_CIRCUIT_SIGN
$<$<OR:$<NOT:$<STREQUAL:${ATTEST_KEY_BITS},384>>,$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_ES384>
$<$<OR:$<NOT:$<STREQUAL:${ATTEST_KEY_BITS},521>>,$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_ES512>
)
############################### t_cose common ##################################
add_library(tfm_t_cose_common INTERFACE)
target_sources(tfm_t_cose_common
INTERFACE
$<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${T_COSE_PATH}/src/t_cose_mac_compute.c>
$<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${T_COSE_PATH}/src/t_cose_mac_validate.c>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_sign_sign.c>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_sign1_sign.c>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_signature_sign_main.c>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_sign_verify.c>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_sign1_verify.c>
$<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_signature_verify_main.c>
${T_COSE_PATH}/crypto_adapters/t_cose_psa_crypto.c
${T_COSE_PATH}/src/t_cose_key.c
${T_COSE_PATH}/src/t_cose_parameters.c
${T_COSE_PATH}/src/t_cose_util.c
)
target_link_libraries(tfm_t_cose_common
INTERFACE
tfm_config
psa_crypto_config
)