# Fake target to always increment the version number on each build.
add_custom_target(bootloader_version ALL DEPENDS version.txt)
add_custom_command(
    OUTPUT version.txt
    COMMAND bash -c "${CMAKE_CURRENT_LIST_DIR}/update_version.sh"
) 
add_custom_command(
    POST_BUILD
    TARGET bootloader_version
    COMMAND bash -c "${CMAKE_CURRENT_LIST_DIR}/update_version.sh"
)

foreach(target Bootloader)
  add_executable(${target}
    ${bootloader_common_src}
    ${model_common_src}
    Bootloader.c
  )

  #pico_generate_pio_header(${target} ${blink_pio})
  #pico_generate_pio_header(${target} ${z80_pio})

  target_link_libraries(${target}
    ${pico_common_libs}
  )

  pico_enable_stdio_usb(${target} 0)
  pico_enable_stdio_uart(${target} 0)

  # create map/bin/hex file etc.
  pico_add_extra_outputs(${target})

  # Add linker script
  pico_set_linker_script(${target} ${CMAKE_CURRENT_SOURCE_DIR}/Bootloader_memmap.ld)

endforeach()

if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/version.txt")
    file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/version.txt" PROJECT_VER)
    set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${CMAKE_CURRENT_LIST_DIR}/version.txt")
endif()

string(TIMESTAMP PROJECT_DATE "%d/%m/%Y")

set(Bootloader_defines
  ${model_common_defines}
  USE_STDIO
  DEBUG
  BOOTLOADER=1
  BOOTLOADER_DEBUG=1
  PROJECT_VER=${PROJECT_VER}
  PROJECT_DATE="${PROJECT_DATE}"
)
  #BOOTLOADER_DEBUG=1

target_compile_definitions(Bootloader PRIVATE
  ${Bootloader_defines}
)

