cmake: shields: escaping and quoting list when used for env settings
Fixes: #30553 The `;` in a list must be escaped when used as for execute_process and add_custom_target, as those functions are using `cmake -E env` to setup correct environment before executing kconfig and menuconfig. This commits escapes `SHIELD_AS_LIST` variable list correctly before using it. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit is contained in:
parent
0d099bdd54
commit
d24ca1be1b
1 changed files with 4 additions and 1 deletions
|
@ -85,6 +85,8 @@ endforeach()
|
||||||
|
|
||||||
# A list of common environment settings used when invoking Kconfig during CMake
|
# A list of common environment settings used when invoking Kconfig during CMake
|
||||||
# configure time or menuconfig and related build target.
|
# configure time or menuconfig and related build target.
|
||||||
|
string(REPLACE ";" "\\\;" SHIELD_AS_LIST_ESCAPED "${SHIELD_AS_LIST}")
|
||||||
|
|
||||||
set(COMMON_KCONFIG_ENV_SETTINGS
|
set(COMMON_KCONFIG_ENV_SETTINGS
|
||||||
PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
||||||
srctree=${ZEPHYR_BASE}
|
srctree=${ZEPHYR_BASE}
|
||||||
|
@ -95,7 +97,6 @@ set(COMMON_KCONFIG_ENV_SETTINGS
|
||||||
ARCH=${ARCH}
|
ARCH=${ARCH}
|
||||||
ARCH_DIR=${ARCH_DIR}
|
ARCH_DIR=${ARCH_DIR}
|
||||||
BOARD_DIR=${BOARD_DIR}
|
BOARD_DIR=${BOARD_DIR}
|
||||||
SHIELD_AS_LIST=${SHIELD_AS_LIST}
|
|
||||||
KCONFIG_BINARY_DIR=${KCONFIG_BINARY_DIR}
|
KCONFIG_BINARY_DIR=${KCONFIG_BINARY_DIR}
|
||||||
TOOLCHAIN_KCONFIG_DIR=${TOOLCHAIN_KCONFIG_DIR}
|
TOOLCHAIN_KCONFIG_DIR=${TOOLCHAIN_KCONFIG_DIR}
|
||||||
EDT_PICKLE=${EDT_PICKLE}
|
EDT_PICKLE=${EDT_PICKLE}
|
||||||
|
@ -136,6 +137,7 @@ foreach(kconfig_target
|
||||||
ZEPHYR_BASE=${ZEPHYR_BASE}
|
ZEPHYR_BASE=${ZEPHYR_BASE}
|
||||||
ZEPHYR_TOOLCHAIN_VARIANT=${ZEPHYR_TOOLCHAIN_VARIANT}
|
ZEPHYR_TOOLCHAIN_VARIANT=${ZEPHYR_TOOLCHAIN_VARIANT}
|
||||||
${COMMON_KCONFIG_ENV_SETTINGS}
|
${COMMON_KCONFIG_ENV_SETTINGS}
|
||||||
|
"SHIELD_AS_LIST=${SHIELD_AS_LIST_ESCAPED}"
|
||||||
EXTRA_DTC_FLAGS=${EXTRA_DTC_FLAGS}
|
EXTRA_DTC_FLAGS=${EXTRA_DTC_FLAGS}
|
||||||
DTS_POST_CPP=${DTS_POST_CPP}
|
DTS_POST_CPP=${DTS_POST_CPP}
|
||||||
DTS_ROOT_BINDINGS=${DTS_ROOT_BINDINGS}
|
DTS_ROOT_BINDINGS=${DTS_ROOT_BINDINGS}
|
||||||
|
@ -244,6 +246,7 @@ endif()
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${CMAKE_COMMAND} -E env
|
COMMAND ${CMAKE_COMMAND} -E env
|
||||||
${COMMON_KCONFIG_ENV_SETTINGS}
|
${COMMON_KCONFIG_ENV_SETTINGS}
|
||||||
|
SHIELD_AS_LIST=${SHIELD_AS_LIST_ESCAPED}
|
||||||
${PYTHON_EXECUTABLE}
|
${PYTHON_EXECUTABLE}
|
||||||
${ZEPHYR_BASE}/scripts/kconfig/kconfig.py
|
${ZEPHYR_BASE}/scripts/kconfig/kconfig.py
|
||||||
--zephyr-base=${ZEPHYR_BASE}
|
--zephyr-base=${ZEPHYR_BASE}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue