source: trunk/src/qbase.pri@ 1168

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

Use a common file for VERSION definition.

This is much better than spreading this information over five
different files (three of which are forgotten and haven't been
updated since Qt 4.3.0).

This fixes a r1050 regression that caused Designer DLLs to
lose the major version suffix and completely supersedes r385
(still fixing what r1050 fixed).

File size: 7.2 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
3isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700
4TEMPLATE = lib
5mac:!contains(QMAKE_EXT_C, .mm):QMAKE_EXT_C += .mm
6
7#load up the headers info
8CONFIG += qt_install_headers
9HEADERS_PRI = $$QT_BUILD_TREE/include/$$TARGET/headers.pri
10include($$HEADERS_PRI, "", true)|clear(HEADERS_PRI)
11
12#version overriding
13win32|os2 {
14 #because libnetwork.pro could be qmake'd (qmade?) before libqcore.pro we
15 #need to override the version of libq* in all other libq*'s just to be
16 #sure the same version is used
17 VERSIONS_LIST = $$split(VERSION, ".")
18 QT_LIBS_OVERRIDE = $$member(VERSIONS_LIST, 0)
19 for(lib, $$list(qtcore qtgui qtnetwork qtxml qtopengl qtsql qt3support)) {
20 eval(QMAKE_$${upper($$lib)}_VERSION_OVERRIDE = $$QT_LIBS_OVERRIDE)
21 eval(QMAKE_$${upper($$lib)}D_VERSION_OVERRIDE = $$QT_LIBS_OVERRIDE)
22 }
23}
24
25#other
26DESTDIR = $$QMAKE_LIBDIR_QT
27os2|win32:!wince*:DLLDESTDIR = $$QT_BUILD_TREE/bin
28
29CONFIG += qt warn_on depend_includepath
30CONFIG += qmake_cache target_qt
31CONFIG -= fix_output_dirs
32win32|mac:!macx-xcode:CONFIG += debug_and_release
33linux*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
34
35contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
36unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
37contains(QT_CONFIG, largefile):CONFIG += largefile
38
39#mac frameworks
40mac:!static:contains(QT_CONFIG, qt_framework) {
41 #QMAKE_FRAMEWORK_VERSION = 4.0
42 CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework
43 CONFIG(debug, debug|release) {
44 !build_pass:CONFIG += build_all
45 } else { #release
46 !debug_and_release|build_pass {
47 CONFIG -= qt_install_headers #no need to install these as well
48 FRAMEWORK_HEADERS.version = Versions
49 FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES
50 FRAMEWORK_HEADERS.path = Headers
51 equals(TARGET, QtCore) {
52 #headers generated by configure
53 !contains(FRAMEWORK_HEADERS.files, .*/qconfig.h) {
54 FRAMEWORK_HEADERS.files *= $$QT_BUILD_TREE/src/corelib/global/qconfig.h
55 }
56 }
57 }
58 QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
59 }
60}
61
62mac {
63 CONFIG += explicitlib
64 macx-g++ {
65 QMAKE_CFLAGS += -fconstant-cfstrings
66 QMAKE_CXXFLAGS += -fconstant-cfstrings
67 }
68}
69
70win32:!shared|os2:!shared:CONFIG += static
71
72win32-borland {
73 mng:QMAKE_CFLAGS_WARN_ON += -w-par
74 mng:QMAKE_CXXFLAGS_WARN_ON += -w-par
75 # Keep the size of the .tds file for the Qt library smaller than
76 # 34 Mbytes to avoid linking problems
77 QMAKE_CFLAGS_DEBUG += -vi -y-
78 QMAKE_CXXFLAGS_DEBUG += -vi -y-
79}
80
81win32|os2 {
82 INCLUDEPATH += tmp
83 !static: DEFINES+=QT_MAKEDLL
84}
85symbian {
86 shared {
87 DEFINES+=QT_MAKEDLL
88 TARGET.CAPABILITY = All -Tcb
89
90 # When building without autotests, DEF files are used by default.
91 # This is to maintain binary compatibility with previous releases.
92 # To explicitly disable DEF files usage, eg. when lots of code churn is
93 # going on, and functions may be added and removed before shipping,
94 # configure with -no-usedeffiles
95 # WARNING - disabling DEF files *will* break BC with previous released versions
96 # of Qt, and the only compatibility will be between this build of Qt and anything
97 # built in this exact environment. *Never* use this when building a version
98 # for release.
99 contains(CONFIG, def_files) {
100 DEF_FILE=../s60installs
101 }
102 }
103 load(armcc_warnings)
104
105 # workaround for the fact that some of our required includes in Symbian^3
106 # now depend upon files in epoc32/include/platform
107 INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE
108}
109win32-borland:INCLUDEPATH += kernel
110
111aix-g++* {
112 QMAKE_CFLAGS += -mminimal-toc
113 QMAKE_CXXFLAGS += -mminimal-toc
114}
115
116embedded {
117 EMBEDDED_H = $$EMBEDDED_CPP
118}
119
120DEPENDPATH += ;$$NETWORK_H;$$KERNEL_H;$$WIDGETS_H;$$SQL_H;$$TABLE_H;$$DIALOGS_H;
121DEPENDPATH += $$ICONVIEW_H;$$OPENGL_H;$$THREAD_H;$$TOOLS_H;$$CODECS_H;
122DEPENDPATH += $$WORKSPACE_H;$$XML_H;$$STYLES_H;$$COMPAT_H
123embedded:DEPENDPATH += ;$$EMBEDDED_H
124
125!static:PRL_EXPORT_DEFINES += QT_SHARED
126
127#install directives
128include(qt_install.pri)
129
130unix:!symbian {
131 CONFIG += create_libtool create_pc explicitlib
132 QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS]
133 QMAKE_PRL_LIBDIR = $$[QT_INSTALL_LIBS]
134 QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS]
135 QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET
136 QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS]
137 QMAKE_PKGCONFIG_DESTDIR = pkgconfig
138 include_replace.match = $$QMAKE_INCDIR_QT
139 include_replace.replace = $$[QT_INSTALL_HEADERS]
140 lib_replace.match = $$QMAKE_LIBDIR_QT
141 lib_replace.replace = $$[QT_INSTALL_LIBS]
142 prefix_replace.match = $$QT_BUILD_TREE
143 prefix_replace.replace = $$[QT_INSTALL_PREFIX]
144 QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
145 QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace
146 QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace prefix_replace
147}
148
149contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE
150DEFINES *= QT_NO_CAST_TO_ASCII QT_ASCII_CAST_WARNINGS
151contains(QT_CONFIG, qt3support):DEFINES *= QT3_SUPPORT
152DEFINES *= QT_MOC_COMPAT #we don't need warnings from calling moc code in our generated code
153DEFINES *= QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION
154
155TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
156!isEmpty(TARGET_SHORT):TARGET_SHORT = $$qtLibraryTarget($$TARGET_SHORT$$QT_LIBINFIX) #do this towards the end
157
158qtPrepareTool(QMAKE_LUPDATE, lupdate)
159qtPrepareTool(QMAKE_LRELEASE, lrelease)
160
161moc_dir.name = moc_location
162moc_dir.variable = QMAKE_MOC
163
164uic_dir.name = uic_location
165uic_dir.variable = QMAKE_UIC
166
167rcc_dir.name = rcc_location
168rcc_dir.variable = QMAKE_RCC
169
170lupdate_dir.name = lupdate_location
171lupdate_dir.variable = QMAKE_LUPDATE
172
173lrelease_dir.name = lrelease_location
174lrelease_dir.variable = QMAKE_LRELEASE
175
176QMAKE_PKGCONFIG_VARIABLES += moc_dir uic_dir rcc_dir lupdate_dir lrelease_dir
177
178include(qt_version.pri)
179include(qt_targets.pri)
180
181win32:DEFINES+=_USE_MATH_DEFINES
182
183symbian {
184 # Make partial upgrade SIS file for all dll's except webkit and s60main
185 !contains(TARGET.UID3, 0x200267C2):!contains(TARGET.UID3, 0xE00267C2):!contains(TARGET.UID3, 0x2001E61F):!contains(TARGET.UID3, 0xE001E61F) {
186 # Partial upgrade SIS file
187 vendorinfo = \
188 "; Localised Vendor name" \
189 "%{\"Nokia\"}" \
190 " " \
191 "; Unique Vendor name" \
192 ":\"Nokia, Qt\"" \
193 " "
194 isEmpty(QT_LIBINFIX): PARTIAL_UPGRADE_UID = 0x2001E61C
195 else: PARTIAL_UPGRADE_UID = 0xE001E61C
196
197 pu_header = "; Partial upgrade package for testing $${TARGET} changes without reinstalling everything" \
198 "$${LITERAL_HASH}{\"$${TARGET}\"}, ($$PARTIAL_UPGRADE_UID), $${QT_MAJOR_VERSION},$${QT_MINOR_VERSION},$${QT_PATCH_VERSION}, TYPE=PU"
199 partial_upgrade.pkg_prerules = pu_header vendorinfo
200 partial_upgrade.sources = $$QMAKE_LIBDIR_QT/$${TARGET}.dll
201 partial_upgrade.path = c:/sys/bin
202 DEPLOYMENT += partial_upgrade
203 }
204}
Note: See TracBrowser for help on using the repository browser.