qt5base-lts/mkspecs/features/device_config.prf
Donald Carr f0c36dd03c Introduce fallback for general cross compilation
The current approach of forcing people to pass the fully qualified prefix
of their toolchain to the configure script is verbose and something of a
chore for people who use the same toolchain to target several devices.

This allows you to set a single toolchain for use with all Qt targets via:

qmake -set CROSS_COMPILE foo

You can still explicitly override this toolchain, as originally mandated,
with the configure time device-option arguments.

Change-Id: Ibd3d940bb08fa09499533f9c661557e337a8421a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-16 19:00:04 +02:00

44 lines
1.1 KiB
Plaintext

# Load generated qdevice.pri
exists($$_QMAKE_CACHE_) {
# set in default_pre, so it's the first place to check for qdevice.pri
DIR = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE)
!isEmpty(DIR):DEVICE_PRI = $$DIR/mkspecs/qdevice.pri
}
isEmpty(DEVICE_PRI) {
# OUTDIR environ is set by configure (arch detection) and compile.test
DIR = $$(OUTDIR)
!isEmpty(DIR):DEVICE_PRI = $$DIR/mkspecs/qdevice.pri
}
isEmpty(DEVICE_PRI) {
DIR = $$[QT_HOST_DATA]
!isEmpty(DIR):DEVICE_PRI = $$DIR/mkspecs/qdevice.pri
}
isEmpty(DEVICE_PRI) {
error(Could not locate qdevice.pri)
}
exists($$DEVICE_PRI):include($$DEVICE_PRI)
isEmpty(CROSS_COMPILE) {
#this variable can be persisted via qmake -set CROSS_COMPILE /foo
CROSS_COMPILE = $$[CROSS_COMPILE]
}
unset(DEVICE_PRI)
unset(DIR)
# Provide a function to be used by mkspecs
defineTest(deviceSanityCheckCompiler) {
# Check if the binary exists, e.g. with an absolute path
exists($$QMAKE_CXX):return()
# Check if the compiler is in the path
system("which $$QMAKE_CXX > /dev/null"):return()
error("Compiler $$QMAKE_CXX not found")
}