From 908807639d374a6f95de7c14b3ffba335165870e Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 10 Dec 2012 18:30:09 +0100 Subject: Port Chariplexing library to plain avr-libc --- CMakeLists.txt | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..c713b85 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,36 @@ +cmake_minimum_required(VERSION 2.8.3) + + +SET(BOARD "atmega328p" CACHE STRING "AVR CPU to build for") +SET(CLOCK "16000000" CACHE STRING "CPU clock") + +SET(FLASH_FLAGS "-patmega328p" "-carduino" "-P/dev/ttyUSB0" "-b57600" CACHE STRING "avrdude flags") + + +find_program(AVR_GCC avr-gcc) +find_program(AVRDUDE avrdude) + +SET(CMAKE_SYSTEM_NAME Generic) + + +SET(CMAKE_C_COMPILER ${AVR_GCC}) + +project(ARDKBD C) + +set(CMAKE_MODULE_PATH ${ARDKDB_SOURCE_DIR}) + + +add_executable(lolshield.elf + lolshield.c + Charliplexing.c +) +set_target_properties(lolshield.elf PROPERTIES + COMPILE_FLAGS "-Wall -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Os -mmcu=${BOARD}" + LINK_FLAGS "-Wall -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Os -mmcu=${BOARD}" + COMPILE_DEFINITIONS "F_CPU=${CLOCK}" +) + +add_custom_command(OUTPUT lolshield.hex COMMAND ${CMAKE_OBJCOPY} -O ihex -R .eeprom lolshield.elf lolshield.hex DEPENDS lolshield.elf) +add_custom_target(lolshield ALL DEPENDS lolshield.hex) + +add_custom_target(flash COMMAND ${AVRDUDE} ${FLASH_FLAGS} -D -Uflash:w:lolshield.hex:i DEPENDS lolshield) -- cgit v1.2.3