blob: a205bc297d940c29467dd1c999f5d7be5b3eab4b [file] [log] [blame]
Imre Kisd0ed5c22021-12-15 17:05:47 +01001#-------------------------------------------------------------------------------
Gyorgy Szingcc581992025-01-15 14:04:01 +01002# Copyright (c) 2021-2025, Arm Limited and Contributors. All rights reserved.
Imre Kisd0ed5c22021-12-15 17:05:47 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
Gyorgy Szingcc581992025-01-15 14:04:01 +01008# Check config options
9foreach( _cfg IN ITEMS CFG_ENABLE_ITS CFG_ENABLE_PS CFG_ENABLE_CRYPTO CFG_ENABLE_IAT CFG_ENABLE_FWU)
10 if( NOT DEFINED ${_cfg})
11 message(FATAL_ERROR "Mandatory variable \"${_cfg}\" is not defined.")
12 endif()
13endforeach()
14
15target_include_directories(se-proxy PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
16
17#-------------------------------------------------------------------------------
18# Service specific components
19#
20#-------------------------------------------------------------------------------
Imre Kisd0ed5c22021-12-15 17:05:47 +010021add_components(TARGET "se-proxy"
22 BASE_DIR ${TS_ROOT}
23 COMPONENTS
Imre Kisd0ed5c22021-12-15 17:05:47 +010024 "components/common/tlv"
Imre Kisd0ed5c22021-12-15 17:05:47 +010025 "components/rpc/common/interface"
Imre Kis16f07142023-07-05 18:15:07 +020026 "components/rpc/common/endpoint"
Imre Kisd0ed5c22021-12-15 17:05:47 +010027 "components/service/common/include"
Imre Kisd0ed5c22021-12-15 17:05:47 +010028 "components/service/common/client"
29 "components/service/common/provider"
Gyorgy Szingcc581992025-01-15 14:04:01 +010030)
31
32if (CFG_ENABLE_PS OR CFG_ENABLE_ITS)
33add_components(TARGET "se-proxy"
34 BASE_DIR ${TS_ROOT}
35 COMPONENTS
36 "components/service/secure_storage/include"
37 "components/service/secure_storage/frontend/secure_storage_provider"
38 "protocols/service/secure_storage/packed-c"
39)
40endif()
41
42if (CFG_ENABLE_CRYPTO)
43add_components(TARGET "se-proxy"
44 BASE_DIR ${TS_ROOT}
45 COMPONENTS
Gyorgy Szingd6f795f2023-02-15 08:44:08 +010046 "components/service/crypto/client/psa"
Imre Kisd0ed5c22021-12-15 17:05:47 +010047 "components/service/crypto/include"
48 "components/service/crypto/provider"
Imre Kisd0ed5c22021-12-15 17:05:47 +010049 "components/service/crypto/provider/serializer/packed-c"
50 "components/service/crypto/provider/extension/hash"
51 "components/service/crypto/provider/extension/hash/serializer/packed-c"
52 "components/service/crypto/provider/extension/cipher"
53 "components/service/crypto/provider/extension/cipher/serializer/packed-c"
54 "components/service/crypto/provider/extension/key_derivation"
55 "components/service/crypto/provider/extension/key_derivation/serializer/packed-c"
56 "components/service/crypto/provider/extension/mac"
57 "components/service/crypto/provider/extension/mac/serializer/packed-c"
Julian Hallee8e8242022-02-11 14:24:53 +000058 "components/service/crypto/provider/extension/aead"
59 "components/service/crypto/provider/extension/aead/serializer/packed-c"
Imre Kisd0ed5c22021-12-15 17:05:47 +010060 "components/service/crypto/factory/full"
Gyorgy Szingcc581992025-01-15 14:04:01 +010061)
62
63if (CFG_ENABLE_CRYPTO_NANO)
64add_components(TARGET "se-proxy"
65 BASE_DIR ${TS_ROOT}
66 COMPONENTS
67 "components/service/common/serializer/protobuf"
68 "components/service/crypto/provider/serializer/protobuf"
69 "protocols/service/crypto/protobuf"
70)
71endif()
72
73endif()
74
75if(CFG_ENABLE_IAT)
76add_components(TARGET "se-proxy"
77 BASE_DIR ${TS_ROOT}
78 COMPONENTS
Imre Kisd0ed5c22021-12-15 17:05:47 +010079 "components/service/attestation/include"
80 "components/service/attestation/provider"
81 "components/service/attestation/provider/serializer/packed-c"
Julian Hall3d0ec042022-09-06 13:26:14 +010082 "protocols/rpc/common/packed-c"
Imre Kisd0ed5c22021-12-15 17:05:47 +010083)
Gyorgy Szingcc581992025-01-15 14:04:01 +010084endif()
Imre Kisd0ed5c22021-12-15 17:05:47 +010085
Gyorgy Szingcc581992025-01-15 14:04:01 +010086if (CFG_ENABLE_FWU)
87add_components(TARGET "se-proxy"
88 BASE_DIR ${TS_ROOT}
89 COMPONENTS
90 "components/service/fwu/common"
91 "components/service/fwu/provider"
92 "components/service/fwu/provider/serializer"
93 "components/service/secure_storage/backend/secure_storage_ipc"
94)
95endif()
Imre Kisd0ed5c22021-12-15 17:05:47 +010096#-------------------------------------------------------------------------------
97# Components used from external projects
98#
99#-------------------------------------------------------------------------------
100
Imre Kisd0ed5c22021-12-15 17:05:47 +0100101# Nanopb
Gyorgy Szingcc581992025-01-15 14:04:01 +0100102if (CFG_ENABLE_CRYPTO_NANO)
103 include(${TS_ROOT}/external/nanopb/nanopb.cmake)
104 target_link_libraries(se-proxy PRIVATE nanopb::protobuf-nanopb-static)
105 protobuf_generate_all(TGT "se-proxy" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
106endif()
Imre Kisd0ed5c22021-12-15 17:05:47 +0100107
Imre Kisd0ed5c22021-12-15 17:05:47 +0100108#################################################################