source: trunk/mkspecs/features/qt_functions.prf@ 769

Last change on this file since 769 was 769, checked in by Dmitry A. Kuminov, 15 years ago

trunk: Merged in qt 4.6.3 sources from branches/vendor/nokia/qt.

File size: 3.3 KB
Line 
1defineReplace(qtLibraryTarget) {
2 unset(LIBRARY_NAME)
3 LIBRARY_NAME = $$1
4 mac:!static:contains(QT_CONFIG, qt_framework) {
5 QMAKE_FRAMEWORK_BUNDLE_NAME = $$LIBRARY_NAME
6 export(QMAKE_FRAMEWORK_BUNDLE_NAME)
7 }
8 contains(TEMPLATE, .*lib):CONFIG(debug, debug|release) {
9 !debug_and_release|build_pass {
10 mac:RET = $$member(LIBRARY_NAME, 0)_debug
11 else:win32|os2:RET = $$member(LIBRARY_NAME, 0)d
12 }
13 }
14 isEmpty(RET):RET = $$LIBRARY_NAME
15 return($$RET)
16}
17
18defineTest(qtAddLibrary) {
19 INCLUDEPATH -= $$QMAKE_INCDIR_QT/$$1
20 INCLUDEPATH = $$QMAKE_INCDIR_QT/$$1 $$INCLUDEPATH
21
22 LIB_NAME = $$1
23 unset(LINKAGE)
24 mac {
25 CONFIG(qt_framework, qt_framework|qt_no_framework) { #forced
26 QMAKE_FRAMEWORKPATH *= $${QMAKE_LIBDIR_QT}
27 FRAMEWORK_INCLUDE = $$QMAKE_LIBDIR_QT/$${LIB_NAME}.framework/Headers
28 !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
29 INCLUDEPATH -= $$FRAMEWORK_INCLUDE
30 INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
31 }
32 LINKAGE = -framework $${LIB_NAME}$${QT_LIBINFIX}
33 } else:!qt_no_framework { #detection
34 for(frmwrk_dir, $$list($$QMAKE_LIBDIR_QT $$QMAKE_LIBDIR $$(DYLD_FRAMEWORK_PATH) /Library/Frameworks)) {
35 exists($${frmwrk_dir}/$${LIB_NAME}.framework) {
36 QMAKE_FRAMEWORKPATH *= $${frmwrk_dir}
37 FRAMEWORK_INCLUDE = $$frmwrk_dir/$${LIB_NAME}.framework/Headers
38 !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
39 INCLUDEPATH -= $$FRAMEWORK_INCLUDE
40 INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
41 }
42 LINKAGE = -framework $${LIB_NAME}
43 break()
44 }
45 }
46 }
47 }
48 symbian {
49 isEqual(LIB_NAME, QtGui) {
50 # Needed for #include <QtGui> because qs60mainapplication.h includes aknapp.h
51 INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE
52 }
53 isEqual(LIB_NAME, QtWebKit) {
54 # Needed for #include <QtXmlPatterns/QtXmlPatterns> because relative inclusion problem in toolchain
55 INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtXmlPatterns
56 }
57 isEqual(LIB_NAME, QtXmlPatterns) {
58 # Needed for #include <QtXmlPatterns/QtXmlPatterns> because relative inclusion problem in toolchain
59 INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtNetwork
60 }
61 }
62 isEmpty(LINKAGE) {
63 if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
64 win32|os2:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d
65 mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug
66 }
67 isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}
68 }
69 !isEmpty(QMAKE_LSB) {
70 QMAKE_LFLAGS *= --lsb-libpath=$$$$QMAKE_LIBDIR_QT
71 QMAKE_LFLAGS *= -L/opt/lsb/lib
72 QMAKE_LFLAGS *= --lsb-shared-libs=$${LIB_NAME}$${QT_LIBINFIX}
73 }
74 LIBS += $$LINKAGE
75 export(LIBS)
76 export(INCLUDEPATH)
77 export(QMAKE_FRAMEWORKPATH)
78 export(QMAKE_LFLAGS)
79 return(true)
80}
81
82# variable, default
83defineTest(qtPrepareTool) {
84 isEmpty($$1) {
85 !isEmpty(QT_BUILD_TREE):$$1 = $$QT_BUILD_TREE/bin/$$2
86 else:$$1 = $$[QT_INSTALL_BINS]/$$2
87 }
88 $$1 ~= s,[/\\\\],$$QMAKE_DIR_SEP,
89 contains(QMAKE_HOST.os, Windows)|os2:!contains($$1, .*\\.exe$):$$1 = $$eval($$1).exe
90 export($$1)
91}
Note: See TracBrowser for help on using the repository browser.