1# 2# Copyright (c) 2021 Microchip Technology Inc. 3# 4# SPDX-License-Identifier: Apache-2.0 5# 6 7if(DEFINED ENV{MEC172X_SPI_GEN}) 8 # Grab it from environment variable if defined 9 set(MEC172X_SPI_GEN $ENV{MEC172X_SPI_GEN}) 10else() 11 # Else find the tool in PATH 12 13 if(CMAKE_HOST_APPLE) 14 # CMAKE_HOST_UNIX is also true for Apple, 15 # but there is no tool for Apple. So 16 # we need to skip it. 17 message(NOTICE "There is no SPI image generation tool for MacOS.") 18 elseif(CMAKE_HOST_UNIX) 19 set(MEC172X_SPI_GEN_FILENAME mec172x_spi_gen_linux_x86_64) 20 elseif(CMAKE_HOST_WIN32) 21 set(MEC172X_SPI_GEN_FILENAME mec172x_spi_gen.exe) 22 endif() 23 24 find_file(MEC172X_SPI_GEN_FINDFILE ${MEC172X_SPI_GEN_FILENAME}) 25 if(MEC172X_SPI_GEN_FINDFILE STREQUAL MEC172X_SPI_GEN_FINDFILE-NOTFOUND) 26 message(WARNING "Microchip SPI Image Generation tool (${MEC172X_SPI_GEN_FILENAME}) is not available. SPI Image will not be generated.") 27 else() 28 set(MEC172X_SPI_GEN ${MEC172X_SPI_GEN_FINDFILE}) 29 endif() 30 31 unset(MEC172X_SPI_GEN_FINDFILE) 32 unset(MEC172X_SPI_GEN_FILENAME) 33endif() 34 35if(DEFINED MEC172X_SPI_GEN) 36 if(DEFINED ENV{MEC172X_SPI_CFG}) 37 set(MEC172X_SPI_CFG $ENV{MEC172X_SPI_CFG}) 38 else() 39 set(MEC172X_SPI_CFG ${BOARD_DIR}/support/spi_cfg.txt) 40 endif() 41 42 set_property(GLOBAL APPEND PROPERTY extra_post_build_commands 43 COMMAND ${MEC172X_SPI_GEN} 44 -i ${MEC172X_SPI_CFG} 45 -o ${PROJECT_BINARY_DIR}/${SPI_IMAGE_NAME} 46 ) 47 48 unset(MEC172X_SPI_GEN) 49 unset(MEC172X_SPI_CFG) 50endif() 51