Salome HOME
Merge from BR_QT4 17Feb09
[tools/hxx2salome.git] / scripts / SA_new_cpp_component
1 #!/bin/bash
2 # --
3 # Copyright (C) CEA, EDF
4 # Author : Nicolas Crouzet (CEA)
5 # --
6
7 usage()
8 {
9     echo
10     echo Usage :
11     echo
12     echo "  SA_new_cpp_component  Name"
13     echo
14     echo "  -> create the tree to compile a new C++ component linked with MED libs"
15     echo 
16     exit 1
17 }
18
19 rename_dir()
20 {
21     # Rename the first directory containing $oldName in their file name
22     liste=`find . -type d -name "*${oldName}*"`
23     for file in $liste
24     do
25         newFile=`echo $file | sed "s/${oldName}/${newName}/g"`
26         echo "mv -f $file $newFile"
27         mv -f $file $newFile
28         return 1
29     done
30     return 0
31 }
32
33 if [ $# -ne 1 ]
34 then
35    usage
36 fi
37
38 tar xvfz ${HXX2SALOME_ROOT_DIR}/cpp_compo_template.tgz
39 moduleName=${1}CPP_SRC
40 mv Cpp_Template__SRC ${moduleName}
41
42 oldName=Cpp_Template_
43 newName=$1
44
45 today=`date +%d%m%y`
46 cd ${moduleName}
47 echo
48 echo Renamed Directories:
49 echo
50
51 # rename directories one by one
52 rename_dir
53 while [ $? -eq 1 ]
54 do
55     rename_dir
56 done
57
58 # rename files containing ${oldName} in their name
59 echo
60 echo Renamed Files:
61 echo
62 liste=`find . -name "*${oldName}*"`
63 for file in $liste
64 do
65     newFile=`echo $file | sed "s/${oldName}/${newName}/g"`
66     echo "mv -f $file $newFile"
67     mv -f $file $newFile
68 done
69
70 echo
71 echo Modified Files:
72 echo
73 # modify all files containing $oldName, replace occurences by $newName
74 liste=`find -name "*"`
75 for file in $liste
76 do
77     if [ -f $file ]
78     then
79         grep $oldName $file > /dev/null 2>&1
80         if [ $? -eq 0 ]
81         then
82             echo $file
83             cat $file | sed "s/${oldName}/${newName}/g" > fic_temp_${today}
84             cp -f fic_temp_${today} $file
85         fi
86     fi
87 done
88 rm -f fic_temp_${today}
89 cd -