mirror of
https://github.com/libretro/RetroArch.git
synced 2024-12-12 19:21:33 +00:00
e42c21321b
This moves the check for a Qt5 moc into its own file, qb.moc.sh which is executed at the end of the script to avoid the direct dependency on pkg-config. Now instead it depends on the QT5CORE_CFLAGS and QT5CORE_LIBS variables set in config.lib.sh. These should always be set if HAVE_QT=yes. This also creates a new qb.make.sh file to ensure that the config.mk and config.h files are created at the end of the configure script.
56 lines
1.1 KiB
Bash
56 lines
1.1 KiB
Bash
TEMP_MOC=.moc.h
|
|
TEMP_CPP=.moc.cpp
|
|
|
|
# Checking for working moc
|
|
cat << EOF > "$TEMP_MOC"
|
|
#include <QTimeZone>
|
|
class Test : public QObject
|
|
{
|
|
public:
|
|
Q_OBJECT
|
|
QTimeZone tz;
|
|
};
|
|
EOF
|
|
|
|
HAVE_MOC=no
|
|
if [ "$HAVE_QT" = "yes" ]; then
|
|
moc_works=0
|
|
if [ "$MOC" ]; then
|
|
"$MOC" -o "$TEMP_CPP" "$TEMP_MOC" >/dev/null 2>&1 &&
|
|
"$CXX" -o "$TEMP_EXE" $(printf %s "$QT5CORE_CFLAGS $QT5CORE_LIBS") \
|
|
-fPIC -c "$TEMP_CPP" >/dev/null 2>&1 &&
|
|
moc_works=1
|
|
else
|
|
for moc in moc-qt5 moc; do
|
|
MOC="$(exists "$moc")" || MOC=""
|
|
if [ "$MOC" ]; then
|
|
"$MOC" -o "$TEMP_CPP" "$TEMP_MOC" >/dev/null 2>&1 ||
|
|
continue
|
|
"$CXX" -o "$TEMP_EXE" \
|
|
$(printf %s "$QT5CORE_CFLAGS $QT5CORE_LIBS") \
|
|
-fPIC -c "$TEMP_CPP" >/dev/null 2>&1 && {
|
|
moc_works=1
|
|
break
|
|
}
|
|
fi
|
|
done
|
|
fi
|
|
|
|
moc_status='does not work'
|
|
if [ "$moc_works" = '1' ]; then
|
|
moc_status='works'
|
|
HAVE_MOC='yes'
|
|
elif [ -z "$MOC" ]; then
|
|
moc_status='not found'
|
|
fi
|
|
|
|
printf %s\\n "Checking for moc ... $MOC $moc_status"
|
|
|
|
if [ "$HAVE_MOC" != 'yes' ]; then
|
|
HAVE_QT='no'
|
|
die : 'Warning: moc not found, Qt companion support will be disabled.'
|
|
fi
|
|
fi
|
|
|
|
rm -f -- "$TEMP_CPP" "$TEMP_EXE" "$TEMP_MOC"
|