Fix build for harmattan
[quandoparte] / application / application.pro
1 #-------------------------------------------------
2 #
3 # Project created by QtCreator 2010-11-13T19:51:39
4 #
5 #-------------------------------------------------
6
7 VERSION = 0.6.0
8 USE_RESOURCES = 0
9
10 QT += network
11 CONFIG += qt
12 CONFIG += link_pkgconfig
13
14 lessThan(QT_MAJOR_VERSION, 5) {
15     QT += webkit
16     CONFIG += webkit mobility
17     MOBILITY = location
18 } else {
19     QT += qml quick concurrent location webkitwidgets webkit
20 }
21
22 contains(MEEGO_EDITION, harmattan) {
23    CONFIG += harmattan
24 }
25
26 sailfish {
27     PLATFORM = sailfish
28     DEFINES += TARGET_PLATFORM_SAILFISH
29     # enable booster
30 packagesExist(qdeclarative-boostable) {
31     message("Building with qdeclarative-boostable support")
32     DEFINES += HAS_BOOSTER
33     PKGCONFIG += qdeclarative-boostable
34 } else {
35     warning("qdeclarative-boostable not available; startup times will be slower")
36 }
37     QMAKE_LFLAGS += -pie -rdynamic
38     PLATFORM_SOURCES = view.cpp
39     PLATFORM_HEADERS = view.h view_qt5.h
40 }
41 harmattan {
42     QT += declarative
43     PLATFORM = harmattan
44     DEFINES += TARGET_PLATFORM_HARMATTAN
45     # enable booster
46     CONFIG += qdeclarative-boostable
47     QMAKE_CXXFLAGS += -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wno-psabi
48     QMAKE_LFLAGS += -pie -rdynamic
49     PLATFORM_SOURCES = view.cpp
50     PLATFORM_HEADERS = view.h view_qt4.h
51 }
52 maemo5 {
53     QT += maemo5
54     PLATFORM = fremantle
55     DEFINES += TARGET_PLATFORM_FREMANTLE
56     PLATFORM_SOURCES = \
57         app.cpp \
58         stationlistview.cpp \
59         stationview.cpp \
60         settingsdialog.cpp \
61         keypressforwarder.cpp
62     PLATFORM_HEADERS= \
63         app.h \
64         stationlistview.h \
65         keypressforwarder.h \
66         settingsdialog.h \
67         stationview.h
68 }
69 !sailfish:!harmattan:!maemo5 {
70     PLATFORM = desktop
71     DEFINES += TARGET_PLATFORM_DESKTOP
72     PLATFORM_SOURCES = view.cpp
73 }
74
75 message(Compiling For:    $$PLATFORM)
76 message(Platform Sources: $$PLATFORM_SOURCES)
77 message(Qt Version:       $$QT_MAJOR_VERSION"."$$QT_MINOR_VERSION)
78 message(Qt Modules Used:  $$QT)
79 message(Building version: $$VERSION)
80
81 TARGET = quandoparte
82 TEMPLATE = app
83 VERSION_STRING = '\\"$${VERSION}\\"'
84 DEFINES += QP_VERSION=\"$${VERSION_STRING}\"
85
86 contains(USE_RESOURCES, 1) {
87     DEFINES += USE_RESOURCES=1
88     CONFIG += resources
89 }
90
91 !debug {
92     DEFINES += QT_NO_DEBUG_OUTPUT
93 }
94
95 TRANSLATIONS = resources/i18n/quandoparte_it.ts
96
97 SOURCES += \
98     $$PLATFORM_SOURCES \
99     main.cpp \
100     stationlistmodel.cpp \
101     stationlistproxymodel.cpp \
102     settings.cpp \
103     dataprovider.cpp \
104     stationschedulemodel.cpp \
105     stationscheduleitem.cpp
106
107 HEADERS += \
108     $$PLATFORM_HEADERS \
109     stationlistmodel.h \
110     stationlistproxymodel.h \
111     settings.h \
112     dataprovider.h \
113     stationschedulemodel.h \
114     stationscheduleitem.h
115
116 FORMS += \
117     settingsdialog.ui \
118     stationlistview.ui
119
120 QMLSOURCES = \
121     resources/harmattan/qml/main.qml \
122     resources/harmattan/qml/StationListPage.qml \
123     resources/harmattan/qml/StationPage.qml \
124     resources/harmattan/qml/SearchBar.qml \
125     resources/harmattan/qml/PageHeader.qml \
126     resources/harmattan/qml/PageHeader.js \
127     resources/harmattan/qml/uiconstants.js \
128     resources/harmattan/qml/StationListPage.js \
129     resources/harmattan/qml/AboutPage.qml \
130     resources/harmattan/qml/InfoBar.qml \
131     resources/harmattan/qml/DroppedShadow.qml \
132     resources/harmattan/qml/DelayIndicator.qml \
133     resources/harmattan/qml/StationScheduleDelegate.qml \
134     resources/sailfish/qml/main.qml \
135     resources/sailfish/qml/pages/AboutPage.qml \
136     resources/sailfish/qml/pages/StationListPage.qml \
137     resources/sailfish/qml/pages/StationPage.qml \
138     resources/sailfish/qml/pages/components/DelayIndicator.qml \
139     resources/sailfish/qml/pages/components/StationScheduleDelegate.qml
140
141 OTHER_FILES += \
142     resources/sailfish/applications/quandoparte.desktop \
143     resources/harmattan/applications/quandoparte.desktop \
144     resources/fremantle/applications/quandoparte.desktop \
145     icons/48x48/quandoparte.png \
146     icons/64x64/quandoparte.png \
147     icons/80x80/quandoparte.png \
148     icons/scalable/quandoparte.svg \
149     icons/sailfish/90x90/quandoparte.svg \
150     icons/sailfish/scalable/quandoparte.svg \
151     icons/quandoparte.png \
152     resources/quandoparte.css \
153     resources/arrivals.css \
154     resources/departures.css \
155     $$replace(TRANSLATIONS, .ts, .qm) \
156     resources/stations/stations.qpl \
157     resources/stations/generatelist.xq \
158     resources/stations/generateunclassifiedlist.xq \
159     $$QMLSOURCES \
160     resources/sailfish/qml/StationListPage.qml
161
162 isEmpty(PREFIX) {
163     maemo5 {
164         PREFIX=/opt/usr
165     }
166     harmattan {
167         PREFIX=/opt/$${TARGET}
168     }
169     sailfish {
170         PREFIX=/usr
171     }
172     !maemo5:!harmattan:!sailfish {
173         PREFIX=/usr/local
174     }
175 }
176 maemo5 {
177     DESKTOPDIR=/usr/share/applications/hildon
178 }
179 harmattan {
180     DESKTOPDIR=/usr/share/applications
181 }
182 sailfish {
183     DESKTOPDIR=$$PREFIX/share/applications
184 }
185 desktop {
186     DESKTOPDIR=$$PREFIX/share/applications
187 }
188 BINDIR=$$PREFIX/bin
189 contains(USE_RESOURCES, 1) {
190     DATADIR=":"
191 } else {
192     DATADIR=$$PREFIX/share/apps/$${TARGET}
193 }
194 DEFINES += DATADIR=\\\"$${DATADIR}\\\" PKGDATADIR=\\\"$${PKGDATADIR}\\\"
195
196 message(Installing to prefix $$PREFIX)
197 message(Executable to $$BINDIR)
198 message(Desktop file to $$DESKTOPDIR)
199 message(Data to $$DATADIR)
200 message(Extra defines $$DEFINES)
201
202 target.path = $$BINDIR
203 INSTALLS += target
204
205 unix:sailfish {
206     desktopfile.files = resources/$$PLATFORM/applications/$${TARGET}.desktop
207     desktopfile.path = $$DESKTOPDIR
208     INSTALLS += desktopfile
209 }
210
211 unix:sailfish {
212     i18n.files = $$replace(TRANSLATIONS, .ts, .qm)
213     stations.files = resources/stations/stations.qpl
214
215     i18n.path = $$DATADIR/i18n
216     stations.path = $$DATADIR/stations
217
218     icon48.files = icons/48x48/$${TARGET}.png
219     icon64.files = icons/64x64/$${TARGET}.png
220     iconscalable.files = icons/scalable/$${TARGET}.svg
221
222     icon48.path = /usr/share/icons/hicolor/48x48/apps
223     icon64.path = /usr/share/icons/hicolor/64x64/apps
224     iconscalable.path = /usr/share/icons/hicolor/scalable/apps
225
226     INSTALLS += icon48
227     INSTALLS += iconscalable
228     INSTALLS += i18n
229     INSTALLS += stations
230 }
231
232 maemo5 {
233     css.files = resources/$${TARGET}.css resources/arrivals.css resources/departures.css
234     css.path = $$DATADIR/css
235     !contains(USE_RESOURCES, 1) {
236         INSTALLS += css
237     }
238 }
239
240 sailfish {
241     icon90.files = icons/sailfish/90x90/$${TARGET}.png
242     icon90.path = /usr/share/icons/hicolor/meegotouch/apps
243     INSTALLS += icon90
244 }
245 harmattan {
246     desktopfile.files = resources/$$PLATFORM/applications/$${TARGET}.desktop
247     desktopfile.path = $$DESKTOPDIR
248     INSTALLS += desktopfile
249
250     icon48.files = icons/48x48/$${TARGET}.png
251     icon48.path = /usr/share/icons/hicolor/48x48/apps
252     INSTALLS += icon48
253
254     icon64.files = icons/64x64/$${TARGET}.png
255     icon64.path = /usr/share/icons/hicolor/64x64/apps
256     INSTALLS += icon64
257
258     iconscalable.files = icons/scalable/$${TARGET}.svg
259     iconscalable.path = /usr/share/icons/hicolor/scalable/apps
260     INSTALLS += iconscalable
261
262     INSTALLS += i18n
263     INSTALLS += stations
264     icon80.files = icons/80x80/$${TARGET}.png
265     icon80.path = /usr/share/icons/hicolor/meegotouch/apps
266     INSTALLS += icon80
267
268     i18n.files = $$replace(TRANSLATIONS, .ts, .qm)
269     i18n.path = $$DATADIR/i18n
270     INSTALLS += i18n
271
272     stations.files = resources/stations/stations.qpl
273     stations.path = $$DATADIR/stations
274     INSTALLS += stations
275 }
276
277 !contains(USE_RESOURCES, 1) {
278     sailfish {
279         qml.files = resources/sailfish/qml/*.qml \
280                     resources/sailfish/qml/*.js \
281                     resources/sailfish/qml/pages \
282                     resources/sailfish/qml/pages/components \
283                     resources/sailfish/qml/cover
284         qml.path = $$DATADIR/qml
285         INSTALLS += qml
286     }
287     harmattan {
288         qml.files = resources/harmattan/qml/*.qml resources/harmattan/qml/*.js
289         qml.path = $$DATADIR/qml
290         INSTALLS += qml
291     }
292 }
293
294 contains(USE_RESOURCES, 1) {
295     RESOURCES += \
296         quandoparte.qrc
297 }
298
299 hack_to_fix_translations {
300     SOURCES += $$QMLSOURCES
301 }