1#------------------------------------------------------------------------------- 2# Copyright (c) 2020-2023, Arm Limited. All rights reserved. 3# Copyright (c) 2022 Cypress Semiconductor Corporation (an Infineon company) 4# or an affiliate of Cypress Semiconductor Corporation. All rights reserved. 5# 6# SPDX-License-Identifier: BSD-3-Clause 7# 8#------------------------------------------------------------------------------- 9 10cmake_minimum_required(VERSION 3.21) 11 12list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) 13include(version) 14include(remote_library) 15include(utils) 16 17if(EXISTS ${CMAKE_SOURCE_DIR}/localrepos.cmake) 18 message(WARNING "Building using local repositories from \"" ${CMAKE_SOURCE_DIR}/localrepos.cmake "\"") 19 include(${CMAKE_SOURCE_DIR}/localrepos.cmake) 20endif() 21 22############################ CONFIGURATION ##################################### 23include(config/pre_config.cmake) 24 25if(USE_KCONFIG_TOOL) 26 include(${CMAKE_SOURCE_DIR}/config/kconfig.cmake) 27else() 28 include(${CMAKE_SOURCE_DIR}/config/set_config.cmake) 29endif() 30 31include(config/post_config.cmake) 32 33############################### Compiler configuration ######################### 34 35include(${TFM_TOOLCHAIN_FILE}) 36 37set(CMAKE_C_COMPILER_FORCED true) 38set(CMAKE_CXX_COMPILER_FORCED true) 39 40project("Trusted Firmware M" VERSION ${TFM_VERSION} LANGUAGES C CXX ASM) 41tfm_toolchain_reload_compiler() 42 43add_subdirectory(lib/ext) 44add_subdirectory(lib/fih) 45add_subdirectory(tools) 46add_subdirectory(secure_fw) 47 48add_subdirectory(interface) 49if(BL2) 50 add_subdirectory(bl2) 51endif() 52 53if(BL1 AND PLATFORM_DEFAULT_BL1) 54 add_subdirectory(bl1/bl1_2) 55 add_subdirectory(bl1/bl1_1) 56endif() 57 58add_subdirectory(platform) 59 60if(CRYPTO_HW_ACCELERATOR) 61 add_subdirectory(platform/ext/accelerator) 62endif() 63 64if(IS_DIRECTORY ${CONFIG_TFM_TEST_DIR}) 65 add_subdirectory(${CONFIG_TFM_TEST_DIR} ${CMAKE_CURRENT_BINARY_DIR}/tf-m-tests) 66endif() 67 68############################ Config Check ###################################### 69 70include(${CMAKE_SOURCE_DIR}/config/check_config.cmake) 71 72################################################################################ 73 74include(cmake/install.cmake) 75