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

Last change on this file since 1036 was 846, checked in by Dmitry A. Kuminov, 14 years ago

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

File size: 3.8 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 } else:isEqual(LIB_NAME, QtWebKit) {
53 # Needed for because relative inclusion problem in toolchain
54 INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtXmlPatterns
55 INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtNetwork
56 TARGET.CAPABILITY *= NetworkServices
57 isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
58 } else:isEqual(LIB_NAME, QtXmlPatterns) {
59 # Needed for #include <QtXmlPatterns/QtXmlPatterns> because relative inclusion problem in toolchain
60 INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtNetwork
61 } else:isEqual(LIB_NAME, QtNetwork) {
62 TARGET.CAPABILITY *= NetworkServices
63 } else:isEqual(LIB_NAME, QtDeclarative) {
64 TARGET.CAPABILITY *= NetworkServices
65 isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
66 }
67 export(TARGET.EPOCHEAPSIZE)
68 export(TARGET.CAPABILITY)
69 }
70 isEmpty(LINKAGE) {
71 if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
72 win32|os2:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d
73 mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug
74 }
75 isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}
76 }
77 !isEmpty(QMAKE_LSB) {
78 QMAKE_LFLAGS *= --lsb-libpath=$$$$QMAKE_LIBDIR_QT
79 QMAKE_LFLAGS *= -L/opt/lsb/lib
80 QMAKE_LFLAGS *= --lsb-shared-libs=$${LIB_NAME}$${QT_LIBINFIX}
81 }
82 LIBS += $$LINKAGE
83 export(LIBS)
84 export(INCLUDEPATH)
85 export(QMAKE_FRAMEWORKPATH)
86 export(QMAKE_LFLAGS)
87 return(true)
88}
89
90# variable, default
91defineTest(qtPrepareTool) {
92 isEmpty($$1) {
93 !isEmpty(QT_BUILD_TREE):$$1 = $$QT_BUILD_TREE/bin/$$2
94 else:$$1 = $$[QT_INSTALL_BINS]/$$2
95 }
96 $$1 ~= s,[/\\\\],$$QMAKE_DIR_SEP,
97 contains(QMAKE_HOST.os, Windows)|os2:!contains($$1, .*\\.exe$):$$1 = $$eval($$1).exe
98 export($$1)
99}
Note: See TracBrowser for help on using the repository browser.