qt5base-lts/config.tests/unix/compile.test
Thiago Macieira 1f7f73b86a compile.test: append any unknown arguments to the qmake command-line
This allows setting of variables, like FOO=bar.

Yes, it's intentional that there are no quotes.

Change-Id: Ib306f8f647014b399b87ffff13f1d9e6a10fa2f8
(cherry picked from commit e79200bf7f)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
2016-08-25 12:09:08 +00:00

107 lines
2.4 KiB
Bash
Executable File

#!/bin/sh
SUCCESS=no
QMKSPEC=$1
XPLATFORM=`basename "$1"`
QMAKE_CONFIG=$2
VERBOSE=$3
SRCDIR=$4
OUTDIR=$5
TEST=$6
EXE=`basename "$6"`
DESCRIPTION=$7
shift 7
LFLAGS="$SYSROOT_FLAG"
INCLUDEPATH=""
CFLAGS="$SYSROOT_FLAG"
CXXFLAGS="$SYSROOT_FLAG"
MAC_ARCH_CXXFLAGS=""
MAC_ARCH_LFLAGS=""
QMAKE_ARGS=
while [ "$#" -gt 0 ]; do
PARAM=$1
case $PARAM in
-config)
QMAKE_CONFIG="$QMAKE_CONFIG $2"
shift
;;
-framework)
LFLAGS="$LFLAGS -framework \"$2\""
shift
;;
-arch)
MAC_ARCH_CFLAGS="$MAC_ARCH_CFLAGS -arch $2"
MAC_ARCH_CXXFLAGS="$MAC_ARCH_CXXFLAGS -arch $2"
MAC_ARCH_LFLAGS="$MAC_ARCH_LFLAGS -arch $2"
shift
;;
-F*|-m*|-x*)
LFLAGS="$LFLAGS \"$PARAM\""
CFLAGS="$CFLAGS \"$PARAM\""
CXXFLAGS="$CXXFLAGS \"$PARAM\""
;;
-L*|-l*|-pthread)
LFLAGS="$LFLAGS \"$PARAM\""
;;
-I*)
INC=`echo $PARAM | sed -e 's/^-I//'`
INCLUDEPATH="$INCLUDEPATH \"$INC\""
;;
-f*|-D*)
CFLAGS="$CFLAGS \"$PARAM\""
CXXFLAGS="$CXXFLAGS \"$PARAM\""
;;
-Qoption)
# Two-argument form for the Sun Compiler
CFLAGS="$CFLAGS $PARAM \"$2\""
CXXFLAGS="$CXXFLAGS $PARAM \"$2\""
shift
;;
*)
QMAKE_ARGS="$QMAKE_ARGS $PARAM"
;;
esac
shift
done
test -d "$OUTDIR/$TEST" || mkdir -p "$OUTDIR/$TEST"
cd "$OUTDIR/$TEST"
test -r Makefile && $MAKE distclean >/dev/null 2>&1
# Make sure output from possible previous tests is gone
rm -f "$EXE" "${EXE}.exe"
set -- \
"$OUTDIR/bin/qmake" \
-nocache \
-spec "$QMKSPEC" \
"CONFIG+=$QMAKE_CONFIG" \
"CONFIG+=android_app" \
"CONFIG-=debug_and_release app_bundle lib_bundle" \
"LIBS+=$LFLAGS" \
"LIBS+=$MAC_ARCH_LFLAGS" \
"INCLUDEPATH*=$INCLUDEPATH" \
"QMAKE_CFLAGS*=$CFLAGS" \
"QMAKE_CFLAGS+=$MAC_ARCH_CFLAGS" \
"QMAKE_CXXFLAGS*=$CXXFLAGS" \
"QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" \
$QMAKE_ARGS \
"$SRCDIR/$TEST/$EXE.pro" \
-o "$OUTDIR/$TEST/Makefile"
if [ "$VERBOSE" = "yes" ]; then
echo
OUTDIR=$OUTDIR "$@" && $MAKE && SUCCESS=yes
else
OUTDIR=$OUTDIR "$@" >/dev/null 2>&1 && $MAKE >/dev/null 2>&1 && SUCCESS=yes
fi
# done
if [ "$SUCCESS" != "yes" ]; then
[ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION disabled." || echo " no."
exit 1
else
[ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION enabled." || echo " yes."
exit 0
fi