blob: f6c75bf79cee81aa839559962c66cd5c60fccb2c [file] [log] [blame]
Imre Kisd0ed5c22021-12-15 17:05:47 +01001#-------------------------------------------------------------------------------
Gyorgy Szing28bca0b2023-02-15 11:17:07 +01002# Copyright (c) 2020-2023, 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
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"
Imre Kisbd8011a2023-07-04 18:00:39 +020013 "components/rpc/common/endpoint"
Imre Kisd0ed5c22021-12-15 17:05:47 +010014 "components/service/common/include"
Imre Kisd0ed5c22021-12-15 17:05:47 +010015 "components/service/common/serializer/protobuf"
16 "components/service/common/provider"
Imre Kisd0ed5c22021-12-15 17:05:47 +010017 "components/service/crypto/provider"
18 "components/service/crypto/provider/serializer/protobuf"
19 "components/service/crypto/provider/serializer/packed-c"
20 "components/service/crypto/provider/extension/hash"
21 "components/service/crypto/provider/extension/hash/serializer/packed-c"
22 "components/service/crypto/provider/extension/cipher"
23 "components/service/crypto/provider/extension/cipher/serializer/packed-c"
24 "components/service/crypto/provider/extension/key_derivation"
25 "components/service/crypto/provider/extension/key_derivation/serializer/packed-c"
26 "components/service/crypto/provider/extension/mac"
27 "components/service/crypto/provider/extension/mac/serializer/packed-c"
Julian Hallee8e8242022-02-11 14:24:53 +000028 "components/service/crypto/provider/extension/aead"
29 "components/service/crypto/provider/extension/aead/serializer/packed-c"
Imre Kisd0ed5c22021-12-15 17:05:47 +010030 "components/service/crypto/factory/full"
31 "components/service/crypto/backend/mbedcrypto"
Imre Kisd0ed5c22021-12-15 17:05:47 +010032 "protocols/rpc/common/packed-c"
Imre Kisd0ed5c22021-12-15 17:05:47 +010033 "protocols/service/crypto/protobuf"
34)
35
Imre Kisd0ed5c22021-12-15 17:05:47 +010036#-------------------------------------------------------------------------------
37# Components used from external projects
38#
39#-------------------------------------------------------------------------------
40
Imre Kisd0ed5c22021-12-15 17:05:47 +010041# Nanopb
Julian Hall64f1d872022-09-05 16:52:40 +010042include(${TS_ROOT}/external/nanopb/nanopb.cmake)
Imre Kisd0ed5c22021-12-15 17:05:47 +010043target_link_libraries(crypto PRIVATE nanopb::protobuf-nanopb-static)
44protobuf_generate_all(TGT "crypto" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
45
46# Mbed TLS provides libmbedcrypto
Julian Halla5443172022-05-30 11:52:11 +010047set(MBEDTLS_USER_CONFIG_FILE "${TS_ROOT}/external/MbedTLS/config/crypto_isolated.h"
48 CACHE STRING "Configuration file for Mbed TLS" FORCE)
Julian Hall64f1d872022-09-05 16:52:40 +010049include(${TS_ROOT}/external/MbedTLS/MbedTLS.cmake)
Balint Dobszayff8e0cd2022-08-11 15:07:52 +020050target_link_libraries(crypto PRIVATE MbedTLS::mbedcrypto)
Imre Kisd0ed5c22021-12-15 17:05:47 +010051
52#################################################################
53
54target_include_directories(crypto PRIVATE
55 ${TS_ROOT}
56 ${TS_ROOT}/components
57)