blob: 7c5e59e91e41241e1352300ecf2d0b77e72b27c1 [file] [log] [blame]
Kevin Peng2f4ef242023-09-11 09:35:51 +08001#-------------------------------------------------------------------------------
2# Copyright (c) 2020-2023, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
David Hu1249f0d2023-12-04 22:57:56 +08008cmake_minimum_required(VERSION 3.21)
Kevin Peng2f4ef242023-09-11 09:35:51 +08009
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
Antonio de Angelis8bb98512024-01-16 14:13:36 +000052 psa_crypto_config
Kevin Peng2f4ef242023-09-11 09:35:51 +080053)