blob: 271729387a48436b3ffbba4c1b1825cc317fe605 [file] [log] [blame]
Anton Komlev58dde462022-07-07 13:50:02 +01001#-------------------------------------------------------------------------------
2# Copyright (c) 2022, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8# A string calibrating routine to the specified length by
9# appending to an input string a specified character.
10#
11# output - variable to return the calibrated string
12
13function(format_string output input size filler)
14 string(LENGTH ${input} length)
15 foreach(i RANGE ${length} ${size})
16 string(CONCAT input ${input} ${filler})
17 endforeach()
18 set(${output} ${input} PARENT_SCOPE)
19endfunction()
20
21# Prints formatted list of options with a title
22#
23# title - will be printed in a header
24# options - list of CMake options to print (semicolon separated)
25#
26# Example:
27# dump_options("Partitions" "TFM_PARTITION_CRYPTO; TFM_PARTITION_FIRMWARE_UPDATE ")
28# will produce:
29# -- -------- Partitions ---------------------
30# -- TFM_PARTITION_CRYPTO ON
31# -- TFM_PARTITION_FIRMWARE_UPDATE OFF
32# -- -----------------------------------------
33
34function(dump_options title options)
35
36 if (CONFIG_TFM_PARTITION_QUIET)
37 return()
38 endif()
39
40 format_string(header "-------- ${title} " 50 "-")
41 message(STATUS )
42 message(STATUS "${header}")
43
44 foreach (option ${options})
45 string(STRIP ${option} option)
46 # avoid errors on empty strings to tolerate ';' at the end of list
Sherry Zhangaab0c072022-09-07 10:36:20 +080047 if((DEFINED ${option}) AND NOT ${option} STREQUAL "")
Anton Komlev58dde462022-07-07 13:50:02 +010048 format_string(option_name ${option} 40 " ")
49 message(STATUS "${option_name} ${${option}}")
50 endif()
51 endforeach()
52
53 format_string(footer "-" 50 "-")
54 message(STATUS "${footer}")
55endfunction()
56