53 lines
1.5 KiB
CMake
53 lines
1.5 KiB
CMake
#
|
|
# 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()
|