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