blob: 3c935d1404102f48ea3fc61bd457e91b262ed142 [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>
Raef Colesce57e062020-10-02 10:39:41 +010070 $<$<BOOL:${TFM_INTERACTIVE_TEST}>:CORE_TEST_INTERACTIVE>
Raef Coles652bb8a2020-09-24 11:27:38 +010071)
Kevin Peng62a87112020-07-07 15:07:46 +080072
Raef Coles652bb8a2020-09-24 11:27:38 +010073####################### Secure #################################################
Kevin Peng62a87112020-07-07 15:07:46 +080074
Raef Coles652bb8a2020-09-24 11:27:38 +010075target_sources(tfm_s_tests
76 INTERFACE
77 ${CMAKE_CURRENT_SOURCE_DIR}/framework/secure_suites.c
78)
Kevin Peng62a87112020-07-07 15:07:46 +080079
Raef Coles652bb8a2020-09-24 11:27:38 +010080target_link_libraries(tfm_s_tests
81 INTERFACE
82 tfm_test_framework
83 tfm_partition_defs
84 tfm_spm
85)