Files
openmesh/migrate.sh

210 lines
6.0 KiB
Bash
Raw Normal View History

#!/bin/sh
#
# $Id: migrate.sh,v 1.1.1.1 2006-10-25 16:13:26 habbecke Exp $
if [ "$1" == "-s" ]; then
shift 1
show_skipped=1
fi
echo "This script prepares your source for OpenMesh Version 1-0-x"
echo
echo "Warning! This script visits ALL subdirectories of the current"
echo "working directory and"
echo
echo " 1. changes includes path in text files"
echo " 2. changes any occurence of 'MeshIO' into 'IO'"
echo " 3. changes any occurence of 'DefaultAttributer' into 'Attributes'"
echo " 4. changes any occurence of 'Attributer.hh' into 'Attributes.hh'"
echo " 5. changes any occurence of 'Base::Refs::*' into 'Refs::*'"
echo " 6. changes in all ACGMakefile the OpenMesh library names"
echo ""
echo -n "Proceed [yes/NO]? "
read
if [ -z $REPLY ] || [ $REPLY != "yes" ]; then
echo "Aborted!"
exit 0
fi
# ------------------------------------------------------------------------------
# include path
echo ""
echo "# changing include paths"
TMP=`grep -rl include .`
for I in $TMP ; do
if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \
[[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \
[[ "$I" != *.so ]]; then
echo -n "processing $I.."
# "correct" include path to MeshCheckerT.hh
# OpenMesh/Tools/MeshCheckerT.hh -> OpenMeshTools/Utils/MeshCheckerT.hh
if (grep -q "include.*OpenMesh/Tools/MeshCheckerT.hh" $I); then
cat $I | \
perl -pe 's/^(\s*#\s*include\s*<.*)\/Tools\/MeshCheckerT.hh/\1Tools\/Utils\/MeshCheckerT.hh/' > $I.out
mv $I.out $I
if [ $? -eq 0 ]; then
echo -n "."
fi
fi
# correct include path to modules
if (grep -q "include.*OpenMesh" $I) && \
!(grep -q "include.*OpenMesh/Core" $I) && \
!(grep -q "include.*OpenMesh/Tools" $I) && \
!(grep -q "include.*OpenMesh/Apps" $I); then
cat $I | \
perl -pe 's/^(\s*#\s*include\s*<)\s*OpenMesh(\/.*)$/\1OpenMesh\/Core\2/' | \
perl -pe 's/^(\s*#\s*include\s*<)\s*OpenMeshTools(\/.*)$/\1OpenMesh\/Tools\2/' | \
perl -pe 's/^(\s*#\s*include\s*<)\s*OpenMeshApps(\/.*)$/\1OpenMesh\/Apps\2/' > $I.out
mv $I.out $I
if [ $? -gt 0 ]; then
echo "ERROR"
else
echo "done"
fi
elif (($show_skipped)); then
echo "skipped"
else
echo -ne "\r \r"
fi
fi
done
# ------------------------------------------------------------------------------
echo "# changing namespaces"
TMP=`grep -rl MeshIO .`
for I in $TMP ; do
if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \
[[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \
[[ "$I" != *.so ]]; then
echo -n "processing $I.."
if (grep -qE "MeshIO[^\.h]" $I); then
cat $I | \
perl -pe 's/MeshIO([^\.h])/IO\1/' > $I.out
mv $I.out $I
if [ $? -gt 0 ]; then
echo "ERROR"
else
echo "done"
fi
elif (($show_skipped)); then
echo "skipped"
else
echo -ne "\r \r"
fi
fi
done
# ------------------------------------------------------------------------------
echo "# Change DefaultAttributer to Attributes"
TMP=`grep -rl DefaultAttributer .`
for I in $TMP ; do
if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \
[[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \
[[ "$I" != *.so ]]; then
echo -n "processing $I.."
if (grep -qE "DefaultAttributer" $I); then
cat $I | \
perl -pe 's/DefaultAttributer/Attributes/' > $I.out
mv $I.out $I
if [ $? -gt 0 ]; then
echo "ERROR"
else
echo "done"
fi
elif (($show_skipped)); then
echo "skipped"
else
echo -ne "\r \r"
fi
fi
done
# ------------------------------------------------------------------------------
echo "# Change Attributer.hh to Attributes.hh"
TMP=`grep -rl Attributer.hh .`
for I in $TMP ; do
if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \
[[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \
[[ "$I" != *.so ]]; then
echo -n "processing $I.."
if (grep -q "Attributer.hh" $I); then
cat $I | \
perl -pe 's/Attributer\.hh/Attributes.hh/' > $I.out
mv $I.out $I
if [ $? -gt 0 ]; then
echo "ERROR"
else
echo "done"
fi
elif (($show_skipped)); then
echo "skipped"
else
echo -ne "\r \r"
fi
fi
done
# ------------------------------------------------------------------------------
echo "# Change Base::Refs::* to Refs::*"
TMP=`grep -rl Base::Refs:: .`
for I in $TMP ; do
if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \
[[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \
[[ "$I" != *.so ]]; then
echo -n "processing $I.."
if (grep -q "Base::Refs::" $I); then
cat $I | \
perl -pe 's/Base::Refs::/Refs::/' > $I.out
mv $I.out $I
if [ $? -gt 0 ]; then
echo "ERROR"
else
echo "done"
fi
elif (($show_skipped)); then
echo "skipped"
else
echo -ne "\r \r"
fi
fi
done
# ------------------------------------------------------------------------------
echo "# changing ACGMakefiles"
for I in `find . -name 'ACGMakefile'`; do
if [[ "$I" != *_dbg* ]] && [[ $I != *_max* ]] && \
[[ "$I" != *_opt* ]] && [[ $I != *_prf* ]] && \
[[ "$I" != *.so ]]; then
echo -n "processing $I.."
if (grep -q ".*OpenMesh" $I) && \
!(grep -q ".*OpenMesh/Core" $I) && \
!(grep -q ".*OpenMesh/Apps" $I); then
cat $I | \
perl -pe 's/OpenMesh/OpenMesh\/Core/' | \
perl -pe 's/OpenMeshApps/OpenMesh\/Apps/' > $I.out
mv $I.out $I
if [ $? -gt 0 ]; then
echo "ERROR"
else
echo "done";
fi
elif (($show_skipped)); then
echo "skipped"
else
echo -ne "\r \r"
fi
fi
done