Mercurial > louis > kiibohd-controller
changeset 71:8a344117d851
Adding module compatibility check to CMake build scripts.
- All modules have a default avr compatibilty right now (since that is what they were developed on)
- As modules get tested and added, arm support has to be turned on in the respective setup.cmake file
author | Jacob Alexander <triplehaata@gmail.com> |
---|---|
date | Wed, 30 Jan 2013 18:13:49 -0500 |
parents | 23600aaa5e15 |
children | 4c2712f25157 |
files | CMakeLists.txt Debug/full/setup.cmake Debug/led/setup.cmake Debug/off/setup.cmake Debug/print/print.h Debug/print/setup.cmake Macro/basic/setup.cmake Macro/buffer/setup.cmake Scan/BETKB/setup.cmake Scan/BudKeypad/setup.cmake Scan/EpsonQX-10/setup.cmake Scan/FACOM6684/setup.cmake Scan/HP150/setup.cmake Scan/HeathZenith/setup.cmake Scan/IBMConvertible/setup.cmake Scan/Kaypro1/setup.cmake Scan/MBC-55X/setup.cmake Scan/MicroSwitch8304/setup.cmake Scan/SKM67001/setup.cmake Scan/SonyNEWS/setup.cmake Scan/SonyOA-S3400/setup.cmake Scan/Tandy1000/setup.cmake Scan/UnivacF3W9/setup.cmake Scan/matrix/setup.cmake USB/pjrc/setup.cmake setup.cmake |
diffstat | 26 files changed, 234 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/CMakeLists.txt Sun Jan 27 01:47:52 2013 -0500 +++ b/CMakeLists.txt Wed Jan 30 18:13:49 2013 -0500 @@ -77,6 +77,18 @@ ### +# Module Compatibility Check +# + +#| Check for whether the set modules are compatible with the specified compiler family +ModuleCompatibility( ${ScanModulePath} ${ScanModuleCompatibility} ) +ModuleCompatibility( ${MacroModulePath} ${MacroModuleCompatibility} ) +ModuleCompatibility( ${USBModulePath} ${USBModuleCompatibility} ) +ModuleCompatibility( ${DebugModulePath} ${DebugModuleCompatibility} ) + + + +### # Build Targets #
--- a/Debug/full/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Debug/full/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -33,3 +33,12 @@ -I${HEAD_DIR}/Debug/print ) + +### +# Compiler Family Compatibility +# +set( DebugModuleCompatibility + arm + avr +) +
--- a/Debug/led/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Debug/led/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -32,3 +32,12 @@ # add_definitions( -I${HEAD_DIR}/Debug/off ) + +### +# Compiler Family Compatibility +# +set( DebugModuleCompatibility + arm + avr +) +
--- a/Debug/off/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Debug/off/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -17,3 +17,12 @@ # Module Specific Options # + +### +# Compiler Family Compatibility +# +set( DebugModuleCompatibility + arm + avr +) +
--- a/Debug/print/print.h Sun Jan 27 01:47:52 2013 -0500 +++ b/Debug/print/print.h Wed Jan 30 18:13:49 2013 -0500 @@ -50,12 +50,8 @@ */ // Function Aliases -#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) // AVR -#define dPrint(c) usb_debug_putchar(c) -#elif defined(_mk20dx128_) // ARM -#define dPrint(c) usb_debug_putstr (c) -#endif -#define dPrintStr(c) usb_debug_putstr (c) +#define dPrint(c) usb_debug_putstr(c) +#define dPrintStr(c) usb_debug_putstr(c) #define dPrintStrs(...) usb_debug_putstrs(__VA_ARGS__, "\0\0\0") // Convenience Variadic Macro #define dPrintStrNL(c) dPrintStrs (c, NL) // Appends New Line Macro #define dPrintStrsNL(...) usb_debug_putstrs(__VA_ARGS__, NL, "\0\0\0") // Appends New Line Macro
--- a/Debug/print/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Debug/print/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -32,3 +32,12 @@ # add_definitions( -I${HEAD_DIR}/Debug/off ) + +### +# Compiler Family Compatibility +# +set( DebugModuleCompatibility + arm + avr +) +
--- a/Macro/basic/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Macro/basic/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -8,6 +8,17 @@ ### +# Warning, module has known speed issues on non-matrix designs +# Has not been tested in a long time +# +message( AUTHOR_WARNING +"The 'basic' macro module was originally designed for matrix scanning designs, +it was found not to be scalable with NKRO keyboard converters. +It has also not been tested in a long time, use at your own risk." +) + + +### # Module C files # @@ -20,3 +31,11 @@ # Module Specific Options # + +### +# Compiler Family Compatibility +# +set( MacroModuleCompatibility + avr +) +
--- a/Macro/buffer/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Macro/buffer/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -20,3 +20,12 @@ # Module Specific Options # + +### +# Compiler Family Compatibility +# +set( MacroModuleCompatibility + arm + avr +) +
--- a/Scan/BETKB/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/BETKB/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -46,3 +46,11 @@ #-DKEYINDEX_MASK=betkb_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/BudKeypad/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/BudKeypad/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -33,3 +33,11 @@ -DKEYINDEX_MASK=budkeypad_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/EpsonQX-10/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/EpsonQX-10/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -46,3 +46,11 @@ #-DKEYINDEX_MASK=epsonqx10_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/FACOM6684/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/FACOM6684/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -46,3 +46,11 @@ #-DKEYINDEX_MASK=facom6684_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/HP150/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/HP150/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -46,3 +46,11 @@ #-DKEYINDEX_MASK=hp150_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/HeathZenith/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/HeathZenith/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -33,3 +33,11 @@ #-DKEYINDEX_MASK=heathzenith_ColemakMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/IBMConvertible/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/IBMConvertible/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -33,3 +33,11 @@ -DKEYINDEX_MASK=ibmconv_ColemakMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/Kaypro1/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/Kaypro1/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -28,3 +28,11 @@ -DKEYINDEX_MASK=kaypro1_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/MBC-55X/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/MBC-55X/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -46,3 +46,12 @@ -DKEYINDEX_MASK=facom6684_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + arm + avr +) +
--- a/Scan/MicroSwitch8304/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/MicroSwitch8304/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -46,3 +46,11 @@ #-DKEYINDEX_MASK=microswitch8304_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/SKM67001/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/SKM67001/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -33,3 +33,11 @@ -DKEYINDEX_MASK=skm67001_ColemakMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/SonyNEWS/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/SonyNEWS/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -46,3 +46,11 @@ -DKEYINDEX_MASK=sonynews_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/SonyOA-S3400/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/SonyOA-S3400/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -45,3 +45,11 @@ #-DKEYINDEX_MASK=sonyoas3400_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/Tandy1000/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/Tandy1000/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -28,3 +28,11 @@ #-DKEYINDEX_MASK=tandy1000_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/UnivacF3W9/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/UnivacF3W9/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -44,3 +44,11 @@ #-DKEYINDEX_MASK=univacf3w9_DefaultMap ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/Scan/matrix/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/Scan/matrix/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -34,3 +34,11 @@ #-DKEYINDEX_MASK= ) + +### +# Compiler Family Compatibility +# +set( ScanModuleCompatibility + avr +) +
--- a/USB/pjrc/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/USB/pjrc/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -39,3 +39,11 @@ # Module Specific Options # +### +# Compiler Family Compatibility +# +set( USBModuleCompatibility + arm + avr +) +
--- a/setup.cmake Sun Jan 27 01:47:52 2013 -0500 +++ b/setup.cmake Wed Jan 30 18:13:49 2013 -0500 @@ -56,6 +56,25 @@ +### +# Module Check Function +# + +#| Usage: +#| PathPrepend( ModulePath <ListOfFamiliesSupported> ) +#| Uses the ${COMPILER_FAMILY} variable +function( ModuleCompatibility ModulePath ) + foreach( mod_var ${ARGN} ) + if ( ${mod_var} STREQUAL ${COMPILER_FAMILY} ) + # Module found, no need to scan further + return() + endif ( ${mod_var} STREQUAL ${COMPILER_FAMILY} ) + endforeach( mod_var ${ARGN} ) + + message( FATAL_ERROR "${ModulePath} does not support the ${COMPILER_FAMILY} family..." ) +endfunction( ModuleCompatibility ModulePath ) + + ### # Module Configuration