1#------------------------------------------------------------------------------- 2# Copyright (c) 2020-2023, Arm Limited. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6#------------------------------------------------------------------------------- 7 8if (NOT TFM_PARTITION_INITIAL_ATTESTATION) 9 return() 10endif() 11 12cmake_minimum_required(VERSION 3.21) 13 14configure_file(${CMAKE_SOURCE_DIR}/interface/include/psa/initial_attestation.h.in 15 ${CMAKE_BINARY_DIR}/generated/interface/include/psa/initial_attestation.h) 16 17add_library(tfm_psa_rot_partition_attestation STATIC) 18 19add_dependencies(tfm_psa_rot_partition_attestation manifest_tool) 20 21target_sources(tfm_psa_rot_partition_attestation PRIVATE 22 tfm_attest.c 23 tfm_attest_req_mngr.c 24 attest_core.c 25 attest_boot_data.c 26 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:attest_asymmetric_key.c> 27 $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:attest_symmetric_key.c> 28 attest_token_encode.c 29) 30 31# The generated sources 32target_sources(tfm_psa_rot_partition_attestation 33 PRIVATE 34 ${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/initial_attestation/auto_generated/intermedia_tfm_initial_attestation.c 35) 36target_sources(tfm_partitions 37 INTERFACE 38 ${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/initial_attestation/auto_generated/load_info_tfm_initial_attestation.c 39) 40 41# Set include directory 42target_include_directories(tfm_psa_rot_partition_attestation 43 PUBLIC 44 . 45 PRIVATE 46 ${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/initial_attestation 47) 48target_include_directories(tfm_partitions 49 INTERFACE 50 ${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/initial_attestation 51) 52 53target_link_libraries(tfm_psa_rot_partition_attestation 54 PRIVATE 55 platform_s 56 tfm_config 57 tfm_t_cose_s 58 tfm_sprt 59 tfm_boot_status 60 qcbor 61) 62 63target_compile_definitions(tfm_psa_rot_partition_attestation 64 PRIVATE 65 $<$<BOOL:${ATTEST_INCLUDE_TEST_CODE}>:INCLUDE_TEST_CODE> 66 $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:SYMMETRIC_INITIAL_ATTESTATION> 67 $<$<NOT:$<BOOL:${PLATFORM_DEFAULT_ATTEST_HAL}>>:CLAIM_VALUE_CHECK> 68 $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:ATTEST_KEY_BITS=${ATTEST_KEY_BITS}> 69) 70 71########################### Attest defs ######################################## 72 73add_library(tfm_attestation_defs INTERFACE) 74 75target_include_directories(tfm_attestation_defs 76 INTERFACE 77 . 78 ${CMAKE_BINARY_DIR}/generated/interface/include/ 79) 80 81target_link_libraries(tfm_attestation_defs 82 INTERFACE 83 tfm_config 84) 85 86############################ Partition Defs #################################### 87 88target_link_libraries(tfm_partitions 89 INTERFACE 90 tfm_psa_rot_partition_attestation 91) 92 93 94target_compile_definitions(tfm_config 95 INTERFACE 96 TFM_PARTITION_INITIAL_ATTESTATION 97) 98