12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 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.
- Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
- ---
- mkspecs/features/device_config.prf | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
- diff --git a/mkspecs/features/device_config.prf b/mkspecs/features/device_config.prf
- index cd3a0cf..eee4ac6 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.
- ensurePathEnv()
- for (dir, QMAKE_PATH_ENV) {
- - exists($$dir/$${QMAKE_CXX}$$sfx): \
- + exists($$dir/$${compiler}): \
- return()
- }
-
|