fixed and tested otto script on FreeBSD
This commit is contained in:
parent
fd03292660
commit
56140d0bba
1 changed files with 39 additions and 24 deletions
63
otto.sh
63
otto.sh
|
|
@ -8,6 +8,7 @@ CMAKE_VERBOSE="ON"
|
||||||
CROSS_COMPILE=1
|
CROSS_COMPILE=1
|
||||||
TEMPLATE_FILES=".template_files"
|
TEMPLATE_FILES=".template_files"
|
||||||
MODULE_DIR="${TEMPLATE_FILES}/modules"
|
MODULE_DIR="${TEMPLATE_FILES}/modules"
|
||||||
|
TEST_MODULE_DIR="${TEMPLATE_FILES}/test_module"
|
||||||
CHIP="ch32v003"
|
CHIP="ch32v003"
|
||||||
|
|
||||||
generate_tags_file () {
|
generate_tags_file () {
|
||||||
|
|
@ -86,12 +87,12 @@ does_mock_exist () {
|
||||||
|
|
||||||
add_module_to_cmakes () {
|
add_module_to_cmakes () {
|
||||||
local basename="$1"
|
local basename="$1"
|
||||||
|
echo "add_module_to_cmakes()"
|
||||||
echo "add_subdirectory(${basename})" >> ./src/CMakeLists.txt
|
echo "add_subdirectory(${basename})" >> ./src/CMakeLists.txt
|
||||||
|
|
||||||
# Tests cmake file needs to be edited in place.
|
# Tests cmake file needs to be edited in place.
|
||||||
sed -i'' "s/# TEST_DIRS.*$/# TEST_DIRS\r\nadd_subdirectory(${basename})/g" ./tests/CMakeLists.txt
|
sed -i '' -e "s|# TEST_DIRS.*$|# TEST_DIRS\nadd_subdirectory(${basename})|" ./tests/CMakeLists.txt
|
||||||
sed -i'' "s/# TEST_LINKS.*$/# TEST_LINKS\r\n\ttest_${basename}/g" ./tests/CMakeLists.txt
|
sed -i '' -e "s|# TEST_LINKS.*$|# TEST_LINKS\ntest_${basename}|" ./tests/CMakeLists.txt
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_module_from_cmakes () {
|
remove_module_from_cmakes () {
|
||||||
|
|
@ -157,7 +158,8 @@ add_mock_module () {
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
modname_cap=$(echo $modname | sed 's/[a-z]/\U&/g')
|
# modname_cap=$(echo $modname | sed 's/[a-z]/\U&/g')
|
||||||
|
modname_cap="${modname}"
|
||||||
modsrc_dir="./mocks/${modname}"
|
modsrc_dir="./mocks/${modname}"
|
||||||
modtest_dir="./tests/${modname}"
|
modtest_dir="./tests/${modname}"
|
||||||
|
|
||||||
|
|
@ -167,17 +169,19 @@ add_mock_module () {
|
||||||
|
|
||||||
#copy the template files.
|
#copy the template files.
|
||||||
echo "copying & customizing 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
|
echo "Creating src files..."
|
||||||
sed -i'' "3s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.h
|
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}/" $MODULE_DIR/CMakeLists.txt > $modsrc_dir/CMakeLists.txt
|
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/test_module_name.cpp > $modtest_dir/test_${modname}.cpp
|
sed "s/module_name/${modname}/g" "${MODULE_DIR}/CMakeLists.txt" > ${modsrc_dir}/CMakeLists.txt
|
||||||
sed "s/module_name/${modname}/" $MODULE_DIR/TestCMakeLists.txt > $modtest_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
|
||||||
|
|
||||||
# Add the module to the cmake lists files.
|
# Add the module to the cmake lists files.
|
||||||
add_module_to_cmakes "${modname}"
|
add_module_to_cmakes "${modname}"
|
||||||
|
|
@ -202,28 +206,39 @@ add_new_module () {
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
modname_cap=$(echo $modname | sed 's/[a-z]/\U&/g')
|
#modname_cap=$(echo $modname | sed 's/[a-z]/\U&/g')
|
||||||
|
modname_cap="${modname}"
|
||||||
modsrc_dir="./src/${modname}"
|
modsrc_dir="./src/${modname}"
|
||||||
modtest_dir="./tests/${modname}"
|
modtest_dir="./tests/${modname}"
|
||||||
|
|
||||||
|
echo "modname_cap: ${modname_cap}"
|
||||||
|
echo "modname: ${modname}"
|
||||||
|
|
||||||
echo "creating: ${modsrc_dir}, ${modtest_dir}"
|
echo "creating: ${modsrc_dir}, ${modtest_dir}"
|
||||||
mkdir $modsrc_dir
|
mkdir $modsrc_dir
|
||||||
mkdir $modtest_dir
|
mkdir $modtest_dir
|
||||||
|
|
||||||
#copy the template files.
|
#copy the template files.
|
||||||
echo "copying & customizing 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 the module to the cmake lists files.
|
||||||
add_module_to_cmakes "${modname}"
|
add_module_to_cmakes "${modname}"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue