|
3 | 3 | # _target_name - Name of the target (Executable) to upload. |
4 | 4 | # _port - Serial port on the host system used to upload/flash the connected Arduino board. |
5 | 5 | #=============================================================================# |
6 | | -function(upload_arduino_target _target_name _port) |
| 6 | +function(set_target_upload_port _target_name _port) |
7 | 7 |
|
8 | | - if ("${_target_name}"STREQUAL"") |
| 8 | + if (NOTTARGET${_target_name}) |
9 | 9 | message(FATAL_ERROR "Can't create upload target for an invalid target ${_target_name}") |
| 10 | + else () |
| 11 | + get_target_property(target_type ${_target_name} TYPE) |
| 12 | + if (NOT ${target_type} STREQUAL "EXECUTABLE") # Target is not executable |
| 13 | + message(SEND_ERROR "Upload target ${_target_name} must be an executable target") |
| 14 | + endif () |
10 | 15 | endif () |
11 | 16 |
|
12 | 17 | set_upload_target_flags(${_target_name} ${_port} upload_args) |
13 | 18 |
|
14 | | - add_custom_command(TARGET${_target_name} POST_BUILD |
15 | | - COMMAND ${ARDUINO_CMAKE_AVRDUDE_PROGRAM} |
16 | | - ARGS ${upload_args} |
17 | | -COMMENT"Uploading ${_target_name} target" |
18 | | - DEPENDS ${_target_name}) |
| 19 | + add_custom_target(${_target_name}_flash |
| 20 | + COMMAND ${ARDUINO_CMAKE_AVRDUDE_PROGRAM}${upload_args} |
| 21 | + COMMENT"Uploading ${_target_name} target") |
| 22 | + |
| 23 | + add_dependencies(${_target_name}_flash ${_target_name}) |
19 | 24 |
|
20 | 25 | endfunction() |
0 commit comments