cmake: fix set_ifndef() usage patterns

If the value argument to set_ifndef() may be unset, the entire value
must be double-quoted to avoid a CMake syntax error.

Fix call sites which don't handle this, or which otherwise make
non-idiomatic use of this function.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
This commit is contained in:
Marti Bolivar 2018-03-22 09:38:49 -04:00 committed by Anas Nashif
commit 98456b30f8
6 changed files with 6 additions and 13 deletions

View file

@ -15,12 +15,7 @@ endif()
set_ifndef(OPENOCD_IMAGE "${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME}")
# CONFIG_FLASH_BASE_ADDRESS, or something else?
if(NOT DEFINED OPENOCD_ADDRESS)
# This can't use set_ifndef() because CONFIG_FLASH_BASE_ADDRESS is
# the empty string on some targets, which causes set_ifndef() to
# choke.
set(OPENOCD_ADDRESS "${CONFIG_FLASH_BASE_ADDRESS}")
endif()
set_ifndef(OPENOCD_ADDRESS "${CONFIG_FLASH_BASE_ADDRESS}")
set(OPENOCD_CMD_LOAD_DEFAULT ${OPENOCD_FLASH} ${OPENOCD_IMAGE} ${OPENOCD_ADDRESS})
set(OPENOCD_CMD_VERIFY_DEFAULT verify_image ${OPENOCD_IMAGE} ${OPENOCD_ADDRESS})

View file

@ -5,9 +5,7 @@
# and currently provided by the Zephyr SDK. Those tools will need to be
# provided for different OSes and sepearately from the toolchain.
if(DEFINED ENV{ZEPHYR_SDK_INSTALL_DIR})
set_ifndef(ZEPHYR_SDK_INSTALL_DIR $ENV{ZEPHYR_SDK_INSTALL_DIR})
endif()
set_ifndef(ZEPHYR_SDK_INSTALL_DIR "$ENV{ZEPHYR_SDK_INSTALL_DIR}")
set(ZEPHYR_SDK_INSTALL_DIR ${ZEPHYR_SDK_INSTALL_DIR} CACHE PATH "Zephyr SDK install directory")
if(NOT ZEPHYR_SDK_INSTALL_DIR)

View file

@ -1,4 +1,4 @@
set_ifndef(ESPRESSIF_TOOLCHAIN_PATH $ENV{ESPRESSIF_TOOLCHAIN_PATH})
set_ifndef(ESPRESSIF_TOOLCHAIN_PATH "$ENV{ESPRESSIF_TOOLCHAIN_PATH}")
set( ESPRESSIF_TOOLCHAIN_PATH ${ESPRESSIF_TOOLCHAIN_PATH} CACHE PATH "")
assert( ESPRESSIF_TOOLCHAIN_PATH "ESPRESSIF_TOOLCHAIN_PATH is not set")

View file

@ -1,4 +1,4 @@
set_ifndef(GCCARMEMB_TOOLCHAIN_PATH $ENV{GCCARMEMB_TOOLCHAIN_PATH})
set_ifndef(GCCARMEMB_TOOLCHAIN_PATH "$ENV{GCCARMEMB_TOOLCHAIN_PATH}")
set( GCCARMEMB_TOOLCHAIN_PATH ${GCCARMEMB_TOOLCHAIN_PATH} CACHE PATH "gccarmemb install directory")
assert( GCCARMEMB_TOOLCHAIN_PATH "GCCARMEMB_TOOLCHAIN_PATH is not set")

View file

@ -4,7 +4,7 @@
# https://software.intel.com/en-us/articles/issm-toolchain-only-download
#
set_ifndef(ISSM_INSTALLATION_PATH $ENV{ISSM_INSTALLATION_PATH})
set_ifndef(ISSM_INSTALLATION_PATH "$ENV{ISSM_INSTALLATION_PATH}")
set( ISSM_INSTALLATION_PATH ${ISSM_INSTALLATION_PATH} CACHE PATH "")
assert( ISSM_INSTALLATION_PATH "ISSM_INSTALLATION_PATH is not set")

View file

@ -1,4 +1,4 @@
set_ifndef(XTOOLS_TOOLCHAIN_PATH $ENV{XTOOLS_TOOLCHAIN_PATH})
set_ifndef(XTOOLS_TOOLCHAIN_PATH "$ENV{XTOOLS_TOOLCHAIN_PATH}")
set( XTOOLS_TOOLCHAIN_PATH ${XTOOLS_TOOLCHAIN_PATH} CACHE PATH "")
assert( XTOOLS_TOOLCHAIN_PATH "XTOOLS_TOOLCHAIN_PATH is not set")