blob: 6c3b3febdd9d40891ecab6fa8104e2bb44979aef [file] [log] [blame]
Julian Halleff4b282020-11-23 18:24:12 +01001#-------------------------------------------------------------------------------
Gyorgy Szingec62ea72022-07-20 12:36:52 +00002# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
Julian Halleff4b282020-11-23 18:24:12 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8#-------------------------------------------------------------------------------
9# The base build file shared between deployments of 'ts-service-test' for
10# different environments. Used for running end-to-end service-level tests
Gyorgy Szingec62ea72022-07-20 12:36:52 +000011# where test cases exercise trusted service client interfaces.
Julian Halleff4b282020-11-23 18:24:12 +010012#-------------------------------------------------------------------------------
13
14#-------------------------------------------------------------------------------
15# Use libts for locating and accessing services. An appropriate version of
Gyorgy Szingec62ea72022-07-20 12:36:52 +000016# libts will be imported for the environment in which service tests are
Julian Halleff4b282020-11-23 18:24:12 +010017# deployed.
18#-------------------------------------------------------------------------------
19include(${TS_ROOT}/deployments/libts/libts-import.cmake)
Gyorgy Szingec62ea72022-07-20 12:36:52 +000020target_link_libraries(ts-service-test PRIVATE libts::ts)
Julian Halleff4b282020-11-23 18:24:12 +010021
22#-------------------------------------------------------------------------------
Gyorgy Szingec62ea72022-07-20 12:36:52 +000023# Components that are common across all deployments
Julian Halleff4b282020-11-23 18:24:12 +010024#
25#-------------------------------------------------------------------------------
26add_components(
27 TARGET "ts-service-test"
28 BASE_DIR ${TS_ROOT}
29 COMPONENTS
Julian Hall374b5c32023-02-08 14:11:35 +000030 "components/common/endian"
julhal01734dbad2020-12-21 10:27:41 +000031 "components/common/tlv"
Julian Hall374b5c32023-02-08 14:11:35 +000032 "components/common/uuid"
Julian Hall99a57e32021-07-28 14:18:50 +010033 "components/service/common/client"
Julian Halla7e76c82021-04-14 11:12:11 +010034 "components/service/common/include"
35 "components/service/crypto/include"
Julian Halleff4b282020-11-23 18:24:12 +010036 "components/service/crypto/test/service"
julhal01734dbad2020-12-21 10:27:41 +000037 "components/service/crypto/test/service/protobuf"
38 "components/service/crypto/test/service/packed-c"
Julian Hallc6e7a8a2021-08-09 14:28:13 +010039 "components/service/crypto/test/service/extension/hash"
40 "components/service/crypto/test/service/extension/hash/packed-c"
Julian Halla652ad62021-08-10 12:05:46 +010041 "components/service/crypto/test/service/extension/cipher"
42 "components/service/crypto/test/service/extension/cipher/packed-c"
Julian Hallcb11ba52021-08-10 15:41:06 +010043 "components/service/crypto/test/service/extension/mac"
44 "components/service/crypto/test/service/extension/mac/packed-c"
Julian Halle6569442021-08-11 11:07:24 +010045 "components/service/crypto/test/service/extension/key_derivation"
46 "components/service/crypto/test/service/extension/key_derivation/packed-c"
Julian Halla7e76c82021-04-14 11:12:11 +010047 "components/service/crypto/client/psa"
Julian Halleff4b282020-11-23 18:24:12 +010048 "components/service/crypto/client/cpp"
Julian Hall7a703402021-08-04 09:20:43 +010049 "components/service/crypto/client/cpp/protocol/protobuf"
50 "components/service/crypto/client/cpp/protocol/packed-c"
Julian Halleff4b282020-11-23 18:24:12 +010051 "components/service/common/serializer/protobuf"
Julian Hallcaa4af82021-05-19 12:02:36 +010052 "components/service/attestation/include"
53 "components/service/attestation/client/psa"
54 "components/service/attestation/client/provision"
55 "components/service/attestation/test/service"
Imre Kisc8951192023-11-03 17:11:33 +010056 "components/service/rpmb/backend"
57 "components/service/rpmb/client"
58 "components/service/rpmb/frontend"
59 "components/service/rpmb/frontend/platform/default"
Julian Halleff4b282020-11-23 18:24:12 +010060 "protocols/service/crypto/protobuf"
julhal01734dbad2020-12-21 10:27:41 +000061 "protocols/service/crypto/packed-c"
Julian Halla7e76c82021-04-14 11:12:11 +010062 "components/service/secure_storage/include"
julhal013a4207d2021-03-08 13:32:08 +000063 "components/service/secure_storage/test/service"
64 "components/service/secure_storage/frontend/psa/its"
65 "components/service/secure_storage/frontend/psa/its/test"
66 "components/service/secure_storage/frontend/psa/ps"
67 "components/service/secure_storage/frontend/psa/ps/test"
68 "components/service/secure_storage/backend/secure_storage_client"
Julian Hall374b5c32023-02-08 14:11:35 +000069 "components/service/fwu/test/service"
70 "components/service/fwu/test/fwu_client/remote"
71 "components/service/fwu/test/fwu_dut"
72 "components/service/fwu/test/fwu_dut/proxy"
73 "components/service/fwu/test/image_directory_checker"
74 "components/service/fwu/test/metadata_checker"
75 "components/service/fwu/test/metadata_fetcher/client"
Julian Halleff4b282020-11-23 18:24:12 +010076)
77
78#-------------------------------------------------------------------------------
Gabor Toth193f6dd2024-09-27 11:49:49 +020079# Component configurations
80#
81#-------------------------------------------------------------------------------
82target_compile_definitions(ts-service-test PRIVATE
83 "TRACE_PREFIX=\"TEST\""
84 "TRACE_LEVEL=0"
85)
86
87#-------------------------------------------------------------------------------
Julian Halleff4b282020-11-23 18:24:12 +010088# Components used from external projects
89#
90#-------------------------------------------------------------------------------
91
Julian Halleff4b282020-11-23 18:24:12 +010092# Nanopb
93include(${TS_ROOT}/external/nanopb/nanopb.cmake)
94target_link_libraries(ts-service-test PRIVATE nanopb::protobuf-nanopb-static)
95protobuf_generate_all(TGT "ts-service-test" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
96
Julian Halleff4b282020-11-23 18:24:12 +010097#-------------------------------------------------------------------------------
98# Define install content.
99#
100#-------------------------------------------------------------------------------
101if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
102 set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
103endif()
Gyorgy Szingc31afbf2021-02-12 01:51:55 +0100104install(TARGETS ts-service-test RUNTIME DESTINATION ${TS_ENV}/bin)