source: trunk/src/qbase.pri@ 568

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

trunk: Merged in qt 4.6.1 sources.

File size: 6.3 KB
Line 
1isEmpty(TARGET):error(You must set TARGET before include()'ing $${_FILE_})
2INCLUDEPATH *= $$QMAKE_INCDIR_QT/$$TARGET #just for today to have some compat
3!isEmpty(RCC_DIR): INCLUDEPATH += $$RCC_DIR
4isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700
5TEMPLATE = lib
6
7include(qt_targets.pri)
8
9mac:!contains(QMAKE_EXT_C, .mm):QMAKE_EXT_C += .mm
10
11#load up the headers info
12CONFIG += qt_install_headers
13HEADERS_PRI = $$QT_BUILD_TREE/include/$$TARGET/headers.pri
14include($$HEADERS_PRI, "", true)|clear(HEADERS_PRI)
15
16#version overriding
17win32|os2 {
18 #because libnetwork.pro could be qmake'd (qmade?) before libqcore.pro we
19 #need to override the version of libq* in all other libq*'s just to be
20 #sure the same version is used
21 VERSIONS_LIST = $$split(VERSION, ".")
22 QT_LIBS_OVERRIDE = $$member(VERSIONS_LIST, 0)
23 for(lib, $$list(qtcore qtgui qtnetwork qtxml qtopengl qtsql qt3support)) {
24 eval(QMAKE_$${upper($$lib)}_VERSION_OVERRIDE = $$QT_LIBS_OVERRIDE)
25 eval(QMAKE_$${upper($$lib)}D_VERSION_OVERRIDE = $$QT_LIBS_OVERRIDE)
26 }
27}
28
29#other
30DESTDIR = $$QMAKE_LIBDIR_QT
31os2|win32:!wince*:DLLDESTDIR = $$[QT_INSTALL_PREFIX]/bin
32
33CONFIG += qt warn_on depend_includepath
34CONFIG += qmake_cache target_qt
35CONFIG -= fix_output_dirs
36win32|mac:!macx-xcode:CONFIG += debug_and_release
37linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
38
39contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
40unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
41contains(QT_CONFIG, largefile):CONFIG += largefile
42
43#mac frameworks
44mac:!static:contains(QT_CONFIG, qt_framework) {
45 #QMAKE_FRAMEWORK_VERSION = 4.0
46 CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework
47 CONFIG(debug, debug|release) {
48 !build_pass:CONFIG += build_all
49 } else { #release
50 !debug_and_release|build_pass {
51 CONFIG -= qt_install_headers #no need to install these as well
52 FRAMEWORK_HEADERS.version = Versions
53 FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES
54 FRAMEWORK_HEADERS.path = Headers
55 equals(TARGET, QtCore) {
56 #headers generated by configure
57 !contains(FRAMEWORK_HEADERS.files, .*/qconfig.h) {
58 FRAMEWORK_HEADERS.files *= $$QT_BUILD_TREE/src/corelib/global/qconfig.h
59 }
60 }
61 }
62 QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
63 }
64}
65
66mac {
67 CONFIG += explicitlib
68 macx-g++ {
69 QMAKE_CFLAGS += -fconstant-cfstrings
70 QMAKE_CXXFLAGS += -fconstant-cfstrings
71 }
72}
73
74win32:!shared|os2:!shared:CONFIG += static
75
76win32-borland {
77 mng:QMAKE_CFLAGS_WARN_ON += -w-par
78 mng:QMAKE_CXXFLAGS_WARN_ON += -w-par
79 # Keep the size of the .tds file for the Qt library smaller than
80 # 34 Mbytes to avoid linking problems
81 QMAKE_CFLAGS_DEBUG += -vi -y-
82 QMAKE_CXXFLAGS_DEBUG += -vi -y-
83}
84
85win32|os2 {
86 CONFIG += zlib
87 INCLUDEPATH += tmp
88 !static: DEFINES+=QT_MAKEDLL
89}
90symbian {
91 shared {
92 DEFINES+=QT_MAKEDLL
93 TARGET.CAPABILITY = All -Tcb
94
95 defBlock = \
96 "$${LITERAL_HASH}ifdef WINSCW" \
97 "DEFFILE ../s60installs/bwins/$${TARGET}.def" \
98 "$${LITERAL_HASH}elif defined EABI" \
99 "DEFFILE ../s60installs/eabi/$${TARGET}.def" \
100 "$${LITERAL_HASH}endif"
101
102 contains(QT_CONFIG, private_tests) {
103 #When building autotest configuration, there are extra exports from
104 #the Qt DLLs, which we don't want in the frozen DEF files.
105 MMP_RULES += EXPORTUNFROZEN
106 } else {
107 #When building without autotests, DEF files are used by default.
108 #This is to maintain binary compatibility with previous releases.
109
110 #with defBlock enabled, removed exported symbols are treated as errors
111 #and there is binary compatibility between successive builds.
112 #with defBlock disabled, binary compatibility is broken every time you build
113 MMP_RULES += defBlock
114
115 #with EXPORTUNFROZEN enabled, new exports are included in the dll without
116 #needing to run abld freeze, however binary compatibility is only maintained
117 #for symbols that are frozen (and only if defBlock is also enabled)
118 #the downside of EXPORTUNFROZEN is that the linker gets run twice
119 #MMP_RULES += EXPORTUNFROZEN
120 }
121 }
122 load(armcc_warnings)
123}
124win32-borland:INCLUDEPATH += kernel
125
126aix-g++* {
127 QMAKE_CFLAGS += -mminimal-toc
128 QMAKE_CXXFLAGS += -mminimal-toc
129}
130
131embedded {
132 EMBEDDED_H = $$EMBEDDED_CPP
133}
134
135DEPENDPATH += ;$$NETWORK_H;$$KERNEL_H;$$WIDGETS_H;$$SQL_H;$$TABLE_H;$$DIALOGS_H;
136DEPENDPATH += $$ICONVIEW_H;$$OPENGL_H;$$THREAD_H;$$TOOLS_H;$$CODECS_H;
137DEPENDPATH += $$WORKSPACE_H;$$XML_H;$$STYLES_H;$$COMPAT_H
138embedded:DEPENDPATH += ;$$EMBEDDED_H
139
140!static:PRL_EXPORT_DEFINES += QT_SHARED
141
142#install directives
143include(qt_install.pri)
144
145unix:!symbian {
146 CONFIG += create_libtool create_pc explicitlib
147 QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS]
148 QMAKE_PRL_LIBDIR = $$[QT_INSTALL_LIBS]
149 QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS]
150 QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET
151 QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS]
152 QMAKE_PKGCONFIG_DESTDIR = pkgconfig
153 include_replace.match = $$QMAKE_INCDIR_QT
154 include_replace.replace = $$[QT_INSTALL_HEADERS]
155 lib_replace.match = $$QMAKE_LIBDIR_QT
156 lib_replace.replace = $$[QT_INSTALL_LIBS]
157 prefix_replace.match = $$QT_BUILD_TREE
158 prefix_replace.replace = $$[QT_INSTALL_PREFIX]
159 QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
160 QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace
161 QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace prefix_replace
162}
163
164contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE
165DEFINES *= QT_NO_CAST_TO_ASCII QT_ASCII_CAST_WARNINGS
166contains(QT_CONFIG, qt3support):DEFINES *= QT3_SUPPORT
167DEFINES *= QT_MOC_COMPAT #we don't need warnings from calling moc code in our generated code
168
169TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
170!isEmpty(TARGET_SHORT):TARGET_SHORT = $$qtLibraryTarget($$TARGET_SHORT$$QT_LIBINFIX) #do this towards the end
171
172moc_dir.name = moc_location
173moc_dir.variable = QMAKE_MOC
174
175uic_dir.name = uic_location
176uic_dir.variable = QMAKE_UIC
177
178QMAKE_PKGCONFIG_VARIABLES += moc_dir uic_dir
179
180win32:DEFINES+=_USE_MATH_DEFINES
Note: See TracBrowser for help on using the repository browser.