Mercurial > louis > kiibohd-controller
annotate Lib/CMake/modules.cmake @ 389:fc2c2a1e9615
Adding basic remote capabilities + UART Rx DMA buffers
- Rx buffers weren't fast enough, had to use DMA :D
- Basic LCD remote capabilities are working, single node
- Multi-node broadcast seems to have a bug still
- DMA ring buffer allowed for significant processing simplification
* There is an overrun risk, but the buffer is large and generally there isn't too much data being sent (just very quickly)
- Split out LCD layer stack capability into itself and an "exact" version used for updating remote nodes
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Thu, 15 Oct 2015 00:16:36 -0700 |
parents | 834d69d22d47 |
children |
rev | line source |
---|---|
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
1 ###| CMAKE Kiibohd Controller Source Configurator |### |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
2 # |
293
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
3 # Written by Jacob Alexander in 2011-2015 for the Kiibohd Controller |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
4 # |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
5 # Released into the Public Domain |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
6 # |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
7 ### |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
8 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
9 |
168
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
10 ### |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
11 # CMake Custom Modules Path |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
12 # |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
13 |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
14 set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/Lib/CMake/" ) |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
15 |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
16 |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
17 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
18 ### |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
19 # Module Overrides (Used in the buildall.bash script) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
20 # |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
21 if ( ( DEFINED ScanModuleOverride ) AND ( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Scan/${ScanModuleOverride} ) ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
22 set( ScanModule ${ScanModuleOverride} ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
23 endif () |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
24 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
25 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
26 |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
27 |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
28 ### |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
29 # Path Setup |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
30 # |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
31 set( ScanModulePath "Scan/${ScanModule}" ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
32 set( MacroModulePath "Macro/${MacroModule}" ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
33 set( OutputModulePath "Output/${OutputModule}" ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
34 set( DebugModulePath "Debug/${DebugModule}" ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
35 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
36 #| Top-level directory adjustment |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
37 set( HEAD_DIR "${CMAKE_CURRENT_SOURCE_DIR}" ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
38 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
39 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
40 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
41 ### |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
42 # Module Check Function |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
43 # |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
44 |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
45 function ( ModuleCompatibility ModulePath ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
46 foreach ( mod_var ${ARGN} ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
47 if ( ${mod_var} STREQUAL ${COMPILER_FAMILY} ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
48 # Module found, no need to scan further |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
49 return() |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
50 endif () |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
51 endforeach () |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
52 |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
53 message ( FATAL_ERROR "${ModulePath} does not support the ${COMPILER_FAMILY} family..." ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
54 endfunction () |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
55 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
56 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
57 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
58 ### |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
59 # Module Processing |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
60 # |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
61 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
62 #| Go through lists of sources and append paths |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
63 #| Usage: |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
64 #| PathPrepend( OutputListOfSources <Prepend Path> <InputListOfSources> ) |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
65 macro ( PathPrepend Output SourcesPath ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
66 unset ( tmpSource ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
67 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
68 # Loop through items |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
69 foreach ( item ${ARGN} ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
70 # Set the path |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
71 set ( tmpSource ${tmpSource} "${SourcesPath}/${item}" ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
72 endforeach () |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
73 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
74 # Finalize by writing the new list back over the old one |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
75 set ( ${Output} ${tmpSource} ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
76 endmacro () |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
77 |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
78 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
79 |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
80 ### |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
81 # Add Module Macro |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
82 # |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
83 # Optional Arg 1: Main Module Check, set to True/1 if adding a main module |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
84 |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
85 function ( AddModule ModuleType ModuleName ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
86 # Module path |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
87 set ( ModulePath ${ModuleType}/${ModuleName} ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
88 set ( ModuleFullPath ${HEAD_DIR}/${ModuleType}/${ModuleName} ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
89 |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
90 # Include setup.cmake file |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
91 include ( ${ModuleFullPath}/setup.cmake ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
92 |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
93 # Check if this is a main module add |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
94 foreach ( extraArg ${ARGN} ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
95 # Make sure this isn't a submodule |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
96 if ( DEFINED SubModule ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
97 message ( FATAL_ERROR |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
98 "The '${ModuleName}' module is not a stand-alone module, and requires further setup." |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
99 ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
100 endif () |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
101 endforeach () |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
102 |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
103 # PathPrepend to give proper paths to each of the source files |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
104 PathPrepend ( Module_SRCS ${ModulePath} ${Module_SRCS} ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
105 |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
106 # Check the current scope to see if a sub-module added some source files |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
107 # Append each of the sources to each type of module srcs list |
293
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
108 set ( ${ModuleType}_SRCS ${${ModuleType}_SRCS} ${Module_SRCS} ) |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
109 |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
110 # Add .h files |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
111 add_definitions ( -I${ModuleFullPath} ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
112 |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
113 # Check module compatibility |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
114 ModuleCompatibility( ${ModulePath} ${ModuleCompatibility} ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
115 |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
116 # Check if this is a main module add |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
117 foreach ( extraArg ${ARGN} ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
118 # Display detected source files |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
119 if ( NOT DEFINED SubModule ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
120 message ( STATUS "Detected ${ModuleType} Module Source Files:" ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
121 message ( "${${ModuleType}_SRCS}" ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
122 endif () |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
123 endforeach () |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
124 |
293
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
125 # Check for any capabilities.kll files in the Module |
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
126 set ( kll_capabilities_file "${ModuleFullPath}/capabilities.kll" ) |
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
127 if ( EXISTS ${kll_capabilities_file} ) |
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
128 # Add the kll file and any submodule kll files to the running list |
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
129 set ( ${ModuleType}Module_KLL ${${ModuleType}Module_KLL} ${kll_capabilities_file} ) |
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
130 endif () |
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
131 |
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
132 |
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
133 # Finally, add the sources and kll files to the parent scope (i.e. return) |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
134 set ( ${ModuleType}_SRCS ${${ModuleType}_SRCS} PARENT_SCOPE ) |
293
57f40871c726
Adding configurable DebounceDivThreshold
Jacob Alexander <haata@kiibohd.com>
parents:
272
diff
changeset
|
135 set ( ${ModuleType}Module_KLL ${${ModuleType}Module_KLL} PARENT_SCOPE ) |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
136 endfunction () |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
137 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
138 |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
139 #| Add main modules |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
140 AddModule ( Scan ${ScanModule} 1 ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
141 AddModule ( Macro ${MacroModule} 1 ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
142 AddModule ( Output ${OutputModule} 1 ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
143 AddModule ( Debug ${DebugModule} 1 ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
144 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
145 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
146 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
147 ### |
192
6ac92b8614c0
Fixing RAM calculator and reduced actual SRAM usage
Jacob Alexander <haata@kiibohd.com>
parents:
175
diff
changeset
|
148 # CMake Module Checking |
6ac92b8614c0
Fixing RAM calculator and reduced actual SRAM usage
Jacob Alexander <haata@kiibohd.com>
parents:
175
diff
changeset
|
149 # |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
150 find_package ( Git REQUIRED ) |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
151 find_package ( Ctags ) # Optional |
192
6ac92b8614c0
Fixing RAM calculator and reduced actual SRAM usage
Jacob Alexander <haata@kiibohd.com>
parents:
175
diff
changeset
|
152 |
6ac92b8614c0
Fixing RAM calculator and reduced actual SRAM usage
Jacob Alexander <haata@kiibohd.com>
parents:
175
diff
changeset
|
153 |
6ac92b8614c0
Fixing RAM calculator and reduced actual SRAM usage
Jacob Alexander <haata@kiibohd.com>
parents:
175
diff
changeset
|
154 |
6ac92b8614c0
Fixing RAM calculator and reduced actual SRAM usage
Jacob Alexander <haata@kiibohd.com>
parents:
175
diff
changeset
|
155 ### |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
156 # Generate USB Defines |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
157 # |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
158 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
159 #| Manufacturer name |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
160 set ( MANUFACTURER "Kiibohd" ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
161 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
162 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
163 #| Serial Number |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
164 #| Attempt to call Git to get the branch, last commit date, and whether code modified since last commit |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
165 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
166 #| Modified |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
167 #| Takes a bit of work to extract the "M " using CMake, and not using it if there are no modifications |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
168 execute_process ( COMMAND ${GIT_EXECUTABLE} status -s -uno --porcelain |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
169 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
170 OUTPUT_VARIABLE Git_Modified_INFO |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
171 ERROR_QUIET |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
172 OUTPUT_STRIP_TRAILING_WHITESPACE |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
173 ) |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
174 string ( LENGTH "${Git_Modified_INFO}" Git_Modified_LENGTH ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
175 set ( Git_Modified_Status "Clean" ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
176 if ( ${Git_Modified_LENGTH} GREATER 2 ) |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
177 string ( SUBSTRING "${Git_Modified_INFO}" 1 2 Git_Modified_Flag_INFO ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
178 set ( Git_Modified_Status "Dirty" ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
179 endif () |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
180 |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
181 #| List of modified files |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
182 execute_process ( COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD -- |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
183 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
184 OUTPUT_VARIABLE Git_Modified_Files |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
185 ERROR_QUIET |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
186 OUTPUT_STRIP_TRAILING_WHITESPACE |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
187 ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
188 string ( REGEX REPLACE "\n" "\\\\r\\\\n\\\\t" Git_Modified_Files "${Git_Modified_Files}" ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
189 set ( Git_Modified_Files "\\r\\n\\t${Git_Modified_Files}" ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
190 |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
191 #| Branch |
205
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
192
diff
changeset
|
192 execute_process( COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
193 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
194 OUTPUT_VARIABLE Git_Branch_INFO |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
195 ERROR_QUIET |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
196 OUTPUT_STRIP_TRAILING_WHITESPACE |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
197 ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
198 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
199 #| Date |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
200 execute_process ( COMMAND ${GIT_EXECUTABLE} show -s --format=%ci |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
201 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
202 OUTPUT_VARIABLE Git_Date_INFO |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
203 ERROR_QUIET |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
204 OUTPUT_STRIP_TRAILING_WHITESPACE |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
205 ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
206 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
207 #| Commit Author and Email |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
208 execute_process ( COMMAND ${GIT_EXECUTABLE} show -s --format="%cn <%ce>" |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
209 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
210 OUTPUT_VARIABLE Git_Commit_Author |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
211 ERROR_QUIET |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
212 OUTPUT_STRIP_TRAILING_WHITESPACE |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
213 ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
214 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
215 #| Commit Revision |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
216 execute_process ( COMMAND ${GIT_EXECUTABLE} show -s --format=%H |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
217 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
218 OUTPUT_VARIABLE Git_Commit_Revision |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
219 ERROR_QUIET |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
220 OUTPUT_STRIP_TRAILING_WHITESPACE |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
221 ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
222 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
223 #| Origin URL |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
224 execute_process ( COMMAND ${GIT_EXECUTABLE} config --get remote.origin.url |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
225 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
226 OUTPUT_VARIABLE Git_Origin_URL |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
227 ERROR_QUIET |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
228 OUTPUT_STRIP_TRAILING_WHITESPACE |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
229 ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
230 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
231 #| Build Date |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
232 execute_process ( COMMAND "date" "+%Y-%m-%d %T %z" |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
233 OUTPUT_VARIABLE Build_Date |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
234 ERROR_QUIET |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
235 OUTPUT_STRIP_TRAILING_WHITESPACE |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
236 ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
237 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
238 #| Last Commit Date |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
239 set ( GitLastCommitDate "${Git_Modified_Status} ${Git_Branch_INFO} - ${Git_Date_INFO}" ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
240 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
241 #| Uses CMake variables to include as defines |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
242 #| Primarily for USB configuration |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
243 configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/Lib/_buildvars.h buildvars.h ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
244 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
245 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
246 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
247 ### |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
248 # Source Defines |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
249 # |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
250 set ( SRCS |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
251 ${MAIN_SRCS} |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
252 ${COMPILER_SRCS} |
272
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
253 ${Scan_SRCS} |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
254 ${Macro_SRCS} |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
255 ${Output_SRCS} |
5b66d1da5377
Updating setup.cmake files to use Module hierarchy implicitly
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
256 ${Debug_SRCS} |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
257 ) |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
258 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
259 #| Directories to include by default |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
260 include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) |
147
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
261 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
262 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
263 |
95da03b43860
Reorganizing CMake build system.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
264 ### |
168
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
265 # ctag Generation |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
266 # |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
267 |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
268 if ( CTAGS_EXECUTABLE ) |
168
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
269 # Populate list of directories for ctags to parse |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
270 # NOTE: Doesn't support dots in the folder names... |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
271 foreach ( filename ${SRCS} ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
272 string ( REGEX REPLACE "/[a-zA-Z0-9_-]+.c$" "" pathglob ${filename} ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
273 file ( GLOB filenames "${pathglob}/*.c" ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
274 set ( CTAG_PATHS ${CTAG_PATHS} ${filenames} ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
275 file ( GLOB filenames "${pathglob}/*.h" ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
276 set ( CTAG_PATHS ${CTAG_PATHS} ${filenames} ) |
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
277 endforeach () |
168
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
278 |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
279 # Generate the ctags |
389
fc2c2a1e9615
Adding basic remote capabilities + UART Rx DMA buffers
Jacob Alexander <haata@kiibohd.com>
parents:
294
diff
changeset
|
280 execute_process ( COMMAND ctags --fields=+l ${CTAG_PATHS} |
168
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
281 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} |
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
282 ) |
294
834d69d22d47
Adding list of modified files to the cli version command.
Jacob Alexander <haata@kiibohd.com>
parents:
293
diff
changeset
|
283 endif () |
168
9634b9824391
Adding support for ctags generation during cmake generation.
Jacob Alexander <haata@kiibohd.com>
parents:
149
diff
changeset
|
284 |