(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
authortruelight
Sun, 17 Jun 2007 20:14:38 +0000
changeset 6936 3ea055cc4957
parent 6935 0a2a174d3f6a
child 6937 40c760fcf1f6
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
projects/generate
--- a/projects/generate	Sun Jun 17 20:09:05 2007 +0000
+++ b/projects/generate	Sun Jun 17 20:14:38 2007 +0000
@@ -38,6 +38,24 @@
 enable_directmusic="1"
 file_prefix="..\\\\src\\\\"
 
+safety_check() {
+	li=""
+	for i in `cat $1 | grep -v "#" | xargs -n 1 basename | sort`; do
+		if [ "$li" = "$i" ]; then
+			echo " !! ERROR !!"
+			echo ""
+			echo "The filename '$i' is already used in this project."
+			echo "Because MSVC uses one single directory for all object files, it"
+			echo "cannot handle filenames with the same name inside the same project."
+			echo "Please rename either one of the file and try generating again."
+			echo ""
+			echo " !! ERROR !!"
+			exit 1
+		fi
+		li="$i"
+	done
+}
+
 load_main_data() {
 	# Read the source.list and process it
 	RES="`cat $1 | tr '\r' '\n' | awk '
@@ -169,6 +187,8 @@
 	' >> "$ROOT_DIR/projects/$2"
 }
 
+safety_check "$ROOT_DIR/source.list"
+
 load_main_data "$ROOT_DIR/source.list" openttd
 load_lang_data "$ROOT_DIR/src/lang/*.txt" lang