1TARGET = qmapboxgl
2
3load(qt_helper_lib)
4
5CONFIG += qt c++14 exceptions warn_off staticlib object_parallel_to_source
6CONFIG -= c++1z
7
8QT += network-private \
9      gui-private \
10      sql-private
11
12QMAKE_CXXFLAGS += \
13    -DNDEBUG \
14    -DQT_IMAGE_DECODERS \
15    -DQT_BUILD_MAPBOXGL_LIB \
16    -DRAPIDJSON_HAS_STDSTRING=1 \
17    -DMBGL_USE_GLES2 \
18    -D__QT__ \
19    -O3 \
20    -ftemplate-depth=1024 \
21    -fvisibility-inlines-hidden \
22    -fvisibility=hidden
23
24android|win32|darwin|qnx {
25    SOURCES += \
26        platform/qt/src/thread.cpp
27} else {
28    SOURCES += \
29        platform/default/thread.cpp
30}
31
32android|gcc {
33    QMAKE_CFLAGS += -std=c99
34}
35
36darwin {
37    LIBS += \
38        -framework Foundation
39}
40
41win32 {
42    QMAKE_CXXFLAGS += \
43        -D_WINDOWS \
44        -DNOGDI \
45        -DNOMINMAX \
46        -D_USE_MATH_DEFINES
47}
48
49qtConfig(system-zlib) {
50    QMAKE_USE_PRIVATE += zlib
51} else {
52    QT_PRIVATE += zlib-private
53}
54
55# QTBUG-59035
56TR_EXCLUDE += $$PWD/*
57
58qtConfig(icu) {
59    QMAKE_USE_PRIVATE += icu
60
61    SOURCES += \
62        platform/default/bidi.cpp
63} else {
64    SOURCES += \
65        platform/qt/src/bidi.cpp
66}
67
68SOURCES += \
69    platform/qt/src/async_task.cpp \
70    platform/qt/src/http_file_source.cpp \
71    platform/qt/src/http_request.cpp \
72    platform/qt/src/qmapbox.cpp \
73    platform/qt/src/qmapboxgl.cpp \
74    platform/qt/src/qmapboxgl_map_observer.cpp \
75    platform/qt/src/qmapboxgl_map_renderer.cpp \
76    platform/qt/src/qmapboxgl_renderer_backend.cpp \
77    platform/qt/src/qmapboxgl_scheduler.cpp \
78    platform/qt/src/qt_geojson.cpp \
79    platform/qt/src/qt_image.cpp \
80    platform/qt/src/qt_logging.cpp \
81    platform/qt/src/run_loop.cpp \
82    platform/qt/src/sqlite3.cpp \
83    platform/qt/src/string_stdlib.cpp \
84    platform/qt/src/thread_local.cpp \
85    platform/qt/src/timer.cpp \
86    platform/qt/src/utf.cpp \
87    src/csscolorparser/csscolorparser.cpp \
88    src/mbgl/actor/mailbox.cpp \
89    src/mbgl/actor/scheduler.cpp \
90    src/mbgl/algorithm/generate_clip_ids.cpp \
91    src/mbgl/annotation/annotation_manager.cpp \
92    src/mbgl/annotation/annotation_source.cpp \
93    src/mbgl/annotation/annotation_tile.cpp \
94    src/mbgl/annotation/fill_annotation_impl.cpp \
95    src/mbgl/annotation/line_annotation_impl.cpp \
96    src/mbgl/annotation/render_annotation_source.cpp \
97    src/mbgl/annotation/shape_annotation_impl.cpp \
98    src/mbgl/annotation/symbol_annotation_impl.cpp \
99    src/mbgl/geometry/dem_data.cpp \
100    src/mbgl/geometry/feature_index.cpp \
101    src/mbgl/geometry/line_atlas.cpp \
102    src/mbgl/gl/attribute.cpp \
103    src/mbgl/gl/color_mode.cpp \
104    src/mbgl/gl/context.cpp \
105    src/mbgl/gl/debugging.cpp \
106    src/mbgl/gl/debugging_extension.cpp \
107    src/mbgl/gl/depth_mode.cpp \
108    src/mbgl/gl/gl.cpp \
109    src/mbgl/gl/object.cpp \
110    src/mbgl/gl/stencil_mode.cpp \
111    src/mbgl/gl/uniform.cpp \
112    src/mbgl/gl/value.cpp \
113    src/mbgl/gl/vertex_array.cpp \
114    src/mbgl/layout/clip_lines.cpp \
115    src/mbgl/layout/merge_lines.cpp \
116    src/mbgl/layout/symbol_instance.cpp \
117    src/mbgl/layout/symbol_layout.cpp \
118    src/mbgl/layout/symbol_projection.cpp \
119    src/mbgl/map/map.cpp \
120    src/mbgl/map/transform.cpp \
121    src/mbgl/map/transform_state.cpp \
122    src/mbgl/math/log2.cpp \
123    src/mbgl/programs/background_program.cpp \
124    src/mbgl/programs/binary_program.cpp \
125    src/mbgl/programs/circle_program.cpp \
126    src/mbgl/programs/collision_box_program.cpp \
127    src/mbgl/programs/extrusion_texture_program.cpp \
128    src/mbgl/programs/fill_extrusion_program.cpp \
129    src/mbgl/programs/fill_program.cpp \
130    src/mbgl/programs/heatmap_program.cpp \
131    src/mbgl/programs/heatmap_texture_program.cpp \
132    src/mbgl/programs/hillshade_prepare_program.cpp \
133    src/mbgl/programs/hillshade_program.cpp \
134    src/mbgl/programs/line_program.cpp \
135    src/mbgl/programs/program_parameters.cpp \
136    src/mbgl/programs/raster_program.cpp \
137    src/mbgl/programs/symbol_program.cpp \
138    src/mbgl/renderer/backend_scope.cpp \
139    src/mbgl/renderer/bucket_parameters.cpp \
140    src/mbgl/renderer/buckets/circle_bucket.cpp \
141    src/mbgl/renderer/buckets/debug_bucket.cpp \
142    src/mbgl/renderer/buckets/fill_bucket.cpp \
143    src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp \
144    src/mbgl/renderer/buckets/heatmap_bucket.cpp \
145    src/mbgl/renderer/buckets/hillshade_bucket.cpp \
146    src/mbgl/renderer/buckets/line_bucket.cpp \
147    src/mbgl/renderer/buckets/raster_bucket.cpp \
148    src/mbgl/renderer/buckets/symbol_bucket.cpp \
149    src/mbgl/renderer/cross_faded_property_evaluator.cpp \
150    src/mbgl/renderer/group_by_layout.cpp \
151    src/mbgl/renderer/image_atlas.cpp \
152    src/mbgl/renderer/image_manager.cpp \
153    src/mbgl/renderer/layers/render_background_layer.cpp \
154    src/mbgl/renderer/layers/render_circle_layer.cpp \
155    src/mbgl/renderer/layers/render_custom_layer.cpp \
156    src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp \
157    src/mbgl/renderer/layers/render_fill_layer.cpp \
158    src/mbgl/renderer/layers/render_heatmap_layer.cpp \
159    src/mbgl/renderer/layers/render_hillshade_layer.cpp \
160    src/mbgl/renderer/layers/render_line_layer.cpp \
161    src/mbgl/renderer/layers/render_raster_layer.cpp \
162    src/mbgl/renderer/layers/render_symbol_layer.cpp \
163    src/mbgl/renderer/paint_parameters.cpp \
164    src/mbgl/renderer/render_layer.cpp \
165    src/mbgl/renderer/render_light.cpp \
166    src/mbgl/renderer/render_source.cpp \
167    src/mbgl/renderer/render_static_data.cpp \
168    src/mbgl/renderer/render_tile.cpp \
169    src/mbgl/renderer/renderer.cpp \
170    src/mbgl/renderer/renderer_backend.cpp \
171    src/mbgl/renderer/renderer_impl.cpp \
172    src/mbgl/renderer/sources/render_custom_geometry_source.cpp \
173    src/mbgl/renderer/sources/render_geojson_source.cpp \
174    src/mbgl/renderer/sources/render_image_source.cpp \
175    src/mbgl/renderer/sources/render_raster_dem_source.cpp \
176    src/mbgl/renderer/sources/render_raster_source.cpp \
177    src/mbgl/renderer/sources/render_vector_source.cpp \
178    src/mbgl/renderer/style_diff.cpp \
179    src/mbgl/renderer/tile_pyramid.cpp \
180    src/mbgl/shaders/background.cpp \
181    src/mbgl/shaders/background_pattern.cpp \
182    src/mbgl/shaders/circle.cpp \
183    src/mbgl/shaders/clipping_mask.cpp \
184    src/mbgl/shaders/collision_box.cpp \
185    src/mbgl/shaders/collision_circle.cpp \
186    src/mbgl/shaders/debug.cpp \
187    src/mbgl/shaders/extrusion_texture.cpp \
188    src/mbgl/shaders/fill.cpp \
189    src/mbgl/shaders/fill_extrusion.cpp \
190    src/mbgl/shaders/fill_extrusion_pattern.cpp \
191    src/mbgl/shaders/fill_outline.cpp \
192    src/mbgl/shaders/fill_outline_pattern.cpp \
193    src/mbgl/shaders/fill_pattern.cpp \
194    src/mbgl/shaders/heatmap.cpp \
195    src/mbgl/shaders/heatmap_texture.cpp \
196    src/mbgl/shaders/hillshade.cpp \
197    src/mbgl/shaders/hillshade_prepare.cpp \
198    src/mbgl/shaders/line.cpp \
199    src/mbgl/shaders/line_pattern.cpp \
200    src/mbgl/shaders/line_sdf.cpp \
201    src/mbgl/shaders/preludes.cpp \
202    src/mbgl/shaders/raster.cpp \
203    src/mbgl/shaders/shaders.cpp \
204    src/mbgl/shaders/source.cpp \
205    src/mbgl/shaders/symbol_icon.cpp \
206    src/mbgl/shaders/symbol_sdf.cpp \
207    src/mbgl/sprite/sprite_loader.cpp \
208    src/mbgl/sprite/sprite_loader_worker.cpp \
209    src/mbgl/sprite/sprite_parser.cpp \
210    src/mbgl/storage/network_status.cpp \
211    src/mbgl/storage/resource.cpp \
212    src/mbgl/storage/resource_transform.cpp \
213    src/mbgl/storage/response.cpp \
214    src/mbgl/style/conversion/constant.cpp \
215    src/mbgl/style/conversion/coordinate.cpp \
216    src/mbgl/style/conversion/filter.cpp \
217    src/mbgl/style/conversion/function.cpp \
218    src/mbgl/style/conversion/geojson.cpp \
219    src/mbgl/style/conversion/geojson_options.cpp \
220    src/mbgl/style/conversion/get_json_type.cpp \
221    src/mbgl/style/conversion/layer.cpp \
222    src/mbgl/style/conversion/light.cpp \
223    src/mbgl/style/conversion/position.cpp \
224    src/mbgl/style/conversion/source.cpp \
225    src/mbgl/style/conversion/tileset.cpp \
226    src/mbgl/style/conversion/transition_options.cpp \
227    src/mbgl/style/custom_tile_loader.cpp \
228    src/mbgl/style/expression/array_assertion.cpp \
229    src/mbgl/style/expression/assertion.cpp \
230    src/mbgl/style/expression/at.cpp \
231    src/mbgl/style/expression/boolean_operator.cpp \
232    src/mbgl/style/expression/case.cpp \
233    src/mbgl/style/expression/check_subtype.cpp \
234    src/mbgl/style/expression/coalesce.cpp \
235    src/mbgl/style/expression/coercion.cpp \
236    src/mbgl/style/expression/collator_expression.cpp \
237    src/mbgl/style/expression/compound_expression.cpp \
238    src/mbgl/style/expression/dsl.cpp \
239    src/mbgl/style/expression/equals.cpp \
240    src/mbgl/style/expression/expression.cpp \
241    src/mbgl/style/expression/find_zoom_curve.cpp \
242    src/mbgl/style/expression/get_covering_stops.cpp \
243    src/mbgl/style/expression/interpolate.cpp \
244    src/mbgl/style/expression/is_constant.cpp \
245    src/mbgl/style/expression/is_expression.cpp \
246    src/mbgl/style/expression/length.cpp \
247    src/mbgl/style/expression/let.cpp \
248    src/mbgl/style/expression/literal.cpp \
249    src/mbgl/style/expression/match.cpp \
250    src/mbgl/style/expression/parsing_context.cpp \
251    src/mbgl/style/expression/step.cpp \
252    src/mbgl/style/expression/util.cpp \
253    src/mbgl/style/expression/value.cpp \
254    src/mbgl/style/filter.cpp \
255    src/mbgl/style/image.cpp \
256    src/mbgl/style/image_impl.cpp \
257    src/mbgl/style/layer.cpp \
258    src/mbgl/style/layer_impl.cpp \
259    src/mbgl/style/layers/background_layer.cpp \
260    src/mbgl/style/layers/background_layer_impl.cpp \
261    src/mbgl/style/layers/background_layer_properties.cpp \
262    src/mbgl/style/layers/circle_layer.cpp \
263    src/mbgl/style/layers/circle_layer_impl.cpp \
264    src/mbgl/style/layers/circle_layer_properties.cpp \
265    src/mbgl/style/layers/custom_layer.cpp \
266    src/mbgl/style/layers/custom_layer_impl.cpp \
267    src/mbgl/style/layers/fill_extrusion_layer.cpp \
268    src/mbgl/style/layers/fill_extrusion_layer_impl.cpp \
269    src/mbgl/style/layers/fill_extrusion_layer_properties.cpp \
270    src/mbgl/style/layers/fill_layer.cpp \
271    src/mbgl/style/layers/fill_layer_impl.cpp \
272    src/mbgl/style/layers/fill_layer_properties.cpp \
273    src/mbgl/style/layers/heatmap_layer.cpp \
274    src/mbgl/style/layers/heatmap_layer_impl.cpp \
275    src/mbgl/style/layers/heatmap_layer_properties.cpp \
276    src/mbgl/style/layers/hillshade_layer.cpp \
277    src/mbgl/style/layers/hillshade_layer_impl.cpp \
278    src/mbgl/style/layers/hillshade_layer_properties.cpp \
279    src/mbgl/style/layers/line_layer.cpp \
280    src/mbgl/style/layers/line_layer_impl.cpp \
281    src/mbgl/style/layers/line_layer_properties.cpp \
282    src/mbgl/style/layers/raster_layer.cpp \
283    src/mbgl/style/layers/raster_layer_impl.cpp \
284    src/mbgl/style/layers/raster_layer_properties.cpp \
285    src/mbgl/style/layers/symbol_layer.cpp \
286    src/mbgl/style/layers/symbol_layer_impl.cpp \
287    src/mbgl/style/layers/symbol_layer_properties.cpp \
288    src/mbgl/style/light.cpp \
289    src/mbgl/style/light_impl.cpp \
290    src/mbgl/style/parser.cpp \
291    src/mbgl/style/source.cpp \
292    src/mbgl/style/source_impl.cpp \
293    src/mbgl/style/sources/custom_geometry_source.cpp \
294    src/mbgl/style/sources/custom_geometry_source_impl.cpp \
295    src/mbgl/style/sources/geojson_source.cpp \
296    src/mbgl/style/sources/geojson_source_impl.cpp \
297    src/mbgl/style/sources/image_source.cpp \
298    src/mbgl/style/sources/image_source_impl.cpp \
299    src/mbgl/style/sources/raster_dem_source.cpp \
300    src/mbgl/style/sources/raster_source.cpp \
301    src/mbgl/style/sources/raster_source_impl.cpp \
302    src/mbgl/style/sources/vector_source.cpp \
303    src/mbgl/style/sources/vector_source_impl.cpp \
304    src/mbgl/style/style.cpp \
305    src/mbgl/style/style_impl.cpp \
306    src/mbgl/style/types.cpp \
307    src/mbgl/text/check_max_angle.cpp \
308    src/mbgl/text/collision_feature.cpp \
309    src/mbgl/text/collision_index.cpp \
310    src/mbgl/text/cross_tile_symbol_index.cpp \
311    src/mbgl/text/get_anchors.cpp \
312    src/mbgl/text/glyph.cpp \
313    src/mbgl/text/glyph_atlas.cpp \
314    src/mbgl/text/glyph_manager.cpp \
315    src/mbgl/text/glyph_pbf.cpp \
316    src/mbgl/text/language_tag.cpp \
317    src/mbgl/text/placement.cpp \
318    src/mbgl/text/quads.cpp \
319    src/mbgl/text/shaping.cpp \
320    src/mbgl/tile/custom_geometry_tile.cpp \
321    src/mbgl/tile/geojson_tile.cpp \
322    src/mbgl/tile/geometry_tile.cpp \
323    src/mbgl/tile/geometry_tile_data.cpp \
324    src/mbgl/tile/geometry_tile_worker.cpp \
325    src/mbgl/tile/raster_dem_tile.cpp \
326    src/mbgl/tile/raster_dem_tile_worker.cpp \
327    src/mbgl/tile/raster_tile.cpp \
328    src/mbgl/tile/raster_tile_worker.cpp \
329    src/mbgl/tile/tile.cpp \
330    src/mbgl/tile/tile_cache.cpp \
331    src/mbgl/tile/tile_id_hash.cpp \
332    src/mbgl/tile/tile_id_io.cpp \
333    src/mbgl/tile/vector_tile.cpp \
334    src/mbgl/tile/vector_tile_data.cpp \
335    src/mbgl/util/chrono.cpp \
336    src/mbgl/util/clip_id.cpp \
337    src/mbgl/util/color.cpp \
338    src/mbgl/util/compression.cpp \
339    src/mbgl/util/constants.cpp \
340    src/mbgl/util/convert.cpp \
341    src/mbgl/util/dtoa.cpp \
342    src/mbgl/util/event.cpp \
343    src/mbgl/util/font_stack.cpp \
344    src/mbgl/util/geo.cpp \
345    src/mbgl/util/geojson_impl.cpp \
346    src/mbgl/util/grid_index.cpp \
347    src/mbgl/util/http_header.cpp \
348    src/mbgl/util/http_timeout.cpp \
349    src/mbgl/util/i18n.cpp \
350    src/mbgl/util/interpolate.cpp \
351    src/mbgl/util/intersection_tests.cpp \
352    src/mbgl/util/io.cpp \
353    src/mbgl/util/logging.cpp \
354    src/mbgl/util/mapbox.cpp \
355    src/mbgl/util/mat2.cpp \
356    src/mbgl/util/mat3.cpp \
357    src/mbgl/util/mat4.cpp \
358    src/mbgl/util/offscreen_texture.cpp \
359    src/mbgl/util/premultiply.cpp \
360    src/mbgl/util/stopwatch.cpp \
361    src/mbgl/util/string.cpp \
362    src/mbgl/util/tile_cover.cpp \
363    src/mbgl/util/tile_cover_impl.cpp \
364    src/mbgl/util/tiny_sdf.cpp \
365    src/mbgl/util/url.cpp \
366    src/mbgl/util/version.cpp \
367    src/mbgl/util/work_request.cpp \
368    src/parsedate/parsedate.cpp \
369    platform/default/asset_file_source.cpp \
370    platform/default/collator.cpp \
371    platform/default/default_file_source.cpp \
372    platform/default/file_source_request.cpp \
373    platform/default/local_file_source.cpp \
374    platform/default/local_glyph_rasterizer.cpp \
375    platform/default/mbgl/storage/offline.cpp \
376    platform/default/mbgl/storage/offline_database.cpp \
377    platform/default/mbgl/storage/offline_download.cpp \
378    platform/default/mbgl/util/default_thread_pool.cpp \
379    platform/default/mbgl/util/shared_thread_pool.cpp \
380    platform/default/online_file_source.cpp \
381    platform/default/unaccent.cpp \
382    vendor/nunicode/src/libnu/ducet.c \
383    vendor/nunicode/src/libnu/strcoll.c \
384    vendor/nunicode/src/libnu/strings.c \
385    vendor/nunicode/src/libnu/tolower.c \
386    vendor/nunicode/src/libnu/tounaccent.c \
387    vendor/nunicode/src/libnu/toupper.c \
388    vendor/nunicode/src/libnu/utf8.c
389
390
391HEADERS += \
392    platform/qt/include/qmapbox.hpp \
393    platform/qt/include/qmapboxgl.hpp \
394    platform/qt/src/async_task_impl.hpp \
395    platform/qt/src/http_file_source.hpp \
396    platform/qt/src/http_request.hpp \
397    platform/qt/src/qmapboxgl_map_observer.hpp \
398    platform/qt/src/qmapboxgl_map_renderer.hpp \
399    platform/qt/src/qmapboxgl_p.hpp \
400    platform/qt/src/qmapboxgl_renderer_backend.hpp \
401    platform/qt/src/qmapboxgl_renderer_observer.hpp \
402    platform/qt/src/qmapboxgl_scheduler.hpp \
403    platform/qt/src/qt_conversion.hpp \
404    platform/qt/src/qt_geojson.hpp \
405    platform/qt/src/run_loop_impl.hpp \
406    platform/qt/src/timer_impl.hpp \
407
408INCLUDEPATH += \
409    deps/boost/1.65.1 \
410    deps/boost/1.65.1/include \
411    deps/earcut/0.12.4 \
412    deps/earcut/0.12.4/include \
413    deps/geojson/0.4.2 \
414    deps/geojson/0.4.2/include \
415    deps/geojsonvt/6.5.1 \
416    deps/geojsonvt/6.5.1/include \
417    deps/geometry/0.9.3 \
418    deps/geometry/0.9.3/include \
419    deps/kdbush/0.1.1-1 \
420    deps/kdbush/0.1.1-1/include \
421    deps/optional/f27e7908 \
422    deps/optional/f27e7908/include \
423    deps/polylabel/1.0.3 \
424    deps/polylabel/1.0.3/include \
425    deps/protozero/1.5.2 \
426    deps/protozero/1.5.2/include \
427    deps/rapidjson/1.1.0 \
428    deps/rapidjson/1.1.0/include \
429    deps/shelf-pack/2.1.1 \
430    deps/shelf-pack/2.1.1/include \
431    deps/supercluster/0.2.2 \
432    deps/supercluster/0.2.2/include \
433    deps/tao_tuple/28626e99 \
434    deps/tao_tuple/28626e99/include \
435    deps/unique_resource/cba309e \
436    deps/unique_resource/cba309e/include \
437    deps/variant/1.1.4 \
438    deps/variant/1.1.4/include \
439    deps/vector-tile/1.0.2 \
440    deps/vector-tile/1.0.2/include \
441    deps/wagyu/0.4.3 \
442    deps/wagyu/0.4.3/include \
443    include \
444    platform/default \
445    platform/qt \
446    platform/qt/include \
447    src \
448    vendor/nunicode/include
449
450QMAKE_CXXFLAGS += \
451    -DMBGL_VERSION_REV=\\\"qt-v1.5.0\\\"
452