-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgenerate-module-template.sh
More file actions
executable file
·32 lines (24 loc) · 1 KB
/
generate-module-template.sh
File metadata and controls
executable file
·32 lines (24 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#! /bin/bash
read -p "Enter directory name: " DirName;
read -p "Enter module name: " ModuleName
echo "Generating Module Template ${ModuleName}";
#Set up module directories
mkdir -p ./${DirName};
mkdir -p ./${DirName}/src;
mkdir -p ./${DirName}/include;
#Copy templates in created directories
cp ./.templates/TEMPLATE.* ${DirName};
cp ./.templates/CMakeLists.txt ${DirName};
#Rename the created templates
mv ${DirName}/TEMPLATE.cpp ${DirName}/src/${ModuleName}.cpp;
mv ${DirName}/TEMPLATE.h ${DirName}/include/${ModuleName}.h;
#Change the class names in the tamplates
sed -i 's/TEMPLATE/'${ModuleName}'/g' ${DirName}/src/${ModuleName}.cpp;
sed -i 's/TEMPLATE/'${ModuleName}'/g' ${DirName}/include/${ModuleName}.h;
sed -i 's/TEMPLATE/'${ModuleName}'/g' ${DirName}/CMakeLists.txt;
#Create Readme
touch ${DirName}/README.md
#Move created module directory to modules directory
mv ${DirName} ./modules
#Add sub directory to modules top level cmake lists
echo "add_subdirectory($DirName)" | tee -a ./modules/CMakeLists.txt