blob: 70710e044a94e426f9b2762a0715a35f3b0eaf1b [file] [log] [blame]
Kevin Peng2f4ef242023-09-11 09:35:51 +08001#-------------------------------------------------------------------------------
Adam Kulesza4ced6b32022-05-24 19:13:56 +02002# Copyright (c) 2020-2024, Arm Limited. All rights reserved.
Kevin Peng2f4ef242023-09-11 09:35:51 +08003#
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
Adam Kulesza4ced6b32022-05-24 19:13:56 +020016 $<BUILD_INTERFACE:${T_COSE_PATH}/inc>
17 $<BUILD_INTERFACE:${T_COSE_PATH}/src>
Kevin Peng2f4ef242023-09-11 09:35:51 +080018)
19
20target_compile_definitions(tfm_t_cose_defs
21 INTERFACE
Kevin Peng2f4ef242023-09-11 09:35:51 +080022 T_COSE_USE_PSA_CRYPTO
Kevin Peng2f4ef242023-09-11 09:35:51 +080023 T_COSE_DISABLE_CONTENT_TYPE
Adam Kulesza4ced6b32022-05-24 19:13:56 +020024 T_COSE_DISABLE_COSE_SIGN
25 T_COSE_DISABLE_KEYWRAP
26 T_COSE_DISABLE_PS256
27 T_COSE_DISABLE_PS384
28 T_COSE_DISABLE_PS512
David Vincze51aeee32023-08-09 14:38:31 +020029 T_COSE_DISABLE_SHORT_CIRCUIT_SIGN
Kevin Peng2f4ef242023-09-11 09:35:51 +080030 $<$<OR:$<NOT:$<STREQUAL:${ATTEST_KEY_BITS},384>>,$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_ES384>
31 $<$<OR:$<NOT:$<STREQUAL:${ATTEST_KEY_BITS},521>>,$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_ES512>
Kevin Peng2f4ef242023-09-11 09:35:51 +080032)
33
34############################### t_cose common ##################################
35
36add_library(tfm_t_cose_common INTERFACE)
37
38target_sources(tfm_t_cose_common
39 INTERFACE
Adam Kulesza4ced6b32022-05-24 19:13:56 +020040 $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${T_COSE_PATH}/src/t_cose_mac_compute.c>
41 $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${T_COSE_PATH}/src/t_cose_mac_validate.c>
42
43 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_sign_sign.c>
44 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_sign1_sign.c>
45 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_signature_sign_main.c>
46 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_sign_verify.c>
47 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_sign1_verify.c>
48 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${T_COSE_PATH}/src/t_cose_signature_verify_main.c>
49
50 ${T_COSE_PATH}/crypto_adapters/t_cose_psa_crypto.c
51 ${T_COSE_PATH}/src/t_cose_key.c
52 ${T_COSE_PATH}/src/t_cose_parameters.c
53 ${T_COSE_PATH}/src/t_cose_util.c
Kevin Peng2f4ef242023-09-11 09:35:51 +080054)
55
56target_link_libraries(tfm_t_cose_common
57 INTERFACE
58 tfm_config
Antonio de Angelis8bb98512024-01-16 14:13:36 +000059 psa_crypto_config
Kevin Peng2f4ef242023-09-11 09:35:51 +080060)