blob: ea6b32b5daff2642edb26eb4fe29710b1047d7e9 [file] [log] [blame]
Kevin Peng62a87112020-07-07 15:07:46 +08001#-------------------------------------------------------------------------------
Raef Coles652bb8a2020-09-24 11:27:38 +01002# Copyright (c) 2020, Arm Limited. All rights reserved.
Kevin Peng62a87112020-07-07 15:07:46 +08003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
Raef Coles652bb8a2020-09-24 11:27:38 +01008cmake_minimum_required(VERSION 3.13)
Kevin Peng62a87112020-07-07 15:07:46 +08009
Raef Coles652bb8a2020-09-24 11:27:38 +010010add_library(tfm_ns_tests INTERFACE)
11add_library(tfm_test_framework INTERFACE)
12
13# For multi-core projects, the NS app can be run on a different CPU to the
14# Secure code. To facilitate this, we once again reload the compiler to load the
15# setting for the NS CPU. Cmake settings are directory scoped so this affects
16# anything loaded from or declared in this dir.
17if (TFM_MULTI_CORE_TOPOLOGY)
18 include(${CMAKE_SOURCE_DIR}/platform/ext/target/${TFM_PLATFORM}/preload_ns.cmake)
Kevin Pengae997e42020-07-08 17:06:37 +080019endif()
Kevin Peng62a87112020-07-07 15:07:46 +080020
Raef Coles652bb8a2020-09-24 11:27:38 +010021add_subdirectory(test_services)
Kevin Peng62a87112020-07-07 15:07:46 +080022
Raef Coles652bb8a2020-09-24 11:27:38 +010023add_subdirectory(suites/attestation)
24add_subdirectory(suites/audit)
25add_subdirectory(suites/core)
26add_subdirectory(suites/crypto)
27add_subdirectory(suites/its)
28add_subdirectory(suites/qcbor)
29add_subdirectory(suites/ps)
30add_subdirectory(suites/t_cose)
31add_subdirectory(suites/platform)
32if(TFM_PSA_API)
33 add_subdirectory(suites/ipc)
34endif()
35if(TFM_MULTI_CORE_TOPOLOGY)
36 add_subdirectory(suites/multi_core)
Kevin Peng62a87112020-07-07 15:07:46 +080037endif()
38
Raef Coles652bb8a2020-09-24 11:27:38 +010039target_sources(tfm_test_framework
40 INTERFACE
41 ${CMAKE_CURRENT_SOURCE_DIR}/framework/test_framework.c
42 ${CMAKE_CURRENT_SOURCE_DIR}/framework/test_framework_helpers.c
43 ${CMAKE_CURRENT_SOURCE_DIR}/framework/test_framework_integ_test_helper.c
44)
Kevin Peng62a87112020-07-07 15:07:46 +080045
Raef Coles652bb8a2020-09-24 11:27:38 +010046target_include_directories(tfm_test_framework
47 INTERFACE
48 framework
49)
Kevin Peng62a87112020-07-07 15:07:46 +080050
Raef Coles652bb8a2020-09-24 11:27:38 +010051target_link_libraries(tfm_test_framework
52 INTERFACE
53 psa_interface
54)
Kevin Peng62a87112020-07-07 15:07:46 +080055
Raef Coles652bb8a2020-09-24 11:27:38 +010056target_sources(tfm_ns_tests
57 INTERFACE
58 ${CMAKE_CURRENT_SOURCE_DIR}/framework/non_secure_suites.c
59)
Kevin Peng62a87112020-07-07 15:07:46 +080060
Raef Coles652bb8a2020-09-24 11:27:38 +010061target_link_libraries(tfm_ns_tests
62 INTERFACE
63 tfm_test_framework
64 tfm_partition_defs
65)
Kevin Peng62a87112020-07-07 15:07:46 +080066
Raef Coles652bb8a2020-09-24 11:27:38 +010067target_compile_definitions(tfm_ns_tests
68 INTERFACE
69 $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:SYMMETRIC_INITIAL_ATTESTATION>
70)
Kevin Peng62a87112020-07-07 15:07:46 +080071
Raef Coles652bb8a2020-09-24 11:27:38 +010072####################### Secure #################################################
Kevin Peng62a87112020-07-07 15:07:46 +080073
Raef Coles652bb8a2020-09-24 11:27:38 +010074target_sources(tfm_s_tests
75 INTERFACE
76 ${CMAKE_CURRENT_SOURCE_DIR}/framework/secure_suites.c
77)
Kevin Peng62a87112020-07-07 15:07:46 +080078
Raef Coles652bb8a2020-09-24 11:27:38 +010079target_link_libraries(tfm_s_tests
80 INTERFACE
81 tfm_test_framework
82 tfm_partition_defs
83 tfm_spm
84)