Compare commits

..

No commits in common. "56140d0bbaef988a1476802052ed54dc80834833" and "3d5c460865f831f9517559acdb0977ab032890ca" have entirely different histories.

3 changed files with 27 additions and 43 deletions

View file

@ -6,7 +6,6 @@
*/
#include "module_name.h"
#include "RegEdit.h"
// dumb test function
int add_two(int a)

View file

@ -8,8 +8,8 @@
*/
//#pragma once
#ifndef module_name_H
#define module_name_H
#ifndef module_name
#define module_name
#ifdef __cplusplus
extern "C"
@ -28,4 +28,4 @@ int add_two(int a);
}
#endif // __cplusplus
#endif //module_name_H
#endif //module_name

63
otto.sh
View file

@ -8,7 +8,6 @@ CMAKE_VERBOSE="ON"
CROSS_COMPILE=1
TEMPLATE_FILES=".template_files"
MODULE_DIR="${TEMPLATE_FILES}/modules"
TEST_MODULE_DIR="${TEMPLATE_FILES}/test_module"
CHIP="ch32v003"
generate_tags_file () {
@ -87,12 +86,12 @@ does_mock_exist () {
add_module_to_cmakes () {
local basename="$1"
echo "add_module_to_cmakes()"
echo "add_subdirectory(${basename})" >> ./src/CMakeLists.txt
# Tests cmake file needs to be edited in place.
sed -i '' -e "s|# TEST_DIRS.*$|# TEST_DIRS\nadd_subdirectory(${basename})|" ./tests/CMakeLists.txt
sed -i '' -e "s|# TEST_LINKS.*$|# TEST_LINKS\ntest_${basename}|" ./tests/CMakeLists.txt
sed -i'' "s/# TEST_DIRS.*$/# TEST_DIRS\r\nadd_subdirectory(${basename})/g" ./tests/CMakeLists.txt
sed -i'' "s/# TEST_LINKS.*$/# TEST_LINKS\r\n\ttest_${basename}/g" ./tests/CMakeLists.txt
}
remove_module_from_cmakes () {
@ -158,8 +157,7 @@ add_mock_module () {
exit
fi
# modname_cap=$(echo $modname | sed 's/[a-z]/\U&/g')
modname_cap="${modname}"
modname_cap=$(echo $modname | sed 's/[a-z]/\U&/g')
modsrc_dir="./mocks/${modname}"
modtest_dir="./tests/${modname}"
@ -169,19 +167,17 @@ add_mock_module () {
#copy the template files.
echo "copying & customizing template files..."
sed "s/module_name/${modname}/" $MODULE_DIR/module_name.c > $modsrc_dir/${modname}.c
sed -i'' "3s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.c
echo "Creating src files..."
sed "s/module_name/${modname}/g" "${MODULE_DIR}/module_name.c" > ${modsrc_dir}/${modname}.c
sed -i'' "3s/todays_date/$(date +%Y)/" "${modsrc_dir}/${modname}.c"
sed "s/module_name/${modname_cap}/" $MODULE_DIR/module_name.h > $modsrc_dir/${modname}.h
sed -i'' "3s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.h
sed "s/module_name/${modname_cap}/g" "${MODULE_DIR}/module_name.h" > ${modsrc_dir}/${modname}.h
sed -i'' "3s/todays_date/$(date +%Y)/" "${modsrc_dir}/${modname}.h"
sed "s/module_name/${modname}/" $MODULE_DIR/CMakeLists.txt > $modsrc_dir/CMakeLists.txt
sed "s/module_name/${modname}/g" "${MODULE_DIR}/CMakeLists.txt" > ${modsrc_dir}/CMakeLists.txt
echo "Creating test files..."
sed "s/module_name/${modname}/g" "${MODULE_DIR}/test_module_name.cpp" > ${modtest_dir}/test_${modname}.cpp
sed "s/module_name/${modname}/g" "$MODULE_DIR/TestCMakeLists.txt" > ${modtest_dir}/CMakeLists.txt
sed "s/module_name/${modname}/" $MODULE_DIR/test_module_name.cpp > $modtest_dir/test_${modname}.cpp
sed "s/module_name/${modname}/" $MODULE_DIR/TestCMakeLists.txt > $modtest_dir/CMakeLists.txt
# Add the module to the cmake lists files.
add_module_to_cmakes "${modname}"
@ -206,39 +202,28 @@ add_new_module () {
exit
fi
#modname_cap=$(echo $modname | sed 's/[a-z]/\U&/g')
modname_cap="${modname}"
modname_cap=$(echo $modname | sed 's/[a-z]/\U&/g')
modsrc_dir="./src/${modname}"
modtest_dir="./tests/${modname}"
echo "modname_cap: ${modname_cap}"
echo "modname: ${modname}"
echo "creating: ${modsrc_dir}, ${modtest_dir}"
mkdir $modsrc_dir
mkdir $modtest_dir
#copy the template files.
echo "copying & customizing template files..."
sed "s/module_name/${modname}/" $MODULE_DIR/module_name.c > $modsrc_dir/${modname}.c
sed -i'' "3s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.c
sed "s/module_name/${modname_cap}/" $MODULE_DIR/module_name.h > $modsrc_dir/${modname}.h
sed -i'' "3s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.h
sed "s/module_name/${modname}/" $MODULE_DIR/CMakeLists.txt > $modsrc_dir/CMakeLists.txt
sed "s/module_name/${modname}/" $MODULE_DIR/test_module_name.cpp > $modtest_dir/test_${modname}.cpp
sed "s/module_name/${modname}/" $MODULE_DIR/TestCMakeLists.txt > $modtest_dir/CMakeLists.txt
echo "Creating src files..."
sed -e "s/module_name/${modname}/g" $MODULE_DIR/module_name.c > $modsrc_dir/${modname}.c
sed -i '' -e "3s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.c
sed -e "s/module_name/${modname_cap}/g" $MODULE_DIR/module_name.h > $modsrc_dir/${modname}.h
sed -i '' -e "5s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.h
sed -e "s/module_name/${modname}/" ${MODULE_DIR}/CMakeLists.txt > $modsrc_dir/CMakeLists.txt
echo "Creating test files..."
sed -e "s/module_name/${modname}/g" ${TEST_MODULE_DIR}/test_module_name.cpp > ${modtest_dir}/test_${modname}.cpp
sed -e "s/module_name/${modname}/g" ${TEST_MODULE_DIR}/CMakeLists.txt > ${modtest_dir}/CMakeLists.txt
cp -r ${TEST_MODULE_DIR}/mocks ${modtest_dir}/
cp -r ${TEST_MODULE_DIR}/fakes ${modtest_dir}/
cp -r ${TEST_MODULE_DIR}/stubs ${modtest_dir}/
# Add the module to the cmake lists files.
add_module_to_cmakes "${modname}"