blob: 6376e69432fb6ae25a645a5c6ae1f67483520e2d [file] [log] [blame]
Gyorgy Szing30fa9872017-12-05 01:08:47 +00001#-------------------------------------------------------------------------------
Mate Toth-Pal65c935e2018-01-17 18:42:13 +01002# Copyright (c) 2017-2018, Arm Limited. All rights reserved.
Gyorgy Szing30fa9872017-12-05 01:08:47 +00003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8#Definitions to compile the "secure services" module.
9#This file assumes it will be included from a project specific cmakefile, and
10#will not create a library or executable.
11#Inputs:
12# TFM_ROOT_DIR - root directory of the TF-M repository.
13#
14#Outputs:
15# Will modify include directories to make the source compile.
16# ALL_SRC_C: C source files to be compiled will be added to this list. This shall be added to your add_executable or add_library command.
17# ALL_SRC_CXX: C++ source files to be compiled will be added to this list. This shall be added to your add_executable or add_library command.
18# ALL_SRC_ASM: assembly source files to be compiled will be added to this list. This shall be added to your add_executable or add_library command.
19# Include directories will be modified by using the include_directories() commands as needed.
20
21#Get the current directory where this file is located.
22set(CORE_TEST_DIR ${CMAKE_CURRENT_LIST_DIR})
23
24#Check input variables
25if (NOT DEFINED TFM_ROOT_DIR)
26 message(FATAL_ERROR "Please set TFM_ROOT_DIR before including this file.")
27endif()
28
29if (NOT DEFINED ENABLE_CORE_TESTS)
30 message(FATAL_ERROR "Incomplete build configuration: ENABLE_CORE_TESTS is undefined. ")
31elseif(ENABLE_CORE_TESTS)
32 list(APPEND ALL_SRC_C_S "${CORE_TEST_DIR}/tfm_core_test/tfm_ss_core_test.c"
33 "${CORE_TEST_DIR}/tfm_core_test/tfm_ss_core_test_veneers.c"
34 )
35endif()
36
37if (NOT DEFINED ENABLE_CORE_TESTS_2)
38 message(FATAL_ERROR "Incomplete build configuration: ENABLE_CORE_TESTS_2 is undefined. ")
39elseif(ENABLE_CORE_TESTS_2)
40 list(APPEND ALL_SRC_C_S "${CORE_TEST_DIR}/tfm_core_test_2/tfm_ss_core_test_2_veneers.c"
41 "${CORE_TEST_DIR}/tfm_core_test_2/tfm_ss_core_test_2.c"
42 )
43endif()
44
Mate Toth-Pal349714a2018-02-23 15:30:24 +010045if (NOT DEFINED TFM_PARTITION_TEST_SST)
46 message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_SST is undefined. ")
47elseif (TFM_PARTITION_TEST_SST)
Jamie Fox5592db02017-12-18 16:48:29 +000048 list(APPEND ALL_SRC_C_S "${CORE_TEST_DIR}/tfm_sst_test_service/sst_test_service.c"
49 "${CORE_TEST_DIR}/tfm_sst_test_service/sst_test_service_veneers.c"
50 )
51
Mate Toth-Pal1379e152018-07-30 17:38:29 +020052 list(APPEND ALL_SRC_C_NS "${CORE_TEST_DIR}/tfm_sst_test_service/sst_test_service_api.c")
Jamie Fox5592db02017-12-18 16:48:29 +000053endif()
54
Ben Davis6d7256b2018-04-18 14:16:53 +010055if (NOT DEFINED TFM_PARTITION_TEST_SECURE_SERVICES)
56 message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_SECURE_SERVICES is undefined. ")
57elseif (TFM_PARTITION_TEST_SECURE_SERVICES)
58 list(APPEND ALL_SRC_C_S "${CORE_TEST_DIR}/tfm_secure_client_service/tfm_secure_client_service.c"
59 "${CORE_TEST_DIR}/tfm_secure_client_service/tfm_secure_client_service_veneers.c"
60 )
61
Mate Toth-Pal1379e152018-07-30 17:38:29 +020062 list(APPEND ALL_SRC_C_NS "${CORE_TEST_DIR}/tfm_secure_client_service/tfm_secure_client_service_api.c")
Ben Davis6d7256b2018-04-18 14:16:53 +010063endif()
64
Edison Ai202a81e2018-06-25 13:36:04 +080065if (NOT DEFINED CORE_TEST_IPC)
66 message(FATAL_ERROR "Incomplete build configuration: CORE_TEST_IPC is undefined. ")
67elseif (CORE_TEST_IPC)
Edison Aibb614aa2018-11-21 15:15:00 +080068 list(APPEND ALL_SRC_C_S "${CORE_TEST_DIR}/tfm_ipc_service/tfm_ipc_service_test.c"
69 "${CORE_TEST_DIR}/tfm_ipc_client/tfm_ipc_client_test.c"
Edison Ai202a81e2018-06-25 13:36:04 +080070 )
71endif()
72
Gyorgy Szing30fa9872017-12-05 01:08:47 +000073embedded_include_directories(PATH ${TFM_ROOT_DIR} ABSOLUTE)
74embedded_include_directories(PATH ${TFM_ROOT_DIR}/interface/include ABSOLUTE)
75
Marc Moreno Berenguea1f296f2018-01-25 15:21:22 +000076set(BUILD_CMSIS_CORE Off)
77set(BUILD_RETARGET Off)
78set(BUILD_NATIVE_DRIVERS Off)
79set(BUILD_STARTUP Off)
80set(BUILD_TARGET_CFG Off)
81set(BUILD_TARGET_HARDWARE_KEYS Off)
Marc Moreno Berengue4cc81fc2018-08-10 14:32:01 +010082set(BUILD_TARGET_NV_COUNTERS Off)
Marc Moreno Berenguea1f296f2018-01-25 15:21:22 +000083set(BUILD_CMSIS_DRIVERS Off)
84set(BUILD_TIME Off)
85set(BUILD_UART_STDOUT Off)
86set(BUILD_FLASH Off)
Tamas Ban3681ce02018-11-22 15:19:24 +000087set(BUILD_BOOT_SEED Off)
Tamas Ban229f9db2018-08-17 12:57:13 +010088set(BUILD_DEVICE_ID On)
Marc Moreno Berenguea1f296f2018-01-25 15:21:22 +000089if(NOT DEFINED PLATFORM_CMAKE_FILE)
90 message (FATAL_ERROR "Platform specific CMake is not defined. Please set PLATFORM_CMAKE_FILE.")
91elseif(NOT EXISTS ${PLATFORM_CMAKE_FILE})
92 message (FATAL_ERROR "Platform specific CMake \"${PLATFORM_CMAKE_FILE}\" file does not exist. Please fix value of PLATFORM_CMAKE_FILE.")
93else()
94 include(${PLATFORM_CMAKE_FILE})
95endif()