blob: 5437e74ae35b0d6be91d0f7107323f351ea67f1b [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#-------------------------------------------------------------------------------
Gabor Toth76909ad2024-09-25 15:23:21 +020019if (COVERAGE)
20 set(LIBTS_BUILD_TYPE "DEBUGCOVERAGE" CACHE STRING "Libts build type" FORCE)
21endif()
22
Julian Halleff4b282020-11-23 18:24:12 +010023include(${TS_ROOT}/deployments/libts/libts-import.cmake)
Gyorgy Szingec62ea72022-07-20 12:36:52 +000024target_link_libraries(ts-service-test PRIVATE libts::ts)
Julian Halleff4b282020-11-23 18:24:12 +010025
26#-------------------------------------------------------------------------------
Gyorgy Szingec62ea72022-07-20 12:36:52 +000027# Components that are common across all deployments
Julian Halleff4b282020-11-23 18:24:12 +010028#
29#-------------------------------------------------------------------------------
30add_components(
31 TARGET "ts-service-test"
32 BASE_DIR ${TS_ROOT}
33 COMPONENTS
Julian Hall374b5c32023-02-08 14:11:35 +000034 "components/common/endian"
julhal01734dbad2020-12-21 10:27:41 +000035 "components/common/tlv"
Julian Hall374b5c32023-02-08 14:11:35 +000036 "components/common/uuid"
Julian Hall99a57e32021-07-28 14:18:50 +010037 "components/service/common/client"
Julian Halla7e76c82021-04-14 11:12:11 +010038 "components/service/common/include"
39 "components/service/crypto/include"
Julian Halleff4b282020-11-23 18:24:12 +010040 "components/service/crypto/test/service"
julhal01734dbad2020-12-21 10:27:41 +000041 "components/service/crypto/test/service/protobuf"
42 "components/service/crypto/test/service/packed-c"
Julian Hallc6e7a8a2021-08-09 14:28:13 +010043 "components/service/crypto/test/service/extension/hash"
44 "components/service/crypto/test/service/extension/hash/packed-c"
Julian Halla652ad62021-08-10 12:05:46 +010045 "components/service/crypto/test/service/extension/cipher"
46 "components/service/crypto/test/service/extension/cipher/packed-c"
Julian Hallcb11ba52021-08-10 15:41:06 +010047 "components/service/crypto/test/service/extension/mac"
48 "components/service/crypto/test/service/extension/mac/packed-c"
Julian Halle6569442021-08-11 11:07:24 +010049 "components/service/crypto/test/service/extension/key_derivation"
50 "components/service/crypto/test/service/extension/key_derivation/packed-c"
Julian Halla7e76c82021-04-14 11:12:11 +010051 "components/service/crypto/client/psa"
Julian Halleff4b282020-11-23 18:24:12 +010052 "components/service/crypto/client/cpp"
Julian Hall7a703402021-08-04 09:20:43 +010053 "components/service/crypto/client/cpp/protocol/protobuf"
54 "components/service/crypto/client/cpp/protocol/packed-c"
Julian Halleff4b282020-11-23 18:24:12 +010055 "components/service/common/serializer/protobuf"
Julian Hallcaa4af82021-05-19 12:02:36 +010056 "components/service/attestation/include"
57 "components/service/attestation/client/psa"
58 "components/service/attestation/client/provision"
59 "components/service/attestation/test/service"
Imre Kisc8951192023-11-03 17:11:33 +010060 "components/service/rpmb/backend"
61 "components/service/rpmb/client"
62 "components/service/rpmb/frontend"
63 "components/service/rpmb/frontend/platform/default"
Julian Halleff4b282020-11-23 18:24:12 +010064 "protocols/service/crypto/protobuf"
julhal01734dbad2020-12-21 10:27:41 +000065 "protocols/service/crypto/packed-c"
Julian Halla7e76c82021-04-14 11:12:11 +010066 "components/service/secure_storage/include"
julhal013a4207d2021-03-08 13:32:08 +000067 "components/service/secure_storage/test/service"
68 "components/service/secure_storage/frontend/psa/its"
69 "components/service/secure_storage/frontend/psa/its/test"
70 "components/service/secure_storage/frontend/psa/ps"
71 "components/service/secure_storage/frontend/psa/ps/test"
72 "components/service/secure_storage/backend/secure_storage_client"
Julian Hall374b5c32023-02-08 14:11:35 +000073 "components/service/fwu/test/service"
74 "components/service/fwu/test/fwu_client/remote"
75 "components/service/fwu/test/fwu_dut"
76 "components/service/fwu/test/fwu_dut/proxy"
77 "components/service/fwu/test/image_directory_checker"
78 "components/service/fwu/test/metadata_checker"
79 "components/service/fwu/test/metadata_fetcher/client"
Julian Halleff4b282020-11-23 18:24:12 +010080)
81
82#-------------------------------------------------------------------------------
Gabor Toth193f6dd2024-09-27 11:49:49 +020083# Component configurations
84#
85#-------------------------------------------------------------------------------
86target_compile_definitions(ts-service-test PRIVATE
87 "TRACE_PREFIX=\"TEST\""
88 "TRACE_LEVEL=0"
89)
90
91#-------------------------------------------------------------------------------
Julian Halleff4b282020-11-23 18:24:12 +010092# Components used from external projects
93#
94#-------------------------------------------------------------------------------
95
Julian Halleff4b282020-11-23 18:24:12 +010096# Nanopb
97include(${TS_ROOT}/external/nanopb/nanopb.cmake)
98target_link_libraries(ts-service-test PRIVATE nanopb::protobuf-nanopb-static)
99protobuf_generate_all(TGT "ts-service-test" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
100
Julian Halleff4b282020-11-23 18:24:12 +0100101#-------------------------------------------------------------------------------
102# Define install content.
103#
104#-------------------------------------------------------------------------------
105if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
106 set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
107endif()
Gyorgy Szingc31afbf2021-02-12 01:51:55 +0100108install(TARGETS ts-service-test RUNTIME DESTINATION ${TS_ENV}/bin)