diff options
author | Liang Qi <liang.qi@qt.io> | 2017-06-19 13:25:11 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-06-19 16:12:34 +0200 |
commit | ce09ef431373f45d14ce0a6e7de24aee3666093d (patch) | |
tree | 7c998b21f02db55e233e7eeb1599663f1c6b51ca /src/plugins/sqldrivers/configure.pri | |
parent | 7ad55ca65f42351e231f31f7a9253ae6eaf1ebb3 (diff) | |
parent | 97eec16e4ff6367c233f8ea6c4a343c286c3a514 (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/corelib/io/qprocess_unix.cpp
src/corelib/io/qprocess_win.cpp
src/plugins/platforms/android/qandroidplatformintegration.h
src/plugins/platforms/windows/qwindowscontext.cpp
src/plugins/platforms/windows/windows.pri
src/tools/uic/cpp/cppwriteinitialization.cpp
src/widgets/doc/src/widgets-and-layouts/gallery.qdoc
Change-Id: I8d0834c77f350ea7540140c2c7f372814afc2d0f
Diffstat (limited to 'src/plugins/sqldrivers/configure.pri')
-rw-r--r-- | src/plugins/sqldrivers/configure.pri | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/src/plugins/sqldrivers/configure.pri b/src/plugins/sqldrivers/configure.pri new file mode 100644 index 0000000000..9fb957291f --- /dev/null +++ b/src/plugins/sqldrivers/configure.pri @@ -0,0 +1,99 @@ +# custom tests + +defineReplace(filterLibraryPath) { + str = $${1} + for (l, QMAKE_DEFAULT_LIBDIRS): \ + str -= "-L$$l" + + return($$str) +} + +defineTest(qtConfLibrary_psqlConfig) { + pg_config = $$config.input.psql_config + isEmpty(pg_config): \ + pg_config = $$qtConfFindInPath("pg_config") + !win32:!isEmpty(pg_config) { + qtRunLoggedCommand("$$pg_config --libdir", libdir)|return(false) + qtRunLoggedCommand("$$pg_config --includedir", includedir)|return(false) + libdir -= $$QMAKE_DEFAULT_LIBDIRS + libs = + !isEmpty(libdir): libs += "-L$$libdir" + libs += "-lpq" + $${1}.libs = "$$val_escape(libs)" + includedir -= $$QMAKE_DEFAULT_INCDIRS + $${1}.includedir = "$$val_escape(includedir)" + export($${1}.libs) + export($${1}.includedir) + return(true) + } + qtLog("pg_config not found.") + return(false) +} + +defineTest(qtConfLibrary_psqlEnv) { + # Respect PSQL_LIBS if set + PSQL_LIBS = $$getenv(PSQL_LIBS) + !isEmpty(PSQL_LIBS) { + $${1}.libs = $$PSQL_LIBS + export($${1}.libs) + } else { + !qtConfLibrary_inline($$1): \ + return(false) + } + return(true) +} + +defineTest(qtConfLibrary_mysqlConfig) { + mysql_config = $$config.input.mysql_config + isEmpty(mysql_config): \ + mysql_config = $$qtConfFindInPath("mysql_config") + !isEmpty(mysql_config) { + qtRunLoggedCommand("$$mysql_config --version", version)|return(false) + version = $$split(version, '.') + version = $$first(version) + isEmpty(version)|lessThan(version, 4): return(false)] + + # query is either --libs or --libs_r + query = $$eval($${1}.query) + qtRunLoggedCommand("$$mysql_config $$query", libs)|return(false) + qtRunLoggedCommand("$$mysql_config --include", includedir)|return(false) + eval(libs = $$libs) + libs = $$filterLibraryPath($$libs) + # -rdynamic should not be returned by mysql_config, but is on RHEL 6.6 + libs -= -rdynamic + equals($${1}.cleanlibs, true) { + for(l, libs) { + # Drop all options besides the -L one and the -lmysqlclient one + # so we don't unnecessarily link to libs like OpenSSL + contains(l, "^(-L|-lmysqlclient).*"): cleanlibs += $$l + } + libs = $$cleanlibs + } + $${1}.libs = "$$val_escape(libs)" + eval(rawincludedir = $$includedir) + rawincludedir ~= s/^-I//g + includedir = + for (id, rawincludedir): \ + includedir += $$clean_path($$id) + includedir -= $$QMAKE_DEFAULT_INCDIRS + $${1}.includedir = "$$val_escape(includedir)" + export($${1}.libs) + export($${1}.includedir) + return(true) + } + qtLog("mysql_config not found.") + return(false) +} + +defineTest(qtConfLibrary_sybaseEnv) { + libs = + sybase = $$getenv(SYBASE) + !isEmpty(sybase): \ + libs += "-L$${sybase}/lib" + libs += $$getenv(SYBASE_LIBS) + !isEmpty(libs) { + $${1}.libs = "$$val_escape(libs)" + export($${1}.libs) + } + return(true) +} |