Skip to content

Commit dd214a7

Browse files
Merge pull request queezythegreat#96 from mikepurvis/respect-output-path
Respect EXECUTABLE_OUTPUT_PATH when set
2 parents cd5eb1f + 6bbdb62 commit dd214a7

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

cmake/Platform/Arduino.cmake

+17-4
Original file line numberDiff line numberDiff line change
@@ -1075,7 +1075,10 @@ function(setup_arduino_target TARGET_NAME BOARD_ID ALL_SRCS ALL_LIBS COMPILE_FLA
10751075
LINK_FLAGS "${ARDUINO_LINK_FLAGS} ${LINK_FLAGS}")
10761076
target_link_libraries(${TARGET_NAME} ${ALL_LIBS} "-lc -lm")
10771077

1078-
set(TARGET_PATH ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME})
1078+
if(NOT EXECUTABLE_OUTPUT_PATH)
1079+
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
1080+
endif()
1081+
set(TARGET_PATH ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME})
10791082
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
10801083
COMMAND ${CMAKE_OBJCOPY}
10811084
ARGS ${ARDUINO_OBJCOPY_EEP_FLAGS}
@@ -1166,8 +1169,13 @@ function(setup_arduino_bootloader_upload TARGET_NAME BOARD_ID PORT AVRDUDE_FLAGS
11661169
return()
11671170
endif()
11681171

1169-
list(APPEND AVRDUDE_ARGS "-Uflash:w:${TARGET_NAME}.hex")
1170-
list(APPEND AVRDUDE_ARGS "-Ueeprom:w:${TARGET_NAME}.eep:i")
1172+
if(NOT EXECUTABLE_OUTPUT_PATH)
1173+
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
1174+
endif()
1175+
set(TARGET_PATH ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME})
1176+
1177+
list(APPEND AVRDUDE_ARGS "-Uflash:w:${TARGET_PATH}.hex")
1178+
list(APPEND AVRDUDE_ARGS "-Ueeprom:w:${TARGET_PATH}.eep:i")
11711179
add_custom_target(${UPLOAD_TARGET}
11721180
${ARDUINO_AVRDUDE_PROGRAM}
11731181
${AVRDUDE_ARGS}
@@ -1209,7 +1217,12 @@ function(setup_arduino_programmer_burn TARGET_NAME BOARD_ID PROGRAMMER PORT AVRD
12091217
return()
12101218
endif()
12111219

1212-
list(APPEND AVRDUDE_ARGS "-Uflash:w:${TARGET_NAME}.hex")
1220+
if(NOT EXECUTABLE_OUTPUT_PATH)
1221+
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
1222+
endif()
1223+
set(TARGET_PATH ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME})
1224+
1225+
list(APPEND AVRDUDE_ARGS "-Uflash:w:${TARGET_PATH}.hex")
12131226

12141227
add_custom_target(${PROGRAMMER_TARGET}
12151228
${ARDUINO_AVRDUDE_PROGRAM}

0 commit comments

Comments
 (0)