blob: 098861cfbbef94aa0b8afaecffd790ecfbe0f822 [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"
Gabor Ambrus70908d02023-08-15 14:42:38 +020015 "components/service/common/client"
Imre Kisd0ed5c22021-12-15 17:05:47 +010016 "components/service/common/serializer/protobuf"
17 "components/service/common/provider"
Imre Kisd0ed5c22021-12-15 17:05:47 +010018 "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"
Gabor Tothab7db212023-08-18 16:08:12 +020033 "components/service/crypto/backend/mbedcrypto/mbedtls_fake_x509"
Imre Kisd0ed5c22021-12-15 17:05:47 +010034 "protocols/rpc/common/packed-c"
Imre Kisd0ed5c22021-12-15 17:05:47 +010035 "protocols/service/crypto/protobuf"
36)
37
Imre Kisd0ed5c22021-12-15 17:05:47 +010038#-------------------------------------------------------------------------------
39# Components used from external projects
40#
41#-------------------------------------------------------------------------------
42
Imre Kisd0ed5c22021-12-15 17:05:47 +010043# Nanopb
Julian Hall64f1d872022-09-05 16:52:40 +010044include(${TS_ROOT}/external/nanopb/nanopb.cmake)
Imre Kisd0ed5c22021-12-15 17:05:47 +010045target_link_libraries(crypto PRIVATE nanopb::protobuf-nanopb-static)
46protobuf_generate_all(TGT "crypto" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
47
48# Mbed TLS provides libmbedcrypto
Gabor Tothab7db212023-08-18 16:08:12 +020049set(MBEDTLS_USER_CONFIG_FILE "${TS_ROOT}/external/MbedTLS/config/libmbedx509.h"
Julian Halla5443172022-05-30 11:52:11 +010050 CACHE STRING "Configuration file for Mbed TLS" FORCE)
Julian Hall64f1d872022-09-05 16:52:40 +010051include(${TS_ROOT}/external/MbedTLS/MbedTLS.cmake)
Balint Dobszayff8e0cd2022-08-11 15:07:52 +020052target_link_libraries(crypto PRIVATE MbedTLS::mbedcrypto)
Gabor Tothab7db212023-08-18 16:08:12 +020053target_link_libraries(crypto PRIVATE MbedTLS::mbedx509)
54
55# Provide the config path to mbedtls
56target_compile_definitions(crypto
57 PRIVATE
58 MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}"
59)
Imre Kisd0ed5c22021-12-15 17:05:47 +010060
61#################################################################
62
63target_include_directories(crypto PRIVATE
64 ${TS_ROOT}
65 ${TS_ROOT}/components
66)