1#-------------------------------------------------------------------------------
2# Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8add_components(TARGET "se-proxy"
9	BASE_DIR ${TS_ROOT}
10	COMPONENTS
11		"components/common/tlv"
12		"components/rpc/common/interface"
13		"components/rpc/common/endpoint"
14		"components/service/common/include"
15		"components/service/common/serializer/protobuf"
16		"components/service/common/client"
17		"components/service/common/provider"
18		"components/service/crypto/client/psa"
19		"components/service/crypto/include"
20		"components/service/crypto/provider"
21		"components/service/crypto/provider/serializer/protobuf"
22		"components/service/crypto/provider/serializer/packed-c"
23		"components/service/crypto/provider/extension/hash"
24		"components/service/crypto/provider/extension/hash/serializer/packed-c"
25		"components/service/crypto/provider/extension/cipher"
26		"components/service/crypto/provider/extension/cipher/serializer/packed-c"
27		"components/service/crypto/provider/extension/key_derivation"
28		"components/service/crypto/provider/extension/key_derivation/serializer/packed-c"
29		"components/service/crypto/provider/extension/mac"
30		"components/service/crypto/provider/extension/mac/serializer/packed-c"
31		"components/service/crypto/provider/extension/aead"
32		"components/service/crypto/provider/extension/aead/serializer/packed-c"
33		"components/service/crypto/factory/full"
34		"components/service/secure_storage/include"
35		"components/service/secure_storage/frontend/secure_storage_provider"
36		"components/service/attestation/include"
37		"components/service/attestation/provider"
38		"components/service/attestation/provider/serializer/packed-c"
39		"protocols/rpc/common/packed-c"
40		"protocols/service/secure_storage/packed-c"
41		"protocols/service/crypto/protobuf"
42)
43
44#-------------------------------------------------------------------------------
45#  Components used from external projects
46#
47#-------------------------------------------------------------------------------
48
49# Nanopb
50include(${TS_ROOT}/external/nanopb/nanopb.cmake)
51target_link_libraries(se-proxy PRIVATE nanopb::protobuf-nanopb-static)
52protobuf_generate_all(TGT "se-proxy" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
53
54#################################################################
55
56target_include_directories(se-proxy PRIVATE
57	${TS_ROOT}
58	${TS_ROOT}/components
59)
60