- Added AddModule CMake function which simplifies specifying module requirementssimple
###| CMake Kiibohd Controller Debug Module |### | ###| CMake Kiibohd Controller Debug Module |### | ||||
# | # | ||||
# Written by Jacob Alexander in 2014 for the Kiibohd Controller | |||||
# Written by Jacob Alexander in 2014-2015 for the Kiibohd Controller | |||||
# | # | ||||
# Released into the Public Domain | # Released into the Public Domain | ||||
# | # | ||||
# Module C files | # Module C files | ||||
# | # | ||||
set( DEBUG_SRCS | |||||
set ( Module_SRCS | |||||
cli.c | cli.c | ||||
) | ) | ||||
### | |||||
# Setup File Dependencies | |||||
# | |||||
### | |||||
# Module Specific Options | |||||
# | |||||
### | |||||
# Just in case, you only want this module and are using others as well | |||||
# | |||||
add_definitions( -I${HEAD_DIR}/Debug/off ) | |||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( DebugModuleCompatibility | |||||
set ( ModuleCompatibility | |||||
arm | arm | ||||
avr | avr | ||||
) | ) |
###| CMake Kiibohd Controller Debug Module |### | ###| CMake Kiibohd Controller Debug Module |### | ||||
# | # | ||||
# Written by Jacob Alexander in 2011-2014 for the Kiibohd Controller | |||||
# Written by Jacob Alexander in 2011-2015 for the Kiibohd Controller | |||||
# | # | ||||
# Released into the Public Domain | # Released into the Public Domain | ||||
# | # | ||||
### | ### | ||||
# Module C files | |||||
# Required Submodules | |||||
# | # | ||||
#| XXX Requires the ../ due to how the paths are constructed | |||||
set( DEBUG_SRCS | |||||
../cli/cli.c | |||||
../led/led.c | |||||
../print/print.c | |||||
) | |||||
### | |||||
# Module Specific Options | |||||
# | |||||
add_definitions( | |||||
-I${HEAD_DIR}/Debug/cli | |||||
-I${HEAD_DIR}/Debug/led | |||||
-I${HEAD_DIR}/Debug/print | |||||
) | |||||
AddModule ( Debug cli ) | |||||
AddModule ( Debug led ) | |||||
AddModule ( Debug print ) | |||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( DebugModuleCompatibility | |||||
set ( ModuleCompatibility | |||||
arm | arm | ||||
avr | avr | ||||
) | ) |
###| CMake Kiibohd Controller Debug Module |### | ###| CMake Kiibohd Controller Debug Module |### | ||||
# | # | ||||
# Written by Jacob Alexander in 2011,2014 for the Kiibohd Controller | |||||
# Written by Jacob Alexander in 2011-2015 for the Kiibohd Controller | |||||
# | # | ||||
# Released into the Public Domain | # Released into the Public Domain | ||||
# | # | ||||
# Module C files | # Module C files | ||||
# | # | ||||
set( DEBUG_SRCS | |||||
set ( Module_SRCS | |||||
led.c | led.c | ||||
) | ) | ||||
### | |||||
# Module Specific Options | |||||
# | |||||
### | |||||
# Just in case, you only want this module and are using others as well | |||||
# | |||||
add_definitions( -I${HEAD_DIR}/Debug/off ) | |||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( DebugModuleCompatibility | |||||
set ( ModuleCompatibility | |||||
arm | arm | ||||
avr | avr | ||||
) | ) |
/* Copyright (C) 2011 by Jacob Alexander | |||||
* | |||||
* Permission is hereby granted, free of charge, to any person obtaining a copy | |||||
* of this software and associated documentation files (the "Software"), to deal | |||||
* in the Software without restriction, including without limitation the rights | |||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |||||
* copies of the Software, and to permit persons to whom the Software is | |||||
* furnished to do so, subject to the following conditions: | |||||
* | |||||
* The above copyright notice and this permission notice shall be included in | |||||
* all copies or substantial portions of the Software. | |||||
* | |||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |||||
* THE SOFTWARE. | |||||
*/ | |||||
#ifndef __led_h | |||||
#define __led_h | |||||
// ----- Disabler Defines ----- | |||||
#define init_errorLED() | |||||
#define errorLED(on) | |||||
#endif | |||||
/* Copyright (C) 2011 by Jacob Alexander | |||||
* | |||||
* Permission is hereby granted, free of charge, to any person obtaining a copy | |||||
* of this software and associated documentation files (the "Software"), to deal | |||||
* in the Software without restriction, including without limitation the rights | |||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |||||
* copies of the Software, and to permit persons to whom the Software is | |||||
* furnished to do so, subject to the following conditions: | |||||
* | |||||
* The above copyright notice and this permission notice shall be included in | |||||
* all copies or substantial portions of the Software. | |||||
* | |||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |||||
* THE SOFTWARE. | |||||
*/ | |||||
#ifndef print_h__ | |||||
#define print_h__ | |||||
// ----- Disabler Defines ----- | |||||
#define dPrint(c) | |||||
#define dPrintStr(c) | |||||
#define dPrintStrs(...) | |||||
#define dPrintStrNL(c) | |||||
#define dPrintStrsNL(...) | |||||
// Special Msg Constructs (Uses VT100 tags) | |||||
#define dPrintMsg(colour_code_str,msg,...) | |||||
#define printMsg(colour_code_str,msg,str) | |||||
// Info Messages | |||||
#define info_dPrint(...) | |||||
#define info_print(str) | |||||
// Warning Messages | |||||
#define warn_dPrint(...) | |||||
#define warn_print(str) | |||||
// Error Messages | |||||
#define erro_dPrint(...) | |||||
#define erro_print(str) | |||||
// Debug Messages | |||||
#define dbug_dPrint(...) | |||||
#define dbug_print(str) | |||||
// Static String Printing | |||||
#define print(s) _print(PSTR(s)) | |||||
// Output Functions | |||||
#define _print(s) | |||||
#define usb_debug_putstr(s) | |||||
#define usb_debug_putstrs(s, ...) | |||||
// String Functions | |||||
#define hexToStr(hex, out) | |||||
#define int8ToStr(in, out) | |||||
#define int16ToStr(in, out) | |||||
#define hexToStr_op(in, out, op) | |||||
#define revsStr(in) | |||||
#define lenStr(in) | |||||
#endif | |||||
###| CMake Kiibohd Controller Debug Module |### | |||||
# | |||||
# Written by Jacob Alexander in 2011 for the Kiibohd Controller | |||||
# | |||||
# Released into the Public Domain | |||||
# | |||||
### | |||||
### | |||||
# Module C files | |||||
# | |||||
#| None! | |||||
### | |||||
# Module Specific Options | |||||
# | |||||
### | |||||
# Compiler Family Compatibility | |||||
# | |||||
set( DebugModuleCompatibility | |||||
arm | |||||
avr | |||||
) | |||||
###| CMake Kiibohd Controller Debug Module |### | ###| CMake Kiibohd Controller Debug Module |### | ||||
# | # | ||||
# Written by Jacob Alexander in 2011,2014 for the Kiibohd Controller | |||||
# Written by Jacob Alexander in 2011-2015 for the Kiibohd Controller | |||||
# | # | ||||
# Released into the Public Domain | # Released into the Public Domain | ||||
# | # | ||||
# Module C files | # Module C files | ||||
# | # | ||||
set( DEBUG_SRCS | |||||
set ( Module_SRCS | |||||
print.c | print.c | ||||
) | ) | ||||
### | |||||
# Module Specific Options | |||||
# | |||||
### | |||||
# Just in case, you only want this module and are using others as well | |||||
# | |||||
add_definitions( -I${HEAD_DIR}/Debug/off ) | |||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( DebugModuleCompatibility | |||||
set ( ModuleCompatibility | |||||
arm | arm | ||||
avr | avr | ||||
) | ) |
### | ### | ||||
# Path Setup | # Path Setup | ||||
# | # | ||||
# Module Check Function | # Module Check Function | ||||
# | # | ||||
#| Usage: | |||||
#| PathPrepend( ModulePath <ListOfFamiliesSupported> ) | |||||
#| Uses the ${COMPILER_FAMILY} variable | |||||
function( ModuleCompatibility ModulePath ) | |||||
foreach( mod_var ${ARGN} ) | |||||
function ( ModuleCompatibility ModulePath ) | |||||
foreach ( mod_var ${ARGN} ) | |||||
if ( ${mod_var} STREQUAL ${COMPILER_FAMILY} ) | if ( ${mod_var} STREQUAL ${COMPILER_FAMILY} ) | ||||
# Module found, no need to scan further | # Module found, no need to scan further | ||||
return() | return() | ||||
endif () | endif () | ||||
endforeach() | |||||
message( FATAL_ERROR "${ModulePath} does not support the ${COMPILER_FAMILY} family..." ) | |||||
endfunction() | |||||
### | |||||
# Module Configuration | |||||
# | |||||
endforeach () | |||||
#| Additional options, usually define settings | |||||
add_definitions() | |||||
#| Include path for each of the modules | |||||
add_definitions( | |||||
-I${HEAD_DIR}/${ScanModulePath} | |||||
-I${HEAD_DIR}/${MacroModulePath} | |||||
-I${HEAD_DIR}/${OutputModulePath} | |||||
-I${HEAD_DIR}/${DebugModulePath} | |||||
) | |||||
message ( FATAL_ERROR "${ModulePath} does not support the ${COMPILER_FAMILY} family..." ) | |||||
endfunction () | |||||
#| Go through lists of sources and append paths | #| Go through lists of sources and append paths | ||||
#| Usage: | #| Usage: | ||||
#| PathPrepend( OutputListOfSources <Prepend Path> <InputListOfSources> ) | #| PathPrepend( OutputListOfSources <Prepend Path> <InputListOfSources> ) | ||||
macro( PathPrepend Output SourcesPath ) | |||||
unset( tmpSource ) | |||||
macro ( PathPrepend Output SourcesPath ) | |||||
unset ( tmpSource ) | |||||
# Loop through items | # Loop through items | ||||
foreach( item ${ARGN} ) | |||||
foreach ( item ${ARGN} ) | |||||
# Set the path | # Set the path | ||||
set( tmpSource ${tmpSource} "${SourcesPath}/${item}" ) | |||||
endforeach() | |||||
set ( tmpSource ${tmpSource} "${SourcesPath}/${item}" ) | |||||
endforeach () | |||||
# Finalize by writing the new list back over the old one | # Finalize by writing the new list back over the old one | ||||
set( ${Output} ${tmpSource} ) | |||||
endmacro() | |||||
set ( ${Output} ${tmpSource} ) | |||||
endmacro () | |||||
#| Scan Module | |||||
include ( "${ScanModulePath}/setup.cmake" ) | |||||
PathPrepend( SCAN_SRCS ${ScanModulePath} ${SCAN_SRCS} ) | |||||
#| Macro Module | |||||
include ( "${MacroModulePath}/setup.cmake" ) | |||||
PathPrepend( MACRO_SRCS ${MacroModulePath} ${MACRO_SRCS} ) | |||||
### | |||||
# Add Module Macro | |||||
# | |||||
# Optional Arg 1: Main Module Check, set to True/1 if adding a main module | |||||
function ( AddModule ModuleType ModuleName ) | |||||
# Module path | |||||
set ( ModulePath ${ModuleType}/${ModuleName} ) | |||||
set ( ModuleFullPath ${HEAD_DIR}/${ModuleType}/${ModuleName} ) | |||||
# Include setup.cmake file | |||||
include ( ${ModuleFullPath}/setup.cmake ) | |||||
# Check if this is a main module add | |||||
foreach ( extraArg ${ARGN} ) | |||||
# Make sure this isn't a submodule | |||||
if ( DEFINED SubModule ) | |||||
message ( FATAL_ERROR | |||||
"The '${ModuleName}' module is not a stand-alone module, and requires further setup." | |||||
) | |||||
endif () | |||||
endforeach () | |||||
# PathPrepend to give proper paths to each of the source files | |||||
PathPrepend ( Module_SRCS ${ModulePath} ${Module_SRCS} ) | |||||
# Check the current scope to see if a sub-module added some source files | |||||
set ( Module_SRCS ${${ModuleType}_SRCS} ${Module_SRCS} ) | |||||
# Append each of the sources to each type of module srcs list | |||||
set ( ${ModuleType}_SRCS ${Module_SRCS} ) | |||||
#| Output Module | |||||
include ( "${OutputModulePath}/setup.cmake" ) | |||||
PathPrepend( OUTPUT_SRCS ${OutputModulePath} ${OUTPUT_SRCS} ) | |||||
# Add .h files | |||||
add_definitions ( -I${ModuleFullPath} ) | |||||
# Check module compatibility | |||||
ModuleCompatibility( ${ModulePath} ${ModuleCompatibility} ) | |||||
# Check if this is a main module add | |||||
foreach ( extraArg ${ARGN} ) | |||||
# Display detected source files | |||||
if ( NOT DEFINED SubModule ) | |||||
message ( STATUS "Detected ${ModuleType} Module Source Files:" ) | |||||
message ( "${${ModuleType}_SRCS}" ) | |||||
endif () | |||||
endforeach () | |||||
#| Debugging Module | |||||
include ( "${DebugModulePath}/setup.cmake" ) | |||||
PathPrepend( DEBUG_SRCS ${DebugModulePath} ${DEBUG_SRCS} ) | |||||
# Finally, add the sources to the parent scope (i.e. return) | |||||
set ( ${ModuleType}_SRCS ${${ModuleType}_SRCS} PARENT_SCOPE ) | |||||
endfunction () | |||||
#| Print list of all module sources | |||||
message( STATUS "Detected Scan Module Source Files:" ) | |||||
message( "${SCAN_SRCS}" ) | |||||
message( STATUS "Detected Macro Module Source Files:" ) | |||||
message( "${MACRO_SRCS}" ) | |||||
message( STATUS "Detected Output Module Source Files:" ) | |||||
message( "${OUTPUT_SRCS}" ) | |||||
message( STATUS "Detected Debug Module Source Files:" ) | |||||
message( "${DEBUG_SRCS}" ) | |||||
#| Add main modules | |||||
AddModule ( Scan ${ScanModule} 1 ) | |||||
AddModule ( Macro ${MacroModule} 1 ) | |||||
AddModule ( Output ${OutputModule} 1 ) | |||||
AddModule ( Debug ${DebugModule} 1 ) | |||||
### | ### | ||||
# CMake Module Checking | # CMake Module Checking | ||||
# | # | ||||
find_package( Git REQUIRED ) | |||||
find_package( Ctags ) # Optional | |||||
find_package ( Git REQUIRED ) | |||||
find_package ( Ctags ) # Optional | |||||
set( SRCS | set( SRCS | ||||
${MAIN_SRCS} | ${MAIN_SRCS} | ||||
${COMPILER_SRCS} | ${COMPILER_SRCS} | ||||
${SCAN_SRCS} | |||||
${MACRO_SRCS} | |||||
${OUTPUT_SRCS} | |||||
${DEBUG_SRCS} | |||||
${Scan_SRCS} | |||||
${Macro_SRCS} | |||||
${Output_SRCS} | |||||
${Debug_SRCS} | |||||
) | ) | ||||
#| Directories to include by default | #| Directories to include by default | ||||
### | |||||
# Module Compatibility Check | |||||
# | |||||
#| Check for whether the set modules are compatible with the specified compiler family | |||||
ModuleCompatibility( ${ScanModulePath} ${ScanModuleCompatibility} ) | |||||
ModuleCompatibility( ${MacroModulePath} ${MacroModuleCompatibility} ) | |||||
ModuleCompatibility( ${OutputModulePath} ${OutputModuleCompatibility} ) | |||||
ModuleCompatibility( ${DebugModulePath} ${DebugModuleCompatibility} ) | |||||
### | ### | ||||
# ctag Generation | # ctag Generation | ||||
# | # |
###| CMake Kiibohd Controller Macro Module |### | ###| CMake Kiibohd Controller Macro Module |### | ||||
# | # | ||||
# Written by Jacob Alexander in 2014 for the Kiibohd Controller | |||||
# Written by Jacob Alexander in 2014-2015 for the Kiibohd Controller | |||||
# | # | ||||
# Released into the Public Domain | # Released into the Public Domain | ||||
# | # | ||||
# Module C files | # Module C files | ||||
# | # | ||||
set( MACRO_SRCS | |||||
set ( Module_SRCS | |||||
macro.c | macro.c | ||||
) | ) | ||||
### | |||||
# Module Specific Options | |||||
# | |||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( MacroModuleCompatibility | |||||
set ( ModuleCompatibility | |||||
arm | arm | ||||
avr | avr | ||||
) | ) |
###| CMake Kiibohd Controller USB Module |### | ###| CMake Kiibohd Controller USB Module |### | ||||
# | # | ||||
# Written by Jacob Alexander in 2011-2013 for the Kiibohd Controller | |||||
# Written by Jacob Alexander in 2011-2015 for the Kiibohd Controller | |||||
# | # | ||||
# Released into the Public Domain | # Released into the Public Domain | ||||
# | # | ||||
# Module C files | # Module C files | ||||
# | # | ||||
#| AVR Compiler | #| AVR Compiler | ||||
if ( ${COMPILER_FAMILY} MATCHES "avr" ) | if ( ${COMPILER_FAMILY} MATCHES "avr" ) | ||||
set( OUTPUT_SRCS | |||||
set ( Module_SRCS | |||||
output_com.c | output_com.c | ||||
avr/usb_keyboard_serial.c | avr/usb_keyboard_serial.c | ||||
) | ) | ||||
#| ARM Compiler | #| ARM Compiler | ||||
elseif ( ${COMPILER_FAMILY} MATCHES "arm" ) | elseif ( ${COMPILER_FAMILY} MATCHES "arm" ) | ||||
set( OUTPUT_SRCS | |||||
set ( Module_SRCS | |||||
output_com.c | output_com.c | ||||
arm/usb_desc.c | arm/usb_desc.c | ||||
arm/usb_dev.c | arm/usb_dev.c | ||||
endif ( ${COMPILER_FAMILY} MATCHES "avr" ) | endif ( ${COMPILER_FAMILY} MATCHES "avr" ) | ||||
### | |||||
# Module Specific Options | |||||
# | |||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( OutputModuleCompatibility | |||||
set( ModuleCompatibility | |||||
arm | arm | ||||
avr | avr | ||||
) | ) |
/* Copyright (C) 2014 by Jacob Alexander | |||||
/* Copyright (C) 2014-2015 by Jacob Alexander | |||||
* | * | ||||
* Permission is hereby granted, free of charge, to any person obtaining a copy | * Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
* of this software and associated documentation files (the "Software"), to deal | * of this software and associated documentation files (the "Software"), to deal |
###| CMake Kiibohd Controller UART Output Module |### | ###| CMake Kiibohd Controller UART Output Module |### | ||||
# | # | ||||
# Written by Jacob Alexander in 2014 for the Kiibohd Controller | |||||
# Written by Jacob Alexander in 2014-2015 for the Kiibohd Controller | |||||
# | # | ||||
# Released into the Public Domain | # Released into the Public Domain | ||||
# | # | ||||
# Module C files | # Module C files | ||||
# | # | ||||
#| AVR Compiler | #| AVR Compiler | ||||
if ( ${COMPILER_FAMILY} MATCHES "avr" ) | if ( ${COMPILER_FAMILY} MATCHES "avr" ) | ||||
set( OUTPUT_SRCS | |||||
set ( Module_SRCS | |||||
output_com.c | output_com.c | ||||
avr/uart_serial.c | avr/uart_serial.c | ||||
) | ) | ||||
#| ARM Compiler | #| ARM Compiler | ||||
elseif ( ${COMPILER_FAMILY} MATCHES "arm" ) | elseif ( ${COMPILER_FAMILY} MATCHES "arm" ) | ||||
set( OUTPUT_SRCS | |||||
set ( Module_SRCS | |||||
output_com.c | output_com.c | ||||
arm/uart_serial.c | arm/uart_serial.c | ||||
) | ) | ||||
endif () | endif () | ||||
### | |||||
# Module Specific Options | |||||
# | |||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( OutputModuleCompatibility | |||||
set( ModuleCompatibility | |||||
arm | arm | ||||
# avr # TODO | # avr # TODO | ||||
) | ) |
###| CMake Kiibohd Controller Muxed UART and USB Output Module |### | ###| CMake Kiibohd Controller Muxed UART and USB Output Module |### | ||||
# | # | ||||
# Written by Jacob Alexander in 2014 for the Kiibohd Controller | |||||
# Written by Jacob Alexander in 2014-2015 for the Kiibohd Controller | |||||
# | # | ||||
# Released into the Public Domain | # Released into the Public Domain | ||||
# | # | ||||
### | ### | ||||
# Module C files | |||||
# Required Submodules | |||||
# | # | ||||
#| AVR Compiler | |||||
if ( ${COMPILER_FAMILY} MATCHES "avr" ) | |||||
set( OUTPUT_SRCS | |||||
) | |||||
#| ARM Compiler | |||||
elseif ( ${COMPILER_FAMILY} MATCHES "arm" ) | |||||
set( OUTPUT_SRCS | |||||
output_com.c | |||||
../pjrcUSB/arm/usb_desc.c | |||||
../pjrcUSB/arm/usb_dev.c | |||||
../pjrcUSB/arm/usb_keyboard.c | |||||
../pjrcUSB/arm/usb_mem.c | |||||
../pjrcUSB/arm/usb_serial.c | |||||
../uartOut/arm/uart_serial.c | |||||
) | |||||
endif () | |||||
AddModule ( Output pjrcUSB ) | |||||
AddModule ( Output uartOut ) | |||||
### | ### | ||||
# Module Specific Options | |||||
# Module C files | |||||
# | # | ||||
set( Module_SRCS | |||||
output_com.c | |||||
) | |||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( OutputModuleCompatibility | |||||
set( ModuleCompatibility | |||||
arm | arm | ||||
# avr # TODO | # avr # TODO | ||||
) | ) |
###| CMake Kiibohd Controller Scan Module |### | ###| CMake Kiibohd Controller Scan Module |### | ||||
# | # | ||||
# Written by Jacob Alexander in 2013-2014 for the Kiibohd Controller | |||||
# Written by Jacob Alexander in 2013-2015 for the Kiibohd Controller | |||||
# | # | ||||
# Released into the Public Domain | # Released into the Public Domain | ||||
# | # | ||||
### | ### | ||||
# Module C files | # Module C files | ||||
# | # | ||||
set( SCAN_SRCS | |||||
set ( Module_SRCS | |||||
scan_loop.c | scan_loop.c | ||||
) | ) | ||||
### | |||||
# Module Specific Options | |||||
# | |||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( ScanModuleCompatibility | |||||
set ( ModuleCompatibility | |||||
avr | avr | ||||
) | ) | ||||
### | ### | ||||
# Module C files | |||||
# Required Submodules | |||||
# | # | ||||
set( SCAN_SRCS | |||||
scan_loop.c | |||||
../MatrixARM/matrix_scan.c | |||||
) | |||||
AddModule ( Scan MatrixARM ) | |||||
### | ### | ||||
# Module Specific Options | |||||
# Module C files | |||||
# | # | ||||
add_definitions( | |||||
-I${HEAD_DIR}/Scan/MatrixARM | |||||
set ( Module_SRCS | |||||
scan_loop.c | |||||
) | ) | ||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( ScanModuleCompatibility | |||||
set ( ModuleCompatibility | |||||
arm | arm | ||||
) | ) | ||||
###| CMake Kiibohd Controller Scan Module |### | ###| CMake Kiibohd Controller Scan Module |### | ||||
# | # | ||||
# Written by Jacob Alexander in 2014 for the Kiibohd Controller | |||||
# Written by Jacob Alexander in 2014-2015 for the Kiibohd Controller | |||||
# | # | ||||
# Released into the Public Domain | # Released into the Public Domain | ||||
# | # | ||||
### | ### | ||||
### | ### | ||||
# Warning, that this module is not meant to be built stand-alone | |||||
# Sub-module flag, cannot be included stand-alone | |||||
# | # | ||||
message( FATAL_ERROR | |||||
"The 'MatrixARM' module is not a stand-alone module, and requires further setup." | |||||
) | |||||
set ( SubModule 1 ) | |||||
### | ### | ||||
# Module C files | # Module C files | ||||
# | # | ||||
set( SCAN_SRCS | |||||
set ( Module_SRCS | |||||
matrix_scan.c | matrix_scan.c | ||||
) | ) | ||||
### | |||||
# Module Specific Options | |||||
# | |||||
### | ### | ||||
# Compiler Family Compatibility | # Compiler Family Compatibility | ||||
# | # | ||||
set( ScanModuleCompatibility | |||||
set ( ModuleCompatibility | |||||
arm | arm | ||||
) | ) | ||||