Files
edgetx-gx12/cmake/RunRdfuCli.cmake
T

25 lines
881 B
CMake

# Runs rdfu for the flash/flash-bl/flash-uf2 targets in radio/src/CMakeLists.txt.
# Invoked via `cmake -P` so resolving/fetching the binary happens at build
# time, not on every configure.
#
# -D args: RDFU_SUBCOMMAND, RDFU_FILE, RDFU_VENDOR, RDFU_PRODUCT,
# RDFU_START_ADDRESS (optional, omitted for UF2 writes)
cmake_minimum_required(VERSION 3.14)
include(${CMAKE_CURRENT_LIST_DIR}/FetchRdfuCli.cmake)
set(RDFU_ARGS ${RDFU_SUBCOMMAND} --vendor ${RDFU_VENDOR} --product ${RDFU_PRODUCT})
if(DEFINED RDFU_START_ADDRESS AND NOT RDFU_START_ADDRESS STREQUAL "")
list(APPEND RDFU_ARGS --start-address ${RDFU_START_ADDRESS})
endif()
list(APPEND RDFU_ARGS ${RDFU_FILE})
execute_process(
COMMAND ${RDFU_EXECUTABLE} ${RDFU_ARGS}
RESULT_VARIABLE RDFU_RESULT
)
if(NOT RDFU_RESULT EQUAL 0)
message(FATAL_ERROR "rdfu ${RDFU_SUBCOMMAND} failed (exit code ${RDFU_RESULT})")
endif()