777e0a1b86
We are using the CMake command 'file(STRINGS' (which defaults to only decoding ASCII) to read Kconfig configurations. When UTF-8 characters are detected they are treated as newlines. This behaviour has caused issues when users have input UTF-8 characters into Kconfig values. E.g. USB device descriptor strings. This commit adds the flag 'ENCODING "UTF-8"' to the 'file(STRINGS' command so that UTF-8 characters are correctly passed through the build system. Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
17 lines
565 B
CMake
17 lines
565 B
CMake
set(CONFIGS_C ${CMAKE_CURRENT_BINARY_DIR}/misc/generated/configs.c)
|
|
|
|
file(STRINGS
|
|
${AUTOCONF_H}
|
|
CONFIG_LIST
|
|
REGEX "^#define CONFIG_"
|
|
ENCODING "UTF-8"
|
|
)
|
|
foreach (CONFIG ${CONFIG_LIST})
|
|
string(REGEX REPLACE "#define (CONFIG_[A-Z|_|0-9]*) (.*)" "GEN_ABSOLUTE_SYM(\\1, \\2)" CONFIG ${CONFIG})
|
|
string(REGEX REPLACE "\"(.*)\"" "1" CONFIG ${CONFIG})
|
|
set(GEN_ABS_SYM_LIST "${GEN_ABS_SYM_LIST}${CONFIG};\n")
|
|
endforeach()
|
|
|
|
configure_file(${CMAKE_CURRENT_LIST_DIR}/configs.c.in ${CONFIGS_C})
|
|
zephyr_sources( ${CONFIGS_C})
|