summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2023-03-07 17:58:52 +0300
committerOxore <oxore@protonmail.com>2023-03-07 17:58:52 +0300
commit0e36e3f05a81fe7fdd1c008a5f46503e68f85f7b (patch)
tree89bbda80a63e6d11416eacf2365f49e9bd6619c9 /CMakeLists.txt
parent5f7d4d6e9f47d328e7c4ef71030bdc9e34892798 (diff)
Add hex generation and print size after build
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt20
1 files changed, 19 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 11a1a0b..8d1f859 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -130,7 +130,6 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE
__FREERTOS__=1
)
-# select linker script
set(linker_script_mcu "${CMAKE_SOURCE_DIR}/app/ld/stm32f072x8.ld")
set(linker_script_flash "${CMAKE_SOURCE_DIR}/app/ld/_flash.ld")
set(linker_script_sram "${CMAKE_SOURCE_DIR}/app/ld/_sram.ld")
@@ -150,6 +149,7 @@ target_compile_options(${PROJECT_NAME} PRIVATE
$<$<COMPILE_LANGUAGE:CXX>:-Wsuggest-final-methods>
-fstrict-volatile-bitfields
-ffunction-sections
+ -fdata-sections
-g3
-Wall
-Wextra
@@ -182,3 +182,21 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY LINK_DEPENDS
${linker_script_flash}
${linker_script_sram}
)
+
+set_property(TARGET ${PROJECT_NAME} PROPERTY SUFFIX ".elf")
+
+add_custom_command(
+ TARGET ${PROJECT_NAME}
+ POST_BUILD
+ COMMAND ${CMAKE_OBJSIZE}
+ $<TARGET_FILE:${PROJECT_NAME}>
+)
+
+add_custom_command(
+ TARGET ${PROJECT_NAME}
+ POST_BUILD
+ COMMAND ${CMAKE_OBJCOPY}
+ $<TARGET_FILE:${PROJECT_NAME}>
+ -O ihex
+ $<TARGET_FILE_BASE_NAME:${PROJECT_NAME}>.hex
+)