diff options
Diffstat (limited to 'bin/vc11convert.sh')
-rwxr-xr-x | bin/vc11convert.sh | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/bin/vc11convert.sh b/bin/vc11convert.sh new file mode 100755 index 0000000..b0404b5 --- /dev/null +++ b/bin/vc11convert.sh @@ -0,0 +1,63 @@ +#! /usr/bin/env bash + +# Convert VC10 project files to VC11. +# +# -i <ver> encoded input VC version, '10.0' by default +# -o <ver> encoded output VC version, '11.0' by default +# + +trap 'exit 1' ERR + +function error () +{ + echo "$*" 1>&2 +} + +wd=`pwd` +vi=10.0 +vo=11.0 + +while [ $# -gt 0 ]; do + case $1 in + -i) + shift + vi=$1 + shift + ;; + -o) + shift + vo=$1 + shift + ;; + *) + error "unknown option: $1" + exit 1 + ;; + esac +done + +files=`find . -name "*-$vi.vcxproj" -type f` + +for p in $files; do + + d=`dirname $p` + f=`basename $p -$vi.vcxproj` + + cd $d + + cp $f-$vi.vcxproj.filters $f-$vo.vcxproj.filters + + sed \ + -e "s#<CharacterSet>#<PlatformToolset>v110</PlatformToolset>\n <CharacterSet>#" \ + $f-$vi.vcxproj >$f-$vo.vcxproj + + todos $f-$vo.vcxproj + + if [ `wc -c <$f-$vi.vcxproj` -eq `wc -c <$f-$vo.vcxproj` ]; then + error "no changes made in $d" + cd $wd + exit 1 + fi + + cd $wd +done |