#| Load the compiler family specific configurations
include( ${COMPILER_FAMILY}.cmake )
+#| Binutils not set by CMake
+set( CMAKE_SIZE "${_CMAKE_TOOLCHAIN_PREFIX}size" )
+
###
#| Convert the .ELF into a .HEX to load onto the Teensy
set( TARGET_HEX ${TARGET}.hex )
add_custom_command( TARGET ${TARGET_ELF} POST_BUILD
- COMMAND ${OBJCOPY} ${HEX_FLAGS} ${TARGET_ELF} ${TARGET_HEX}
+ COMMAND ${CMAKE_OBJCOPY} ${HEX_FLAGS} ${TARGET_ELF} ${TARGET_HEX}
COMMENT "Creating load file for Flash: ${TARGET_HEX}"
)
#| Generate the Extended .LSS
set( TARGET_LSS ${TARGET}.lss )
add_custom_command( TARGET ${TARGET_ELF} POST_BUILD
- COMMAND ${OBJDUMP} ${LSS_FLAGS} ${TARGET_ELF} > ${TARGET_LSS}
+ COMMAND ${CMAKE_OBJDUMP} ${LSS_FLAGS} ${TARGET_ELF} > ${TARGET_LSS}
COMMENT "Creating Extended Listing: ${TARGET_LSS}"
)
#| Generate the Symbol Table .SYM
set( TARGET_SYM ${TARGET}.sym )
add_custom_command( TARGET ${TARGET_ELF} POST_BUILD
- COMMAND ${NM} -n ${TARGET_ELF} > ${TARGET_SYM}
+ COMMAND ${CMAKE_NM} -n ${TARGET_ELF} > ${TARGET_SYM}
COMMENT "Creating Symbol Table: ${TARGET_SYM}"
)
#| After Changes Size Information
#| TODO Do lookup on Flash and RAM sizes and do % used
add_custom_target( SizeAfter ALL
- COMMAND ${SIZE} --target=${FORMAT} ${TARGET_HEX} ${TARGET_ELF}
+ COMMAND ${CMAKE_SIZE} --target=${FORMAT} ${TARGET_HEX} ${TARGET_ELF}
DEPENDS ${TARGET_ELF}
COMMENT "Size after generation\n\tFlash Usage: data (hex)\n\t RAM Usage: data (elf)"
)
#| Set the Compilers (must be set first)
include( CMakeForceCompiler )
-cmake_force_c_compiler ( arm-none-eabi-gcc AVRCCompiler )
-cmake_force_cxx_compiler( arm-none-eabi-g++ AVRCxxCompiler )
-
-
-#| Compiler Binaries
-set( OBJCOPY "arm-none-eabi-objcopy" )
-set( OBJDUMP "arm-none-eabi-objdump" )
-set( NM "arm-none-eabi-nm" )
-set( SIZE "arm-none-eabi-size" )
+cmake_force_c_compiler ( arm-none-eabi-gcc ARMCCompiler )
+cmake_force_cxx_compiler( arm-none-eabi-g++ ARMCxxCompiler )
+set( _CMAKE_TOOLCHAIN_PREFIX arm-none-eabi- )
include( CMakeForceCompiler )
cmake_force_c_compiler ( avr-gcc AVRCCompiler )
cmake_force_cxx_compiler( avr-g++ AVRCxxCompiler )
-
-
-#| Compiler Binaries
-set( OBJCOPY "avr-objcopy" )
-set( OBJDUMP "avr-objdump" )
-set( NM "avr-nm" )
-set( SIZE "avr-size" )
+set( _CMAKE_TOOLCHAIN_PREFIX avr- )