blob: f4fdece9aedc549dde8e07d46c57d579036b1bbd [file] [log] [blame]
Kevin Pengd0e49712022-12-07 11:13:01 +08001#-------------------------------------------------------------------------------
2# Copyright (c) 2023, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
Kevin Pengb308c342023-04-04 10:52:24 +08008# Load defaults, setting options not already set
9include(config/config_base.cmake)
10
11# Load regression configs overrided by platform
Kevin Peng174f8362023-04-07 11:32:16 +080012include(${TARGET_PLATFORM_PATH}/reg_config_override.cmake OPTIONAL)
Kevin Pengb308c342023-04-04 10:52:24 +080013
Kevin Pengd0e49712022-12-07 11:13:01 +080014# Fetch tf-m-tests repo during config, if NS or regression test is required.
15# Therefore tf-m-tests configs can be set with TF-M configs since their configs
16# are coupled.
17include(lib/ext/tf-m-tests/fetch_repo.cmake)
18
19# Load TF-M regression test suites setting
Kevin Pengb9c99f02022-12-07 11:23:17 +080020if(NOT USE_KCONFIG_TOOL AND (TFM_NS_REG_TEST OR TFM_S_REG_TEST))
Kevin Pengd0e49712022-12-07 11:13:01 +080021 include(${TFM_TEST_PATH}/config/set_config.cmake)
22endif()
23
24# Build system log config
25include(${CMAKE_SOURCE_DIR}/config/tfm_build_log_config.cmake)
26
27# The library to collect compile definitions of config options.
28add_library(tfm_config INTERFACE)
29
30target_compile_definitions(tfm_config
31 INTERFACE
Kevin Pengf6721c72023-03-01 16:12:45 +080032 $<$<STREQUAL:${TEST_PSA_API},CRYPTO>:PSA_API_TEST_CRYPTO>
33 $<$<STREQUAL:${TEST_PSA_API},IPC>:PSA_API_TEST_IPC>
Kevin Pengd0e49712022-12-07 11:13:01 +080034)
35
36# Set user defined TF-M config header file
37if(PROJECT_CONFIG_HEADER_FILE)
38 if(NOT EXISTS ${PROJECT_CONFIG_HEADER_FILE})
39 message(FATAL_ERROR "${PROJECT_CONFIG_HEADER_FILE} does not exist! Please use absolute path.")
40 endif()
41 target_compile_definitions(tfm_config
42 INTERFACE
43 PROJECT_CONFIG_HEADER_FILE="${PROJECT_CONFIG_HEADER_FILE}"
44 )
45endif()
46
47# Set platform defined TF-M config header file
48set(TARGET_CONFIG_HEADER_FILE ${TARGET_PLATFORM_PATH}/config_tfm_target.h)
49if(EXISTS ${TARGET_CONFIG_HEADER_FILE})
50 target_compile_definitions(tfm_config
51 INTERFACE
52 TARGET_CONFIG_HEADER_FILE="${TARGET_CONFIG_HEADER_FILE}"
53 )
54endif()
David Hu6d1a9b62023-02-22 16:54:04 +080055
56target_include_directories(tfm_config
57 INTERFACE
58 ${CMAKE_CURRENT_LIST_DIR}
59)