]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/test/compilationunit.sh
Start with most weapons & ammo in freeze tag
[xonotic/xonotic-data.pk3dir.git] / qcsrc / test / compilationunit.sh
index b976a4df41245971cbe266bcc77c74f2bc98454f..e4f387861da3b0bbaae25215c95c29e4c3656ba8 100755 (executable)
@@ -3,18 +3,31 @@ set -eu
 cd "$(dirname "$0")"
 cd ..
 
-export QCC=../../../gmqcc/gmqcc
+declare -a NOWARN=(
+  '-Wno-field-redeclared'
+  '-Wno-unused-variable'
+  '-Wno-implicit-function-pointer'
+)
+declare -a FEATURES=(
+  '-DVEHICLES_ENABLED=1'
+  '-DVEHICLES_USE_ODE=0'
+)
+declare QCC=../../../gmqcc/gmqcc
 
 function check() {
   declare -l base="$1"
   declare -la predefs=("${!2}")
-  find "$base" -type f -name '*.qc' -print0 | while IFS= read -r -d '' file; do
+  find "$base" -type f -name '*.qc' -print0 | sort -z | while IFS= read -r -d '' file; do
     echo "$file"
-    ${QCC} -std=gmqcc -fftepp ${predefs[@]} "$file" >/dev/null
+    ${QCC} -std=gmqcc -fftepp -fftepp-predefs -Werror -Wall "${NOWARN[@]}" "${FEATURES[@]}" -futf8 -O3 "${predefs[@]}" "$file" >/dev/null
   done
 }
 
-# TODO: `sort -V` all the includes
-
 clientdefs=("-DCSQC" "common/util-pre.qh" "dpdefs/csprogsdefs.qh")
-check client clientdefs[@]
+check "client" clientdefs[@]
+
+serverdefs=("-DSVQC" "common/util-pre.qh" "server/sys-pre.qh" "dpdefs/progsdefs.qh" "dpdefs/dpextensions.qh" "server/sys-post.qh" "server/defs.qh" "server/autocvars.qh")
+check "server" serverdefs[@]
+
+menudefs=("-DMENUQC" "common/util-pre.qh" "dpdefs/menudefs.qh")
+check "menu" menudefs[@]