blob: 302385f2af2b26f2a2fd2ac9ddbaeea0bc9f4df4 [file] [log] [blame]
Soby Mathewb4c6df42022-11-09 11:13:29 +00001#
2# SPDX-License-Identifier: BSD-3-Clause
3# SPDX-FileCopyrightText: Copyright TF-RMM Contributors.
4#
5
Mate Toth-Pal83a45bd2023-09-01 11:17:19 +02006# The t_cose library is not included in the CBMC analysis
7if(RMM_CBMC_STATIC_ANALYSIS)
8 add_library(t_cose INTERFACE)
9 return()
10endif()
11
Soby Mathewb4c6df42022-11-09 11:13:29 +000012add_library(t_cose)
13
14set(T_COSE_SOURCE_DIR "${RMM_SOURCE_DIR}/ext/t_cose")
15
Tamas Banfac904c2024-09-11 16:02:30 +020016# Patch t_cose
17set(T_COSE_PATCH_DIR "${RMM_SOURCE_DIR}/configs/t_cose")
18set(T_COSE_PATCH_FILES
19 "${T_COSE_PATCH_DIR}/0001-Add-t_cose_key_encode-API.patch")
20
21Git_Apply_Patches(${T_COSE_SOURCE_DIR} "${T_COSE_PATCH_FILES}")
22
Mate Toth-Palfda673a2023-06-13 12:25:43 +020023#TODO: Eliminate warning suppression once the t_cose submodule is updated to
24# a released version.
25target_compile_options(t_cose
26 PRIVATE
27 "-Wno-maybe-uninitialized"
28 "-Wno-cpp"
29 "-Wno-unused-variable")
30
Soby Mathewb4c6df42022-11-09 11:13:29 +000031target_compile_definitions(t_cose
Mate Toth-Palc69951d2023-03-17 17:30:50 +010032 PRIVATE
33 "T_COSE_USE_PSA_CRYPTO=1"
34 "T_COSE_DISABLE_HPKE=1"
Soby Mathewb4c6df42022-11-09 11:13:29 +000035)
36
37target_link_libraries(t_cose
38 PRIVATE
39 rmm-lib-common
40 rmm-lib-libc
41)
42
43target_link_libraries(t_cose
44 PUBLIC
Soby Mathew73dad842022-12-16 12:51:01 +000045 rmm-mbedtls
Soby Mathewb4c6df42022-11-09 11:13:29 +000046 qcbor
47)
48
49target_include_directories(t_cose
50 PUBLIC
51 "${T_COSE_SOURCE_DIR}/inc"
Mate Toth-Palc69951d2023-03-17 17:30:50 +010052 "${T_COSE_SOURCE_DIR}/crypto_adapters"
Soby Mathewb4c6df42022-11-09 11:13:29 +000053 PRIVATE
54 "${T_COSE_SOURCE_DIR}/src"
55)
56
57target_sources(t_cose
58 PRIVATE
Soby Mathew4d4c21a2023-06-29 14:52:41 +020059 "${T_COSE_SOURCE_DIR}/crypto_adapters/t_cose_psa_crypto.c"
Mate Toth-Palfda673a2023-06-13 12:25:43 +020060 "${T_COSE_SOURCE_DIR}/src/t_cose_parameters.c"
61 "${T_COSE_SOURCE_DIR}/src/t_cose_sign_sign.c"
62 "${T_COSE_SOURCE_DIR}/src/t_cose_signature_sign_restart.c"
63 "${T_COSE_SOURCE_DIR}/src/t_cose_util.c"
Tamas Banfac904c2024-09-11 16:02:30 +020064 "${T_COSE_SOURCE_DIR}/src/t_cose_key.c"
Soby Mathewb4c6df42022-11-09 11:13:29 +000065)