From 7418e3643e57a117b739376f66c2bc990cf30d5a Mon Sep 17 00:00:00 2001 From: VintagePC <53943260+vintagepc@users.noreply.github.com> Date: Fri, 22 Jul 2022 17:35:15 -0400 Subject: [PATCH] =?UTF-8?q?Add=20cmake=20code=20to=20prepend=20the=20Prusa?= =?UTF-8?q?=20Magic=E2=84=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 9 +++++++++ cmake/HexConcat.cmake | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100644 cmake/HexConcat.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 8aca20e..195b73a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -161,6 +161,15 @@ if(CMAKE_CROSSCOMPILING) # generate linker map file target_link_options(firmware PUBLIC -Wl,-Map=firmware.map) + + # Put Prusa Magicâ„¢ at the beginning of the hex + add_custom_command( + TARGET firmware POST_BUILD + COMMAND ${CMAKE_COMMAND} -D WORK_DIR=${CMAKE_BINARY_DIR} -P + ${CMAKE_SOURCE_DIR}/cmake/HexConcat.cmake + DEPENDS firmware.hex + ) + endif() target_include_directories(firmware PRIVATE src lib) diff --git a/cmake/HexConcat.cmake b/cmake/HexConcat.cmake new file mode 100644 index 0000000..6954d92 --- /dev/null +++ b/cmake/HexConcat.cmake @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 2.8) +set(HEX_PREFIX "\; device = mm-control\n\n") +set(HEX_NAME "MM-control-01.hex") +file(READ ${WORK_DIR}/firmware.hex HEX) +file(WRITE ${WORK_DIR}/${HEX_NAME} ${HEX_PREFIX}) +file(APPEND ${WORK_DIR}/${HEX_NAME} ${HEX}) +message(status "Successfully built MM-control-01.hex!")