1#------------------------------------------------------------------------------- 2# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6#------------------------------------------------------------------------------- 7 8#[===[.rst: 9.. cmake:command:: export_memory_regions_to_manifest 10 11 Exports the memory regions from an ELF format SP into a manifest file fragment. 12 13 .. code:: cmake 14 15 export_memory_regions_to_manifest(TARGET NAME RES) 16 17 INPUTS: 18 19 ``TARGET`` 20 Build target 21 22 ``NAME`` 23 The UUID of the SP as a string. 24 25 ``RES`` 26 The name of the SP. 27 28#]===] 29function(export_memory_regions_to_manifest) 30 set(options) 31 set(oneValueArgs TARGET NAME RES) 32 set(multiValueArgs) 33 cmake_parse_arguments(MY "${options}" "${oneValueArgs}" 34 "${multiValueArgs}" ${ARGN} ) 35 36 find_package(Python3 REQUIRED COMPONENTS Interpreter) 37 38 add_custom_command( 39 TARGET ${MY_TARGET} POST_BUILD 40 COMMAND ${Python3_EXECUTABLE} ${TS_ROOT}/tools/python/elf_segments_to_manifest.py 41 $<TARGET_FILE:${MY_TARGET}> 42 $<TARGET_FILE_DIR:${MY_TARGET}>/${MY_NAME}) 43 if (MY_RES) 44 set(${MY_RES} $<TARGET_FILE_DIR:${MY_TARGET}>/${MY_NAME} PARENT_SCOPE) 45 endif() 46endfunction() 47