blob: cd780ad1beb35f2ef5159d229926272c514078e3 [file] [log] [blame]
Tamas Banc2e0c182020-01-07 15:09:16 +00001#-------------------------------------------------------------------------------
Raef Colesf795a9c2021-01-14 15:49:27 +00002# Copyright (c) 2020-2021, Arm Limited. All rights reserved.
Tamas Banc2e0c182020-01-07 15:09:16 +00003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
Raef Coles69817322020-10-19 14:14:14 +01008cmake_minimum_required(VERSION 3.15)
Tamas Banc2e0c182020-01-07 15:09:16 +00009
shejia01d853fe82021-07-12 20:03:55 +080010################################ t_cose defs ###################################
Tamas Banc2e0c182020-01-07 15:09:16 +000011
shejia01d853fe82021-07-12 20:03:55 +080012add_library(tfm_t_cose_defs INTERFACE)
Tamas Banc2e0c182020-01-07 15:09:16 +000013
shejia01d853fe82021-07-12 20:03:55 +080014target_include_directories(tfm_t_cose_defs
15 INTERFACE
Raef Coles19715382020-07-10 09:50:17 +010016 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc>
17 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
18)
Tamas Banc2e0c182020-01-07 15:09:16 +000019
shejia01d853fe82021-07-12 20:03:55 +080020target_compile_definitions(tfm_t_cose_defs
21 INTERFACE
Raef Coles19715382020-07-10 09:50:17 +010022 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 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:T_COSE_DISABLE_ES384>
27 $<$<NOT:$<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:$<CONFIG:Debug>>:T_COSE_DISABLE_SHORT_CIRCUIT_SIGN>
32)
Tamas Banc2e0c182020-01-07 15:09:16 +000033
shejia01d853fe82021-07-12 20:03:55 +080034############################### 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_SOURCE_DIR}/src/t_cose_mac0_sign.c>
41 $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${CMAKE_CURRENT_SOURCE_DIR}/src/t_cose_mac0_verify.c>
42 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${CMAKE_CURRENT_SOURCE_DIR}/src/t_cose_sign1_sign.c>
43 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${CMAKE_CURRENT_SOURCE_DIR}/src/t_cose_sign1_verify.c>
44 ${CMAKE_CURRENT_SOURCE_DIR}/src/t_cose_util.c
45 ${CMAKE_CURRENT_SOURCE_DIR}/src/t_cose_parameters.c
46 ${CMAKE_CURRENT_SOURCE_DIR}/crypto_adapters/t_cose_psa_crypto.c
47)
48
49############################ t_cose non secure #################################
50
51add_library(tfm_t_cose_ns STATIC EXCLUDE_FROM_ALL)
52
53target_link_libraries(tfm_t_cose_ns
54 PUBLIC
55 tfm_t_cose_common
56 tfm_t_cose_defs
57 tfm_qcbor
58 tfm_ns_interface
59)
60
61############################ t_cose secure #####################################
62
63add_library(tfm_t_cose_s STATIC EXCLUDE_FROM_ALL)
64
65target_link_libraries(tfm_t_cose_s
66 PUBLIC
67 tfm_t_cose_common
68 tfm_t_cose_defs
69 tfm_qcbor
70 psa_interface
71)
72
Raef Coles19715382020-07-10 09:50:17 +010073############################ t_cose test #######################################
Tamas Banc2e0c182020-01-07 15:09:16 +000074
Raef Coles19715382020-07-10 09:50:17 +010075add_library(tfm_t_cose_test STATIC EXCLUDE_FROM_ALL)
David Hu333ca932020-01-25 12:25:41 +080076
Raef Coles19715382020-07-10 09:50:17 +010077target_sources(tfm_t_cose_test
78 PRIVATE
79 test/run_tests.c
80 test/t_cose_make_psa_test_key.c
81 test/t_cose_make_test_messages.c
82 test/t_cose_sign_verify_test.c
83 test/t_cose_test.c
84)
David Hu333ca932020-01-25 12:25:41 +080085
Raef Coles19715382020-07-10 09:50:17 +010086target_include_directories(tfm_t_cose_test
87 PUBLIC
88 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc>
89 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/test>
90)
David Hu333ca932020-01-25 12:25:41 +080091
Raef Coles19715382020-07-10 09:50:17 +010092target_link_libraries(tfm_t_cose_test
93 PRIVATE
shejia01d853fe82021-07-12 20:03:55 +080094 tfm_t_cose_ns
Raef Coles19715382020-07-10 09:50:17 +010095)