Archived
1
0

Finished major changes on the CMakeLists.txt.

This commit is contained in:
Jacob Alexander 2011-09-28 20:37:19 -07:00
parent 528e8cc452
commit 0415ba2481

View File

@ -7,32 +7,31 @@
#
###
##| TODO List |##
# - Add avr-gcc as requirement
# - Add avr-objcopy as a requirement
# - Generate .lst files
# - Extend .lst to .lss
# - Autoloader to Teensy
# - specify on commandline which atmel mcu
#| Set the Compilers
#| Set the Compilers (must be set first)
include( CMakeForceCompiler )
set( CMAKE_SYSTEM_NAME Generic )
cmake_force_c_compiler ( avr-gcc AVRCCompiler )
cmake_force_cxx_compiler( avr-g++ AVRCxxCompiler )
###
# Project Description
#
#| Project
project( kiibohd_controller )
#| Target Name (output name)
set( TARGET kiibohd )
#| General Settings
cmake_minimum_required( VERSION 2.8 )
###
# Source Defines
#
#| Sources
set( SRCS
@ -42,13 +41,21 @@ set( SRCS
./scan_loop.c
)
#| Target Name
set( TARGET kiibohd )
###
# Atmel Defines and Linker Options
#
#| MCU Name
#| You _MUST_ set this to match the board you are using
#| type "make clean" after changing this, so all files will be rebuilt
#|
#| "at90usb162" # Teensy 1.0
#| "atmega32u4" # Teensy 2.0
#| "at90usb646" # Teensy++ 1.0
#| "at90usb1286" # Teensy++ 2.0
set( MCU "at90usb1286" )
#| Compiler flag to set the C Standard level.
@ -80,24 +87,12 @@ set( OPT "s" )
set( FORMAT "ihex" )
#| MCU Name
#| You MUST set this to match the board you are using
#| type "make clean" after changing this, so all files will be rebuilt
#|
#| "at90usb162" # Teensy 1.0
#| "atmega32u4" # Teensy 2.0
#| "at90usb646" # Teensy++ 1.0
#| "at90usb1286" # Teensy++ 2.0
set( MCU "at90usb1286" )
#| Processor frequency.
#| Normally the first thing your program should do is set the clock prescaler,
#| so your program will run at the correct speed. You should also set this
#| variable to same clock speed. The _delay_ms() macro uses this, and many
#| examples use this variable to calculate timings. Do not add a "UL" here.
set( F_CPU "16000000" )
set( CDEFS "-DF_CPU=${F_CPU}" )
#| Dependency Files
@ -110,7 +105,7 @@ set( TARGET_LST ${TARGET}.lst )
#| Compiler Flags
add_definitions( "-mmcu=${MCU} -DF_CPU=${F_CPU} -O${OPT} ${TUNING} ${WARN} -Wa,-adhlns ${CSTANDARD} ${GENDEPFLAGS}" )
add_definitions( "-mmcu=${MCU} -DF_CPU=${F_CPU} -O${OPT} ${TUNING} ${WARN} ${CSTANDARD} ${GENDEPFLAGS}" )
#| Linker Flags
@ -130,11 +125,9 @@ set( LSS_FLAGS -h -S -z )
###
# Build Targets
#
#| Create the .ELF file
set( TARGET_ELF ${TARGET}.elf )
@ -163,10 +156,10 @@ add_custom_command( TARGET ${TARGET_ELF} POST_BUILD
)
#| Generate the Extended .LSS TODO Incomplete
#| Generate the Extended .LSS
set( TARGET_LSS ${TARGET}.lss )
add_custom_command( TARGET ${TARGET_ELF} POST_BUILD
COMMAND avr-objcopy ${LSS_FLAGS} ${TARGET_ELF} > ${TARGET_LSS}
COMMAND avr-objdump ${LSS_FLAGS} ${TARGET_ELF} > ${TARGET_LSS}
COMMENT "Creating Extended Listing: ${TARGET_LSS}"
)
@ -180,15 +173,9 @@ add_custom_command( TARGET ${TARGET_ELF} POST_BUILD
#| Before Changes Size Information (and make sure it is run before ${TARGET_ELF} is generated) TODO Only call if the files exist
#add_dependencies( ${TARGET_ELF} SizeBefore )
#add_custom_target( SizeBefore ALL avr-size --target=${FORMAT} ${TARGET_HEX} ${TARGET_ELF}
# COMMENT "Size before generation:"
#)
###
# Size Information
#
#| After Changes Size Information
add_custom_target( SizeAfter ALL avr-size --target=${FORMAT} ${TARGET_HEX} ${TARGET_ELF}
@ -196,4 +183,3 @@ add_custom_target( SizeAfter ALL avr-size --target=${FORMAT} ${TARGET_HEX} ${TAR
COMMENT "Size after generation:"
)