Files
MuditaOS/cmake/modules/FetchBootloader.cmake
Radoslaw Wicik 25fc56f4c6 [BH-353] Add minimal build target for BH
* add BellHybridMain
* fixing post review

Git automatically converts BellHybird as move from source/main.cpp to
prevent this and maintain "main.cpp" history adding new target as
separate commit.
2021-06-07 17:05:29 +02:00

36 lines
1.4 KiB
CMake

# download the bootloader
set(ECOBOOT_FILE ecoboot.bin)
set(VERSION_JSON_FILE version.json)
function(fetch_ecoboot)
set(ECOBOOT_DOWNLOAD_LOG ${CMAKE_BINARY_DIR}/download_info.txt)
add_custom_command(OUTPUT ${ECOBOOT_FILE}
COMMAND ${CMAKE_SOURCE_DIR}/tools/download_asset.py
"$<$<BOOL:$ENV{ASSETS_LOGIN}>:-l$ENV{ASSETS_LOGIN}>"
"$<$<BOOL:$ENV{ASSETS_TOKEN}>:-t$ENV{ASSETS_TOKEN}>"
-w ${CMAKE_BINARY_DIR} ecoboot download
> ${ECOBOOT_DOWNLOAD_LOG}
COMMENT "Downloading ${ECOBOOT_FILE}"
BYPRODUCTS ${ECOBOOT_DOWNLOAD_LOG}
)
add_custom_target(${ECOBOOT_FILE}-target DEPENDS ${ECOBOOT_FILE})
# generate version.json file (runs CMake script at build time)
add_custom_command(OUTPUT ${VERSION_JSON_FILE}
COMMAND ${CMAKE_COMMAND}
-DSRC_DIR=${CMAKE_SOURCE_DIR}
-DECOBOOT_DOWNLOAD_LOG=${ECOBOOT_DOWNLOAD_LOG}
-B ${CMAKE_BINARY_DIR}
-P ${CMAKE_SOURCE_DIR}/cmake/modules/GenUpdateVersionJson.cmake
DEPENDS ${ECOBOOT_FILE}-target ${ECOBOOT_DOWNLOAD_LOG}
)
add_custom_target(${VERSION_JSON_FILE}-target DEPENDS ${VERSION_JSON_FILE})
multicomp_install(PROGRAMS ${CMAKE_BINARY_DIR}/${ECOBOOT_FILE} DESTINATION "./"
COMPONENTS Standalone Update)
multicomp_install(FILES ${CMAKE_BINARY_DIR}/${VERSION_JSON_FILE} DESTINATION "./"
COMPONENTS Standalone Update)
endfunction()