blob: 155099c2b4a7d3e1dedce960b853c774413bfa2c [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"
Gabor Tothab7db212023-08-18 16:08:12 +020032 "components/service/crypto/backend/mbedcrypto/mbedtls_fake_x509"
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
Gabor Tothab7db212023-08-18 16:08:12 +020048set(MBEDTLS_USER_CONFIG_FILE "${TS_ROOT}/external/MbedTLS/config/libmbedx509.h"
Julian Halla5443172022-05-30 11:52:11 +010049 CACHE STRING "Configuration file for Mbed TLS" FORCE)
Julian Hall64f1d872022-09-05 16:52:40 +010050include(${TS_ROOT}/external/MbedTLS/MbedTLS.cmake)
Balint Dobszayff8e0cd2022-08-11 15:07:52 +020051target_link_libraries(crypto PRIVATE MbedTLS::mbedcrypto)
Gabor Tothab7db212023-08-18 16:08:12 +020052target_link_libraries(crypto PRIVATE MbedTLS::mbedx509)
53
54# Provide the config path to mbedtls
55target_compile_definitions(crypto
56 PRIVATE
57 MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}"
58)
Imre Kisd0ed5c22021-12-15 17:05:47 +010059
60#################################################################
61
62target_include_directories(crypto PRIVATE
63 ${TS_ROOT}
64 ${TS_ROOT}/components
65)