blob: db62f96e8155ead379b0d8c4da54d3d4130362a2 [file] [log] [blame]
#-------------------------------------------------------------------------------
# Copyright (c) 2020-2023, Arm Limited. All rights reserved.
# Copyright (c) 2022 Cypress Semiconductor Corporation (an Infineon company)
# or an affiliate of Cypress Semiconductor Corporation. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
#-------------------------------------------------------------------------------
cmake_minimum_required(VERSION 3.21)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include(version)
include(remote_library)
include(utils)
if(EXISTS ${CMAKE_SOURCE_DIR}/localrepos.cmake)
message(WARNING "Building using local repositories from \"" ${CMAKE_SOURCE_DIR}/localrepos.cmake "\"")
include(${CMAKE_SOURCE_DIR}/localrepos.cmake)
endif()
############################ CONFIGURATION #####################################
include(config/pre_config.cmake)
if(USE_KCONFIG_TOOL)
include(${CMAKE_SOURCE_DIR}/config/kconfig.cmake)
else()
include(${CMAKE_SOURCE_DIR}/config/set_config.cmake)
endif()
include(config/post_config.cmake)
############################### Compiler configuration #########################
include(${TFM_TOOLCHAIN_FILE})
set(CMAKE_C_COMPILER_FORCED true)
set(CMAKE_CXX_COMPILER_FORCED true)
project("Trusted Firmware M" VERSION ${TFM_VERSION} LANGUAGES C CXX ASM)
tfm_toolchain_reload_compiler()
add_subdirectory(lib/ext)
add_subdirectory(lib/fih)
add_subdirectory(tools)
add_subdirectory(secure_fw)
add_subdirectory(interface)
if(BL2)
add_subdirectory(bl2)
endif()
if(BL1 AND PLATFORM_DEFAULT_BL1)
add_subdirectory(bl1/bl1_2)
add_subdirectory(bl1/bl1_1)
endif()
add_subdirectory(platform)
if(CRYPTO_HW_ACCELERATOR)
add_subdirectory(platform/ext/accelerator)
endif()
if(IS_DIRECTORY ${CONFIG_TFM_TEST_DIR})
add_subdirectory(${CONFIG_TFM_TEST_DIR} ${CMAKE_CURRENT_BINARY_DIR}/tf-m-tests)
endif()
############################ Config Check ######################################
include(${CMAKE_SOURCE_DIR}/config/check_config.cmake)
################################################################################
include(cmake/install.cmake)