defineReplace(qtLibraryTarget) { unset(LIBRARY_NAME) LIBRARY_NAME = $$1 mac:!static:contains(QT_CONFIG, qt_framework) { QMAKE_FRAMEWORK_BUNDLE_NAME = $$LIBRARY_NAME export(QMAKE_FRAMEWORK_BUNDLE_NAME) } contains(TEMPLATE, .*lib):CONFIG(debug, debug|release) { !debug_and_release|build_pass { mac:RET = $$member(LIBRARY_NAME, 0)_debug else:win32:RET = $$member(LIBRARY_NAME, 0)d } } isEmpty(RET):RET = $$LIBRARY_NAME return($$RET) } 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) { 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} } LIBS += $$LINKAGE export(LIBS) export(INCLUDEPATH) export(QMAKE_FRAMEWORKPATH) export(QMAKE_LFLAGS) return(true) }