1#------------------------------------------------------------------------------- 2# Copyright (c) 2020-2023, Arm Limited. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6#------------------------------------------------------------------------------- 7 8cmake_minimum_required(VERSION 3.21) 9 10################################ t_cose defs ################################### 11 12add_library(tfm_t_cose_defs INTERFACE) 13 14target_include_directories(tfm_t_cose_defs 15 INTERFACE 16 $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/inc> 17 $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src> 18) 19 20target_compile_definitions(tfm_t_cose_defs 21 INTERFACE 22 T_COSE_COMPILE_TIME_CONFIG 23 T_COSE_USE_PSA_CRYPTO 24 T_COSE_USE_PSA_CRYPTO_FROM_TFM 25 T_COSE_DISABLE_CONTENT_TYPE 26 $<$<OR:$<NOT:$<STREQUAL:${ATTEST_KEY_BITS},384>>,$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_ES384> 27 $<$<OR:$<NOT:$<STREQUAL:${ATTEST_KEY_BITS},521>>,$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_ES512> 28 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_SIGN_VERIFY_TESTS> 29 $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:T_COSE_DISABLE_SIGN1> 30 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_MAC0> 31 $<$<NOT:$<BOOL:${ATTEST_INCLUDE_TEST_CODE}>>:T_COSE_DISABLE_SHORT_CIRCUIT_SIGN> 32) 33 34############################### t_cose common ################################## 35 36add_library(tfm_t_cose_common INTERFACE) 37 38target_sources(tfm_t_cose_common 39 INTERFACE 40 $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${CMAKE_CURRENT_LIST_DIR}/src/t_cose_mac0_sign.c> 41 $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${CMAKE_CURRENT_LIST_DIR}/src/t_cose_mac0_verify.c> 42 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${CMAKE_CURRENT_LIST_DIR}/src/t_cose_sign1_sign.c> 43 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${CMAKE_CURRENT_LIST_DIR}/src/t_cose_sign1_verify.c> 44 ${CMAKE_CURRENT_LIST_DIR}/src/t_cose_util.c 45 ${CMAKE_CURRENT_LIST_DIR}/src/t_cose_parameters.c 46 ${CMAKE_CURRENT_LIST_DIR}/crypto_adapters/t_cose_psa_crypto.c 47) 48 49target_link_libraries(tfm_t_cose_common 50 INTERFACE 51 tfm_config 52 psa_crypto_config 53) 54