Mercurial > louis > kiibohd-controller
comparison Lib/CMake/modules.cmake @ 294:834d69d22d47
Adding list of modified files to the cli version command.
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Sat, 28 Feb 2015 23:50:13 -0800 |
parents | 57f40871c726 |
children | fc2c2a1e9615 |
comparison
equal
deleted
inserted
replaced
293:57f40871c726 | 294:834d69d22d47 |
---|---|
155 ### | 155 ### |
156 # Generate USB Defines | 156 # Generate USB Defines |
157 # | 157 # |
158 | 158 |
159 #| Manufacturer name | 159 #| Manufacturer name |
160 set( MANUFACTURER "Kiibohd" ) | 160 set ( MANUFACTURER "Kiibohd" ) |
161 | 161 |
162 | 162 |
163 #| Serial Number | 163 #| Serial Number |
164 #| Attempt to call Git to get the branch, last commit date, and whether code modified since last commit | 164 #| Attempt to call Git to get the branch, last commit date, and whether code modified since last commit |
165 | 165 |
166 #| Modified | 166 #| Modified |
167 #| Takes a bit of work to extract the "M " using CMake, and not using it if there are no modifications | 167 #| Takes a bit of work to extract the "M " using CMake, and not using it if there are no modifications |
168 execute_process( COMMAND ${GIT_EXECUTABLE} status -s -uno --porcelain | 168 execute_process ( COMMAND ${GIT_EXECUTABLE} status -s -uno --porcelain |
169 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} | 169 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
170 OUTPUT_VARIABLE Git_Modified_INFO | 170 OUTPUT_VARIABLE Git_Modified_INFO |
171 ERROR_QUIET | 171 ERROR_QUIET |
172 OUTPUT_STRIP_TRAILING_WHITESPACE | 172 OUTPUT_STRIP_TRAILING_WHITESPACE |
173 ) | 173 ) |
174 string( LENGTH "${Git_Modified_INFO}" Git_Modified_LENGTH ) | 174 string ( LENGTH "${Git_Modified_INFO}" Git_Modified_LENGTH ) |
175 set( Git_Modified_Status "Clean" ) | 175 set ( Git_Modified_Status "Clean" ) |
176 if ( ${Git_Modified_LENGTH} GREATER 2 ) | 176 if ( ${Git_Modified_LENGTH} GREATER 2 ) |
177 string( SUBSTRING "${Git_Modified_INFO}" 1 2 Git_Modified_Flag_INFO ) | 177 string ( SUBSTRING "${Git_Modified_INFO}" 1 2 Git_Modified_Flag_INFO ) |
178 set( Git_Modified_Status "Dirty" ) | 178 set ( Git_Modified_Status "Dirty" ) |
179 endif () | 179 endif () |
180 | |
181 #| List of modified files | |
182 execute_process ( COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD -- | |
183 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} | |
184 OUTPUT_VARIABLE Git_Modified_Files | |
185 ERROR_QUIET | |
186 OUTPUT_STRIP_TRAILING_WHITESPACE | |
187 ) | |
188 string ( REGEX REPLACE "\n" "\\\\r\\\\n\\\\t" Git_Modified_Files "${Git_Modified_Files}" ) | |
189 set ( Git_Modified_Files "\\r\\n\\t${Git_Modified_Files}" ) | |
180 | 190 |
181 #| Branch | 191 #| Branch |
182 execute_process( COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD | 192 execute_process( COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD |
183 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} | 193 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
184 OUTPUT_VARIABLE Git_Branch_INFO | 194 OUTPUT_VARIABLE Git_Branch_INFO |
185 ERROR_QUIET | 195 ERROR_QUIET |
186 OUTPUT_STRIP_TRAILING_WHITESPACE | 196 OUTPUT_STRIP_TRAILING_WHITESPACE |
187 ) | 197 ) |
188 | 198 |
189 #| Date | 199 #| Date |
190 execute_process( COMMAND ${GIT_EXECUTABLE} show -s --format=%ci | 200 execute_process ( COMMAND ${GIT_EXECUTABLE} show -s --format=%ci |
191 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} | 201 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
192 OUTPUT_VARIABLE Git_Date_INFO | 202 OUTPUT_VARIABLE Git_Date_INFO |
193 ERROR_QUIET | 203 ERROR_QUIET |
194 OUTPUT_STRIP_TRAILING_WHITESPACE | 204 OUTPUT_STRIP_TRAILING_WHITESPACE |
195 ) | 205 ) |
196 | 206 |
197 #| Commit Author and Email | 207 #| Commit Author and Email |
198 execute_process( COMMAND ${GIT_EXECUTABLE} show -s --format="%cn <%ce>" | 208 execute_process ( COMMAND ${GIT_EXECUTABLE} show -s --format="%cn <%ce>" |
199 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} | 209 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
200 OUTPUT_VARIABLE Git_Commit_Author | 210 OUTPUT_VARIABLE Git_Commit_Author |
201 ERROR_QUIET | 211 ERROR_QUIET |
202 OUTPUT_STRIP_TRAILING_WHITESPACE | 212 OUTPUT_STRIP_TRAILING_WHITESPACE |
203 ) | 213 ) |
204 | 214 |
205 #| Commit Revision | 215 #| Commit Revision |
206 execute_process( COMMAND ${GIT_EXECUTABLE} show -s --format=%H | 216 execute_process ( COMMAND ${GIT_EXECUTABLE} show -s --format=%H |
207 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} | 217 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
208 OUTPUT_VARIABLE Git_Commit_Revision | 218 OUTPUT_VARIABLE Git_Commit_Revision |
209 ERROR_QUIET | 219 ERROR_QUIET |
210 OUTPUT_STRIP_TRAILING_WHITESPACE | 220 OUTPUT_STRIP_TRAILING_WHITESPACE |
211 ) | 221 ) |
212 | 222 |
213 #| Origin URL | 223 #| Origin URL |
214 execute_process( COMMAND ${GIT_EXECUTABLE} config --get remote.origin.url | 224 execute_process ( COMMAND ${GIT_EXECUTABLE} config --get remote.origin.url |
215 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} | 225 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
216 OUTPUT_VARIABLE Git_Origin_URL | 226 OUTPUT_VARIABLE Git_Origin_URL |
217 ERROR_QUIET | 227 ERROR_QUIET |
218 OUTPUT_STRIP_TRAILING_WHITESPACE | 228 OUTPUT_STRIP_TRAILING_WHITESPACE |
219 ) | 229 ) |
220 | 230 |
221 #| Build Date | 231 #| Build Date |
222 execute_process( COMMAND "date" "+%Y-%m-%d %T %z" | 232 execute_process ( COMMAND "date" "+%Y-%m-%d %T %z" |
223 OUTPUT_VARIABLE Build_Date | 233 OUTPUT_VARIABLE Build_Date |
224 ERROR_QUIET | 234 ERROR_QUIET |
225 OUTPUT_STRIP_TRAILING_WHITESPACE | 235 OUTPUT_STRIP_TRAILING_WHITESPACE |
226 ) | 236 ) |
227 | 237 |
228 #| Last Commit Date | 238 #| Last Commit Date |
229 set( GitLastCommitDate "${Git_Modified_Status} ${Git_Branch_INFO} - ${Git_Date_INFO}" ) | 239 set ( GitLastCommitDate "${Git_Modified_Status} ${Git_Branch_INFO} - ${Git_Date_INFO}" ) |
230 | 240 |
231 #| Uses CMake variables to include as defines | 241 #| Uses CMake variables to include as defines |
232 #| Primarily for USB configuration | 242 #| Primarily for USB configuration |
233 configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Lib/_buildvars.h buildvars.h ) | 243 configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/Lib/_buildvars.h buildvars.h ) |
234 | 244 |
235 | 245 |
236 | 246 |
237 ### | 247 ### |
238 # Source Defines | 248 # Source Defines |
239 # | 249 # |
240 set( SRCS | 250 set ( SRCS |
241 ${MAIN_SRCS} | 251 ${MAIN_SRCS} |
242 ${COMPILER_SRCS} | 252 ${COMPILER_SRCS} |
243 ${Scan_SRCS} | 253 ${Scan_SRCS} |
244 ${Macro_SRCS} | 254 ${Macro_SRCS} |
245 ${Output_SRCS} | 255 ${Output_SRCS} |
246 ${Debug_SRCS} | 256 ${Debug_SRCS} |
247 ) | 257 ) |
248 | 258 |
249 #| Directories to include by default | 259 #| Directories to include by default |
250 include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) | 260 include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) |
251 | 261 |
252 | 262 |
253 | 263 |
254 ### | 264 ### |
255 # ctag Generation | 265 # ctag Generation |
256 # | 266 # |
257 | 267 |
258 if( CTAGS_EXECUTABLE ) | 268 if ( CTAGS_EXECUTABLE ) |
259 # Populate list of directories for ctags to parse | 269 # Populate list of directories for ctags to parse |
260 # NOTE: Doesn't support dots in the folder names... | 270 # NOTE: Doesn't support dots in the folder names... |
261 foreach( filename ${SRCS} ) | 271 foreach ( filename ${SRCS} ) |
262 string( REGEX REPLACE "/[a-zA-Z0-9_-]+.c$" "" pathglob ${filename} ) | 272 string ( REGEX REPLACE "/[a-zA-Z0-9_-]+.c$" "" pathglob ${filename} ) |
263 file( GLOB filenames "${pathglob}/*.c" ) | 273 file ( GLOB filenames "${pathglob}/*.c" ) |
264 set( CTAG_PATHS ${CTAG_PATHS} ${filenames} ) | 274 set ( CTAG_PATHS ${CTAG_PATHS} ${filenames} ) |
265 file( GLOB filenames "${pathglob}/*.h" ) | 275 file ( GLOB filenames "${pathglob}/*.h" ) |
266 set( CTAG_PATHS ${CTAG_PATHS} ${filenames} ) | 276 set ( CTAG_PATHS ${CTAG_PATHS} ${filenames} ) |
267 endforeach() | 277 endforeach () |
268 | 278 |
269 # Generate the ctags | 279 # Generate the ctags |
270 execute_process( COMMAND ctags ${CTAG_PATHS} | 280 execute_process ( COMMAND ctags ${CTAG_PATHS} |
271 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} | 281 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} |
272 ) | 282 ) |
273 endif() | 283 endif () |
274 | 284 |