# HostSpec The location where to install host mkspec
addtask generate_qt_config_file after do_patch before do_configure
+
+qmake5_base_do_configure () {
+ if [ -z "${QMAKE_PROFILES}" ]; then
+ PROFILES="`ls ${S}/*.pro`"
+ else
+ PROFILES="${QMAKE_PROFILES}"
+ bbnote "qmake using profiles: '${QMAKE_PROFILES}'"
+ fi
+
+ if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then
+ AFTER="-after"
+ QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}"
+ bbnote "qmake postvar substitution: '${EXTRA_QMAKEVARS_POST}'"
+ fi
+
+ if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then
+ QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}"
+ bbnote "qmake prevar substitution: '${EXTRA_QMAKEVARS_PRE}'"
+ fi
+
+ CMD="${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} -r $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST"
+ $CMD || die "Error calling $CMD"
+}
# Copyright (C) 2012 O.S. Systems Software LTDA.
-inherit qmake5_base
+inherit qmake5
# Qt5 is dependent on icu for localization
ICU = "icu "
# Existing separate build directory, exists, remove
rm -rf "${B}/*"
fi
+
+ qmake5_base_do_configure
}
do_compile() {
# qtbase is exception, we need to use mkspecs from ${S}
QMAKE_MKSPEC_PATH = "${B}"
-do_configure_append() {
+# another exception is that we need to run bin/qmake, because EffectivePaths are relative to qmake location
+OE_QMAKE_QMAKE_ORIG := "${OE_QMAKE_QMAKE}"
+OE_QMAKE_QMAKE = "bin/qmake"
+
+do_configure() {
+ set_arch
+ set_endian
+
+ # Avoid problems with the linkers, since we want the linker to be g++
+ unset LD
+
+ # Similar logic is in autotools.bbclass
+ if [ -d ${B} -a "${S}" != "${B}" ] ; then
+ # Existing separate build directory, exists, remove
+ rm -rf "${B}/*"
+ fi
+
# we need symlink in path relative to source, because
# EffectivePaths:Prefix is relative to qmake location
if [ ! -e ${B}/bin/qmake ]; then
mkdir ${B}/bin
- ln -sf ${OE_QMAKE_QMAKE} ${B}/bin/qmake
+ ln -sf ${OE_QMAKE_QMAKE_ORIG} ${B}/bin/qmake
fi
${S}/configure -v \
-platform ${OE_QMAKESPEC} \
-xplatform linux-oe-g++ \
${QT_CONFIG_FLAGS}
-
- bin/qmake -r ${OE_QMAKE_DEBUG_OUTPUT} ${S}
+
+ qmake5_base_do_configure
}
do_compile_append() {