forked from robclark/qtmobility-1.1.0
/
common.pri
194 lines (164 loc) · 5.96 KB
/
common.pri
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
######################################################################
#
# Mobility API project - common QMake settings
#
######################################################################
CONFIG(debug, debug|release) {
WAS_IN_DEBUG=debug
} else {
WAS_IN_DEBUG=release
}
include(staticconfig.pri)
symbian:contains(symbian_symbols_unfrozen,1) {
#see configure.bat for details
MMP_RULES+="EXPORTUNFROZEN"
}
mac {
contains(QT_CONFIG, qt_framework):contains(TEMPLATE, lib) {
#MacOSX always builds debug and release libs when using mac framework
CONFIG+=$$WAS_IN_DEBUG
CONFIG += debug_and_release build_all
} else {
!contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
CONFIG -= debug_and_release debug release
contains(QT_CONFIG,debug): CONFIG+=debug
contains(QT_CONFIG,release): CONFIG+=release
}
}
}
#In Windows we want to build libraries in debug and release mode if the user
#didn't select a version - if Qt is build in debug_and_release
#this avoids problems for third party as qmake build debug by default
#If mobility selected debug_and_release but Qt only supports
#one version but not the other we silently disable the impossible combination
win32:contains(CONFIG_WIN32,build_all) {
contains(QT_CONFIG,debug):contains(QT_CONFIG,release) {
contains(TEMPLATE,.*lib) {
CONFIG += $$WAS_IN_DEBUG
CONFIG += debug_and_release build_all
}
} else {
CONFIG -= debug_and_release debug release
contains(QT_CONFIG,debug): CONFIG+=debug
contains(QT_CONFIG,release): CONFIG+=release
}
}
# Helper function. This should move to a .prf file
defineReplace(mobilityDeployFilename) {
unset(MOBILITY_DEPLOY_NAME)
MOBILITY_DEPLOY_NAME = $$1
CONFIG(debug, debug|release): {
mac:RET = $$member(MOBILITY_DEPLOY_NAME, 0)_debug
else:win32:RET = $$member(MOBILITY_DEPLOY_NAME, 0)d
}
isEmpty(RET):RET = $$MOBILITY_DEPLOY_NAME
return($$RET)
}
# Make sure this goes everywhere we need it
symbian: load(data_caging_paths)
# Figure out the root of where stuff should go (this could be done via configure)
OUTPUT_DIR = $$QT_MOBILITY_BUILD_TREE
SOURCE_DIR = $$PWD
CONFIG(debug, debug|release) {
SUBDIRPART=Debug
} else {
SUBDIRPART=Release
}
contains(QT_CONFIG, reduce_exports):CONFIG+=hide_symbols
#export more symbols if we build the unit tests
contains(build_unit_tests, yes) {
DEFINES+=QTM_BUILD_UNITTESTS
} else {
contains(build_public_unit_tests,yes):DEFINES+=QTM_BUILD_PUBLIC_UNITTESTS
}
#test whether we have a unit test
!testcase {
OBJECTS_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET
!plugin {
contains(TEMPLATE,.*lib) {
DESTDIR = $$OUTPUT_DIR/lib
symbian:defFilePath=../s60installs
VERSION = 1.1.0
} else {
DESTDIR = $$OUTPUT_DIR/bin
}
} else {
testplugin {
DESTDIR = $$OUTPUT_DIR/build/tests/bin/plugins/$$PLUGIN_TYPE
} else {
#check that plugin_type is set or warn otherwise
isEmpty(PLUGIN_TYPE) {
message(PLUGIN_TYPE not specified - install rule may not work)
} else {
target.path=$${QT_MOBILITY_PLUGINS}/$${PLUGIN_TYPE}
INSTALLS += target
}
}
}
MOC_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/moc
RCC_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/rcc
UI_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/ui
} else {
# Unit test code (no plugins! test plugins are just normal plugins installed elsewhere)
QT *= testlib
CONFIG += console
CONFIG -= app_bundle
OBJECTS_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET
DESTDIR = $$OUTPUT_DIR/build/tests/bin
MOC_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET/moc
RCC_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET/rcc
UI_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET/ui
}
contains(TEMPLATE,.*lib):DEFINES += QT_SHARED
maemo6 {
DEFINES+= Q_WS_MAEMO_6
contains(TEMPLATE,.*app.*): QMAKE_LIB_FLAGS+= -Wl,-rpath-link $$[QT_INSTALL_LIBS]
QMAKE_LIB_FLAGS+= -Wl,-rpath-link $$[QT_INSTALL_LIBS]
QMAKE_RPATHDIR += $$[QT_INSTALL_LIBS]
}
maemo5 {
DEFINES+= Q_WS_MAEMO_5
}
wince* {
### Bearer Management
BEARERLIB.sources = $$OUTPUT_DIR/lib/$$mobilityDeployFilename(QtBearer).dll
BEARERLIB.path = .
DEPLOYMENT += BEARERLIB
### Contacts
# Main library
CONTACTS_DEPLOYMENT.sources = $$OUTPUT_DIR/lib/$$mobilityDeployFilename(QtContacts).dll
CONTACTS_DEPLOYMENT.path = /Windows
# Plugins
CONTACTS_PLUGINS_DEPLOYMENT.sources = $$OUTPUT_DIR/plugins/contacts/*.dll
CONTACTS_PLUGINS_DEPLOYMENT.path = plugins/contacts
DEPLOYMENT += CONTACTS_DEPLOYMENT CONTACTS_PLUGINS_DEPLOYMENT
### Service Framework
SFW_DEPLOYMENT.sources = $$OUTPUT_DIR/lib/$$mobilityDeployFilename(QtServiceFramework).dll
SFW_DEPLOYMENT.path = .
DEPLOYMENT += SFW_DEPLOYMENT
### Location
LOCATION.sources = $$OUTPUT_DIR/lib/$$mobilityDeployFilename(QtLocation).dll
LOCATION.path = .
DEPLOYMENT += LOCATION
### Landmarks
LANDMARKS.sources = $$OUTPUT_DIR/lib/$$mobilityDeployFilename(QtLandmarks).dll
LANDMARKS.path = .
DEPLOYMENT += LANDMARKS
}
symbian {
#For some reason the default include path doesn't include MOC_DIR on symbian
INCLUDEPATH += $$MOC_DIR
#This is supposed to be defined in symbian_os.hrh
#DEFINES += SYMBIAN_EMULATOR_SUPPORTS_PERPROCESS_WSD
}
# Add the output dirs to the link path too
mac:contains(QT_CONFIG,qt_framework) {
#add framework option
##contains(TEMPLATE, app)|contains(CONFIG,plugin):LIBS+=-F$$OUTPUT_DIR/lib
LIBS+=-F$$OUTPUT_DIR/lib
}
LIBS += -L$$OUTPUT_DIR/lib
linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
DEPENDPATH += . $$SOURCE_DIR
INCLUDEPATH += $$SOURCE_DIR/src/global
!symbian:!wince*:DEFINES += QTM_PLUGIN_PATH=\\\"$$replace(QT_MOBILITY_PLUGINS, \\\\, /)\\\"