blob: ce8d9c7e1e60a62af9bde96ab492c53ce9d62bab [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
Mate Toth-Palfda673a2023-06-13 12:25:43 +020016#TODO: Eliminate warning suppression once the t_cose submodule is updated to
17# a released version.
18target_compile_options(t_cose
19 PRIVATE
20 "-Wno-maybe-uninitialized"
21 "-Wno-cpp"
22 "-Wno-unused-variable")
23
Soby Mathewb4c6df42022-11-09 11:13:29 +000024target_compile_definitions(t_cose
Mate Toth-Palc69951d2023-03-17 17:30:50 +010025 PRIVATE
26 "T_COSE_USE_PSA_CRYPTO=1"
27 "T_COSE_DISABLE_HPKE=1"
Soby Mathewb4c6df42022-11-09 11:13:29 +000028)
29
30target_link_libraries(t_cose
31 PRIVATE
32 rmm-lib-common
33 rmm-lib-libc
34)
35
36target_link_libraries(t_cose
37 PUBLIC
Soby Mathew73dad842022-12-16 12:51:01 +000038 rmm-mbedtls
Soby Mathewb4c6df42022-11-09 11:13:29 +000039 qcbor
40)
41
42target_include_directories(t_cose
43 PUBLIC
44 "${T_COSE_SOURCE_DIR}/inc"
Mate Toth-Palc69951d2023-03-17 17:30:50 +010045 "${T_COSE_SOURCE_DIR}/crypto_adapters"
Soby Mathewb4c6df42022-11-09 11:13:29 +000046 PRIVATE
47 "${T_COSE_SOURCE_DIR}/src"
48)
49
50target_sources(t_cose
51 PRIVATE
Soby Mathew4d4c21a2023-06-29 14:52:41 +020052 "${T_COSE_SOURCE_DIR}/crypto_adapters/t_cose_psa_crypto.c"
Mate Toth-Palfda673a2023-06-13 12:25:43 +020053 "${T_COSE_SOURCE_DIR}/src/t_cose_parameters.c"
54 "${T_COSE_SOURCE_DIR}/src/t_cose_sign_sign.c"
55 "${T_COSE_SOURCE_DIR}/src/t_cose_signature_sign_restart.c"
56 "${T_COSE_SOURCE_DIR}/src/t_cose_util.c"
Soby Mathewb4c6df42022-11-09 11:13:29 +000057)