blob: 9020cc0862152b34e4fc1e1c75bd763542ce627b [file] [log] [blame]
Imre Kisd0ed5c22021-12-15 17:05:47 +01001#-------------------------------------------------------------------------------
2# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8add_components(TARGET "crypto"
9 BASE_DIR ${TS_ROOT}
10 COMPONENTS
Imre Kisd0ed5c22021-12-15 17:05:47 +010011 "components/common/tlv"
Imre Kisd0ed5c22021-12-15 17:05:47 +010012 "components/rpc/common/interface"
13 "components/service/common/include"
Imre Kisd0ed5c22021-12-15 17:05:47 +010014 "components/service/common/serializer/protobuf"
15 "components/service/common/provider"
16 "components/service/discovery/provider"
17 "components/service/discovery/provider/serializer/packed-c"
18 "components/service/crypto/provider"
19 "components/service/crypto/provider/serializer/protobuf"
20 "components/service/crypto/provider/serializer/packed-c"
21 "components/service/crypto/provider/extension/hash"
22 "components/service/crypto/provider/extension/hash/serializer/packed-c"
23 "components/service/crypto/provider/extension/cipher"
24 "components/service/crypto/provider/extension/cipher/serializer/packed-c"
25 "components/service/crypto/provider/extension/key_derivation"
26 "components/service/crypto/provider/extension/key_derivation/serializer/packed-c"
27 "components/service/crypto/provider/extension/mac"
28 "components/service/crypto/provider/extension/mac/serializer/packed-c"
Julian Hallee8e8242022-02-11 14:24:53 +000029 "components/service/crypto/provider/extension/aead"
30 "components/service/crypto/provider/extension/aead/serializer/packed-c"
Imre Kisd0ed5c22021-12-15 17:05:47 +010031 "components/service/crypto/factory/full"
32 "components/service/crypto/backend/mbedcrypto"
Imre Kisd0ed5c22021-12-15 17:05:47 +010033 "protocols/rpc/common/packed-c"
Imre Kisd0ed5c22021-12-15 17:05:47 +010034 "protocols/service/crypto/protobuf"
35)
36
Imre Kisd0ed5c22021-12-15 17:05:47 +010037#-------------------------------------------------------------------------------
38# Components used from external projects
39#
40#-------------------------------------------------------------------------------
41
Imre Kisd0ed5c22021-12-15 17:05:47 +010042# Nanopb
Julian Hall64f1d872022-09-05 16:52:40 +010043include(${TS_ROOT}/external/nanopb/nanopb.cmake)
Imre Kisd0ed5c22021-12-15 17:05:47 +010044target_link_libraries(crypto PRIVATE nanopb::protobuf-nanopb-static)
45protobuf_generate_all(TGT "crypto" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
46
47# Mbed TLS provides libmbedcrypto
Julian Hall64f1d872022-09-05 16:52:40 +010048include(${TS_ROOT}/external/MbedTLS/MbedTLS.cmake)
Imre Kisd0ed5c22021-12-15 17:05:47 +010049target_link_libraries(crypto PRIVATE mbedcrypto)
50target_link_libraries(mbedcrypto INTERFACE stdlib::c)
51
52#################################################################
53
54target_include_directories(crypto PRIVATE
55 ${TS_ROOT}
56 ${TS_ROOT}/components
57)