summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_functions.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/qt_functions.prf')
-rw-r--r--mkspecs/features/qt_functions.prf97
1 files changed, 24 insertions, 73 deletions
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index ee1647f481..dcd374b2ad 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -22,53 +22,17 @@ defineReplace(qtLibraryTarget) {
}
defineTest(qtAddLibrary) {
- INCLUDEPATH -= $$QMAKE_INCDIR_QT/$$1
- INCLUDEPATH = $$QMAKE_INCDIR_QT/$$1 $$INCLUDEPATH
-
- LIB_NAME = $$1
- unset(LINKAGE)
- mac {
- CONFIG(qt_framework, qt_framework|qt_no_framework) { #forced
- QMAKE_FRAMEWORKPATH *= $${QMAKE_LIBDIR_QT}
- FRAMEWORK_INCLUDE = $$QMAKE_LIBDIR_QT/$${LIB_NAME}.framework/Headers
- !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
- INCLUDEPATH -= $$FRAMEWORK_INCLUDE
- INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
- }
- LINKAGE = -framework $${LIB_NAME}$${QT_LIBINFIX}
- } else:!qt_no_framework { #detection
- for(frmwrk_dir, $$list($$QMAKE_LIBDIR_QT $$QMAKE_LIBDIR $$(DYLD_FRAMEWORK_PATH) /Library/Frameworks)) {
- exists($${frmwrk_dir}/$${LIB_NAME}.framework) {
- QMAKE_FRAMEWORKPATH *= $${frmwrk_dir}
- FRAMEWORK_INCLUDE = $$frmwrk_dir/$${LIB_NAME}.framework/Headers
- !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
- INCLUDEPATH -= $$FRAMEWORK_INCLUDE
- INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
- }
- LINKAGE = -framework $${LIB_NAME}
- break()
- }
- }
- }
- }
- isEmpty(LINKAGE) {
- if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
- win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d
- mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug
- }
- isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}
- }
- !isEmpty(QMAKE_LSB) {
- QMAKE_LFLAGS *= --lsb-libpath=$$$$QMAKE_LIBDIR_QT
- QMAKE_LFLAGS *= -L/opt/lsb/lib
- QMAKE_LFLAGS *= --lsb-shared-libs=$${LIB_NAME}$${QT_LIBINFIX}
+ warning("qtAddLibrary() is deprecated. Use qtAddModule() or QT+= instead.")
+
+ # Reverse-engineer the module name from the library name.
+ for(var, $$list($$find($$list($$enumerate_vars()), ^QT\\.[^.]+\\.name$))) {
+ isEqual($$var, $$1) {
+ var ~= s,^QT\\.([^.]+)\\.name$,\\1,
+ qtAddModule($$var):return(true):break()
+ return(false):break() # Yes, the break is insanity. But necessary.
+ }
}
- LIBS += $$LINKAGE
- export(LIBS)
- export(INCLUDEPATH)
- export(QMAKE_FRAMEWORKPATH)
- export(QMAKE_LFLAGS)
- return(true)
+ error("No module matching library '$$1' found.")
}
defineTest(qtAddModule) {
@@ -81,8 +45,12 @@ defineTest(qtAddModule) {
CONFIG += $$eval(QT.$${1}.CONFIG)
DEFINES += $$eval(QT.$${1}.DEFINES)
- INCLUDEPATH -= $$MODULE_INCLUDES
- INCLUDEPATH = $$MODULE_INCLUDES $$INCLUDEPATH
+ unix {
+ MODULE_INCLUDES -= /usr/include /usr/local/include
+ MODULE_LIBS -= /usr/lib /usr/local/lib
+ }
+
+ INCLUDEPATH *= $$MODULE_INCLUDES
isEqual(2, UsePrivate) { # Tests function parameter 2 ($$2) being equal to 'UsePrivate'
# This adds both
# <module privates include path>/
@@ -90,33 +58,17 @@ defineTest(qtAddModule) {
# since we have code using both #include <QtCore/private/foo> and #include <private/foo>
# Both need to be supported with the new private includes structure
MODULE_INCLUDES_PRIVATES = $$eval(QT.$${1}.private_includes)
- INCLUDEPATH -= $$MODULE_INCLUDES_PRIVATES $$MODULE_INCLUDES_PRIVATES/$$MODULE_NAME
- INCLUDEPATH = $$MODULE_INCLUDES_PRIVATES $$MODULE_INCLUDES_PRIVATES/$$MODULE_NAME $$INCLUDEPATH
+ INCLUDEPATH += $$MODULE_INCLUDES_PRIVATES $$MODULE_INCLUDES_PRIVATES/$$MODULE_NAME
}
unset(LINKAGE)
mac {
!contains(MODULE_CONFIG,staticlib):CONFIG(qt_framework, qt_framework|qt_no_framework) { #forced
QMAKE_FRAMEWORKPATH *= $${MODULE_LIBS}
- FRAMEWORK_INCLUDE = $$MODULE_INCLUDES.framework/Headers
- !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
- INCLUDEPATH -= $$FRAMEWORK_INCLUDE
- INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
- }
+ FRAMEWORK_INCLUDE = $${MODULE_LIBS}.framework/Headers
+ !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE): \
+ INCLUDEPATH *= $$FRAMEWORK_INCLUDE
LINKAGE = -framework $${MODULE_NAME}$${QT_LIBINFIX}
- } else:!qt_no_framework { #detection
- for(frmwrk_dir, $$list($$MODULE_LIBS $$QMAKE_LIBDIR $$(DYLD_FRAMEWORK_PATH) /Library/Frameworks)) {
- exists($${frmwrk_dir}/$${MODULE_NAME}.framework) {
- QMAKE_FRAMEWORKPATH *= $${frmwrk_dir}
- FRAMEWORK_INCLUDE = $$frmwrk_dir/$${MODULE_NAME}.framework/Headers
- !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
- INCLUDEPATH -= $$FRAMEWORK_INCLUDE
- INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
- }
- LINKAGE = -framework $${MODULE_NAME}
- break()
- }
- }
}
}
@@ -131,10 +83,10 @@ defineTest(qtAddModule) {
}
isEmpty(LINKAGE) {
- # Make sure we can link to uninstalled libraries
!isEmpty(MODULE_LIBS) {
- !isEqual(MODULE_LIBS, $$[QT_INSTALL_LIBS]) { ### XXX
- QMAKE_LIBDIR *= $$MODULE_LIBS
+ QMAKE_LIBDIR *= $$MODULE_LIBS
+ !isEqual(MODULE_LIBS, $$[QT_INSTALL_LIBS]) {
+ # Make sure we can link to uninstalled libraries
unix:!mac:QMAKE_LFLAGS *= "-Wl,-rpath-link,$$MODULE_LIBS"
}
}
@@ -166,8 +118,7 @@ defineTest(qtAddModule) {
# variable, default
defineTest(qtPrepareTool) {
- MODBASE = $$[QT_HOST_BINS]
- !isEmpty(QT_BUILD_TREE):MODBASE = $$QT_BUILD_TREE/bin
+ MODBASE = $$[QT_HOST_BINS/get]
count(ARGS, 2, greaterThan) {
isEmpty(QT.$${3}.bins):warning("No QT.$${3}.bins, module path ignored for qtPrepareTool($$1, $$2, $$3)")
else:MODBASE = $$eval(QT.$${3}.bins)