From 27b03be893be0b50e031cc3588caed081030a977 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 5 Aug 2016 17:54:26 +0200 Subject: Add support for locating headers and libs in qt_configure So far we only had support for locating executables. Also support locating header files and libraries. Change-Id: Ib2a83e8338d2da975204089d84c608061a081f29 Reviewed-by: Lars Knoll Reviewed-by: Oswald Buddenhagen --- mkspecs/features/qt_configure.prf | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index 0cb5c53fbe..674f59044c 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -275,15 +275,19 @@ defineTest(qtConfTest_linkerSupportsFlag) { return($$qtConfToolchainSupportsFlag($$LFLAGS "-Wl,$$flag")) } -defineReplace(qtConfFindInPath) { - ensurePathEnv() - for (dir, QMAKE_PATH_ENV) { +defineReplace(qtConfFindInPathList) { + for (dir, 2) { exists("$$dir/$${1}"): \ return("$$dir/$${1}") } return() } +defineReplace(qtConfFindInPath) { + ensurePathEnv() + return($$qtConfFindInPathList($$1, $$QMAKE_PATH_ENV)) +} + defineReplace(qtConfPkgConfigEnv) { env = !isEmpty(PKG_CONFIG_SYSROOT_DIR): env = "$${SETENV_PFX}PKG_CONFIG_SYSROOT_DIR=$${PKG_CONFIG_SYSROOT_DIR}$${SETENV_SFX} " @@ -607,6 +611,27 @@ defineTest(qtConfTest_compile) { return(false) } +defineTest(qtConfTest_files) { + for(i, $${1}.files._KEYS_) { + f = $$eval($${1}.files.$${i}) + qtLog("Searching for file $${f}.") + contains(f, ".*\.h") { + file = $$qtConfFindInPathList($$f, $$EXTRA_INCLUDEPATH $$QMAKE_DEFAULT_INCDIRS) + } else: contains(f, ".*\.(lib|so|a)") { + file = $$qtConfFindInPathList($$f, $$EXTRA_LIBDIR $$QMAKE_DEFAULT_LIBDIRS) + } else { + # assume we're looking for an executable + file = $$qtConfFindInPath($$f) + } + isEmpty(file) { + qtLog(" Not found."); + return(false) + } + qtLog(" Found at $${file}.") + } + return(true) +} + defineTest(logn) { log("$${1}$$escape_expand(\\n)") } -- cgit v1.2.3