path: root/mkspecs/features
diff options
authorBenoît Thébaudeau <>2015-08-28 21:17:19 +0200
committerOswald Buddenhagen <>2015-09-14 09:42:25 +0000
commitfe1ba879610c73075b10f274bba338af53a6bd43 (patch)
tree9c03503107a3fd1ee6bea9dade0c79bfb8a7958b /mkspecs/features
parenta8bc96e9e5d18908d266e3dc614c00f25a0c2013 (diff)
Fix QMAKE_CXX/CROSS_COMPILE verification with ccache
The use of ccache leads to QMAKE_CXX definitions of the form: QMAKE_CXX = $${CCACHE} $${CROSS_COMPILE}g++ The previous test required QMAKE_CXX to be a single valid (absolute or QMAKE_PATH_ENV-relative) path to an existing file, which was not compatible with definitions of QMAKE_CXX like the one above. Fix this by using only the first value in QMAKE_CXX, which usually points to the compiler executable, or to the ccache executable in the above case. Task-number: QTBUG-47951 Change-Id: Iade3136f03493593b067fb7742fb997f92377425 Reviewed-by: Oswald Buddenhagen <>
Diffstat (limited to 'mkspecs/features')
1 files changed, 7 insertions, 2 deletions
diff --git a/mkspecs/features/device_config.prf b/mkspecs/features/device_config.prf
index cd3a0cf8cd..e0383ef530 100644
--- a/mkspecs/features/device_config.prf
+++ b/mkspecs/features/device_config.prf
@@ -19,10 +19,15 @@ defineTest(deviceSanityCheckCompiler) {
else: \
sfx =
+ # Build the compiler filename using the first value in QMAKE_CXX in order to
+ # support tools like ccache, which give QMAKE_CXX values of the form:
+ # ccache <path_to_compiler>
+ compiler = $$first(QMAKE_CXX)$$sfx
# Check if the binary exists with an absolute path. Do this check
# before the CROSS_COMPILE empty check below to allow the mkspec
# to derive the compiler path from other device options.
- exists($$QMAKE_CXX$$sfx):return()
+ exists($$compiler):return()
# Check for possible reasons of failure
# check if CROSS_COMPILE device-option is set
@@ -31,7 +36,7 @@ defineTest(deviceSanityCheckCompiler) {
# Check if QMAKE_CXX points to an executable.
for (dir, QMAKE_PATH_ENV) {
- exists($$dir/$${QMAKE_CXX}$$sfx): \
+ exists($$dir/$${compiler}): \