33cmake_minimum_required (VERSION 3.17 )
44
55include (${CMAKE_CURRENT_LIST_DIR} /../family_support.cmake )
6- include (${CMAKE_CURRENT_LIST_DIR} /boards/${BOARD}/board.cmake )
76
87# Must be set before including IDF project.cmake
98set (EXTRA_COMPONENT_DIRS ${TOP} /src ${CMAKE_CURRENT_LIST_DIR} /boards)
@@ -34,6 +33,7 @@ project(tinyuf2)
3433
3534set (ARTIFACT_PATH ${CMAKE_CURRENT_LIST_DIR} /_bin/${BOARD} )
3635execute_process (COMMAND mkdir -p ${ARTIFACT_PATH} )
36+ execute_process (COMMAND mkdir -p ${ARTIFACT_PATH} /apps )
3737
3838# Create post-build script for combined.bin / combined-ota.bin
3939file (WRITE ${CMAKE_BINARY_DIR} /tinyuf2.postbuild.sh
@@ -73,15 +73,26 @@ add_custom_command(TARGET app POST_BUILD
7373 VERBATIM
7474 )
7575
76- # External project for self-update
76+ # flash combined.bin
77+ add_custom_target (combined-flash
78+ DEPENDS tinyuf2.elf
79+ COMMAND ${CMAKE_COMMAND} -E echo "Flashing combined.bin"
80+ COMMAND esptool.py --chip ${IDF_TARGET} write_flash 0x0 combined.bin
81+ VERBATIM
82+ )
83+
84+ #------------------------------
85+ # External project (self_update, blinky etc ...)
86+ #------------------------------
87+
7788# Post build: generate bootloader_bin.c for self-update and combined.bin
7889add_custom_command (TARGET app POST_BUILD
7990 COMMAND ${Python_EXECUTABLE} ${UF2CONV_PY} --carray -o ${CMAKE_CURRENT_LIST_DIR} /apps/self_update/main/bootloader_bin.c ${CMAKE_BINARY_DIR} /tinyuf2.bin
8091 )
8192
8293externalproject_add (self_update
8394 SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR} /apps/self_update
84- BINARY_DIR ${CMAKE_BINARY_DIR} /self_update
95+ BINARY_DIR ${CMAKE_BINARY_DIR} /apps/ self_update
8596 # Modifying the list separator for the arguments, as such, we won't need to manually
8697 # replace the new separator by the default ';' in the subproject
8798 CMAKE_ARGS -DBOARD=${BOARD}
@@ -90,12 +101,14 @@ externalproject_add(self_update
90101 DEPENDS tinyuf2.elf
91102 )
92103
93- # flash combined.bin
94- add_custom_target (combined-flash
95- DEPENDS tinyuf2.elf
96- COMMAND ${CMAKE_COMMAND} -E echo "Flashing combined.bin"
97- COMMAND esptool.py --chip ${IDF_TARGET} write_flash 0x0 combined.bin
98- VERBATIM
104+ externalproject_add (blinky
105+ SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR} /apps/blinky
106+ BINARY_DIR ${CMAKE_BINARY_DIR} /apps/blinky
107+ # Modifying the list separator for the arguments, as such, we won't need to manually
108+ # replace the new separator by the default ';' in the subproject
109+ CMAKE_ARGS -DBOARD=${BOARD}
110+ INSTALL_COMMAND ""
111+ BUILD_ALWAYS 1
99112 )
100113
101114# -------------------------------------------------------------
0 commit comments