blob: b22046164911aa0ea05eaaf5c6c8e5a5c4995bc3 [file] [log] [blame]
#
# Copyright (c) 2021 Microchip Technology Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
zephyr_library()
if(DEFINED ENV{MEC172X_SPI_GEN})
# Grab it from environment variable if defined
set(MEC172X_SPI_GEN $ENV{MEC172X_SPI_GEN})
else()
# Else find the tool in PATH
if(CMAKE_HOST_APPLE)
# CMAKE_HOST_UNIX is also true for Apple,
# but there is no tool for Apple. So
# we need to skip it.
message(NOTICE "There is no SPI image generation tool for MacOS.")
elseif(CMAKE_HOST_UNIX)
set(MEC172X_SPI_GEN_FILENAME mec172x_spi_gen_linux_x86_64)
elseif(CMAKE_HOST_WIN32)
set(MEC172X_SPI_GEN_FILENAME mec172x_spi_gen.exe)
endif()
find_file(MEC172X_SPI_GEN_FINDFILE ${MEC172X_SPI_GEN_FILENAME})
if(MEC172X_SPI_GEN_FINDFILE STREQUAL MEC172X_SPI_GEN_FINDFILE-NOTFOUND)
message(WARNING "Microchip SPI Image Generation tool (${MEC172X_SPI_GEN_FILENAME}) is not available. SPI Image will not be generated.")
else()
set(MEC172X_SPI_GEN ${MEC172X_SPI_GEN_FINDFILE})
endif()
unset(MEC172X_SPI_GEN_FINDFILE)
unset(MEC172X_SPI_GEN_FILENAME)
endif()
if(DEFINED MEC172X_SPI_GEN)
if(DEFINED ENV{MEC172X_SPI_CFG})
set(MEC172X_SPI_CFG $ENV{MEC172X_SPI_CFG})
else()
set(MEC172X_SPI_CFG ${BOARD_DIR}/support/spi_cfg.txt)
endif()
set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
COMMAND ${MEC172X_SPI_GEN}
-i ${MEC172X_SPI_CFG}
-o ${PROJECT_BINARY_DIR}/${SPI_IMAGE_NAME}
)
unset(MEC172X_SPI_GEN)
unset(MEC172X_SPI_CFG)
endif()