Mercurial > louis > kiibohd-controller
view buildall.bash @ 398:63b1d003fd50
Stop requiring editing of example scripts
The example scripts include hardcoded values that
do not work for everyone. Instead of requiring the
files to be edited (and dirtying the git tree),
allow them to take command-line arguments.
Also adds better guidance for Mac OSX virtual
serial ports.
author | Joshua Flanagan <joshuaflanagan@gmail.com> |
---|---|
date | Tue, 10 Nov 2015 10:32:06 -0600 |
parents | ab4515606277 |
children | 99f93dec8fea |
line wrap: on
line source
#!/bin/bash ###| Builder Script |### # # Builds all permutations of modules # This script is an attempt to maintain module sanity as new ones are added # # Fortunately, sweeping API changes don't happen much anymore...but just in case... # # Written by Jacob Alexander 2013 for the Kiibohd Controller # Released into the Public Domain # ### ## TODO List ## # - Complete non-Scan module permutations (will take extra work) # - Add command line arguments # - Add help flag for usage # - Make sure the script is being run from the correct directory main() { ERROR="\e[5;1;31mERROR\e[0m:" failCount=0 # Scan for list of Scan Modules scanModules=$(ls Scan) # Prune out "invalid" modules (parent modules) scanModules=${scanModules[@]//matrix/} # Create permutation directories # Then run cmake, and run each build permutation # Keeping track of how many builds failed/passed for module in $scanModules; do # Create directory, but do not error if it exists already mkdir -p build/$module cd build/$module # Make sure CMake has been run, and attempt to build cmake -DScanModuleOverride=$module ../.. && make || let failCount++ # Cleanup, for the next build cd - > /dev/null done totalModules=$(echo $scanModules | wc -w) if (( failCount > 0 )); then echo -e "$ERROR $failCount/$totalModules failed" else echo -e "Build Success!" fi } #| Main Script Entry main "$@" exit 0