summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2016-08-05 17:54:26 +0200
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-08-18 17:10:03 +0000
commit27b03be893be0b50e031cc3588caed081030a977 (patch)
tree60ba138c8e351544b979185595ab49744433761f
parentc8b46d3989ded1368d40e487a141b3cfb3d968ba (diff)
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 <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-rw-r--r--mkspecs/features/qt_configure.prf31
1 files 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)")
}