blob: 23d8e83e8289ce313c460d8714e2acd70afc34d5 [file] [log] [blame]
Gyorgy Szing30fa9872017-12-05 01:08:47 +00001#-------------------------------------------------------------------------------
Mingyang Sund90856f2020-04-01 14:11:42 +08002# Copyright (c) 2017-2020, 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 "spm" 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(SS_SPM_DIR ${CMAKE_CURRENT_LIST_DIR})
23if(NOT DEFINED TFM_ROOT_DIR)
24 message(FATAL_ERROR "Please set TFM_ROOT_DIR before including this file.")
25endif()
26
Mate Toth-Pal936c33b2018-04-10 14:02:07 +020027set (SS_SPM_C_SRC "${SS_SPM_DIR}/spm_api.c")
Gyorgy Szing30fa9872017-12-05 01:08:47 +000028
Mingyang Sunf3d29892019-07-10 17:50:23 +080029if(TFM_PSA_API)
Mingyang Sund90856f2020-04-01 14:11:42 +080030 list(APPEND SS_SPM_C_SRC "${SS_SPM_DIR}/spm_ipc.c")
Mingyang Sunda01a972019-07-12 17:32:59 +080031else()
Mingyang Sund90856f2020-04-01 14:11:42 +080032 list(APPEND SS_SPM_C_SRC "${SS_SPM_DIR}/spm_func.c")
Mingyang Sunf3d29892019-07-10 17:50:23 +080033endif()
Gyorgy Szing30fa9872017-12-05 01:08:47 +000034
35#Append all our source files to global lists.
36list(APPEND ALL_SRC_C ${SS_SPM_C_SRC})
37unset(SS_SPM_C_SRC)
38
39#Setting include directories
40embedded_include_directories(PATH ${TFM_ROOT_DIR} ABSOLUTE)
41embedded_include_directories(PATH ${TFM_ROOT_DIR}/interface/include ABSOLUTE)
42embedded_include_directories(PATH ${TFM_ROOT_DIR}/secure_fw/spm ABSOLUTE)
Ken Liub8ed8ba2019-07-09 12:52:08 +080043embedded_include_directories(PATH ${TFM_ROOT_DIR}/secure_fw/core/include ABSOLUTE)
Gyorgy Szing30fa9872017-12-05 01:08:47 +000044embedded_include_directories(PATH ${TFM_ROOT_DIR} ABSOLUTE)
45
Marc Moreno Berenguea1f296f2018-01-25 15:21:22 +000046set(BUILD_CMSIS_CORE Off)
47set(BUILD_RETARGET Off)
48set(BUILD_NATIVE_DRIVERS Off)
49set(BUILD_STARTUP Off)
50set(BUILD_TARGET_CFG Off)
51set(BUILD_TARGET_HARDWARE_KEYS Off)
Marc Moreno Berengue4cc81fc2018-08-10 14:32:01 +010052set(BUILD_TARGET_NV_COUNTERS Off)
Marc Moreno Berenguea1f296f2018-01-25 15:21:22 +000053set(BUILD_CMSIS_DRIVERS Off)
54set(BUILD_TIME Off)
55set(BUILD_UART_STDOUT Off)
56set(BUILD_FLASH Off)
Mate Toth-Pald3c77662019-02-20 16:23:00 +010057set(BUILD_PLAT_TEST Off)
Marc Moreno Berenguea1f296f2018-01-25 15:21:22 +000058if(NOT DEFINED PLATFORM_CMAKE_FILE)
59 message (FATAL_ERROR "Platform specific CMake is not defined. Please set PLATFORM_CMAKE_FILE.")
60elseif(NOT EXISTS ${PLATFORM_CMAKE_FILE})
61 message (FATAL_ERROR "Platform specific CMake \"${PLATFORM_CMAKE_FILE}\" file does not exist. Please fix value of PLATFORM_CMAKE_FILE.")
62else()
63 include(${PLATFORM_CMAKE_FILE})
64endif()
65