]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/test/compilationunit.sh
Make most server includes order insensitive
[xonotic/xonotic-data.pk3dir.git] / qcsrc / test / compilationunit.sh
1 #!/bin/bash
2 set -eu
3 cd "$(dirname "$0")"
4 cd ..
5
6 declare -a NOWARN=(
7   '-Wno-field-redeclared'
8   '-Wno-unused-variable'
9   '-Wno-implicit-function-pointer'
10 )
11 declare QCC=../../../gmqcc/gmqcc
12
13 function check() {
14   declare -l base="$1"
15   declare -la predefs=("${!2}")
16   find "$base" -type f -name '*.qc' -print0 | sort -z | while IFS= read -r -d '' file; do
17     echo "$file"
18     ${QCC} -std=gmqcc -fftepp -fftepp-predefs -Werror -Wall "${NOWARN[@]}" -futf8 -O3 "${predefs[@]}" "$file" >/dev/null
19   done
20 }
21
22 clientdefs=("-DCSQC" "common/util-pre.qh" "dpdefs/csprogsdefs.qh")
23 check "client" clientdefs[@]
24
25 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")
26 check "server" serverdefs[@]
27
28 # menudefs=("-DMENUQC" "common/util-pre.qh" "dpdefs/menudefs.qh" "menu/oo/interface.qc" "menu/oo/implementation.qc")
29 # check "menu" menudefs[@]