diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2020-02-07 16:38:14 +0200 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2020-02-07 20:12:44 +0200 |
commit | f7fef70e9ddb9f52b071703d3ff0683b921606ac (patch) | |
tree | bbb1c1bf6f9d9a871c8d45e69286f9a0c44224ca | |
parent | 489adb8d8713928fbbd1f511640417b1dd2aaa8a (diff) | |
download | qtlocation-mapboxgl-f7fef70e9ddb9f52b071703d3ff0683b921606ac.tar.gz |
[build] Move the `next` buildsystem to the root
This will make the `next` buildsystem no longer the `next`, but the
`actual`. The idea is to simplify the build, removing scripts, to
make the platform buildsystem generated by CMake more compatible
with IDEs and make development more streamlined. It will also make
cross compilation easier.
33 files changed, 2653 insertions, 2895 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9244a5e501..e16dd9da05 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,215 +1,1005 @@ -cmake_minimum_required(VERSION 3.9) -project(mbgl LANGUAGES CXX C) +cmake_minimum_required(VERSION 3.10 FATAL_ERROR) +project("Mapbox GL Native" LANGUAGES CXX C) -set(CMAKE_CONFIGURATION_TYPES Debug Release RelWithDebInfo Sanitize) +set_property(GLOBAL PROPERTY USE_FOLDERS ON) +set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER Core) + +set( + MEMORYCHECK_COMMAND_OPTIONS + "--leak-check=full --gen-suppressions=all --error-exitcode=1 --suppressions=${PROJECT_SOURCE_DIR}/scripts/valgrind.sup" +) + +include(CTest) + +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) +endif() + +option(MBGL_WITH_CORE_ONLY "Build only the core bits, no platform code" OFF) +option(MBGL_WITH_COVERAGE "Enable code coverage collection" OFF) +option(MBGL_WITH_QT "Build Mapbox GL Qt bindings" OFF) +option(MBGL_WITH_SANITIZER "Use [address|thread|undefined] here" OFF) +option(MBGL_WITH_RTTI "Compile with runtime type information" OFF) +option(MBGL_WITH_OPENGL "Build with OpenGL renderer" ON) + +add_library( + mbgl-compiler-options INTERFACE +) + +target_compile_options( + mbgl-compiler-options + INTERFACE + $<$<BOOL:${MBGL_WITH_COVERAGE}>:--coverage> + $<$<BOOL:${MBGL_WITH_SANITIZER}>:-DSANITIZE> + $<$<BOOL:${MBGL_WITH_SANITIZER}>:-fno-omit-frame-pointer> + $<$<BOOL:${MBGL_WITH_SANITIZER}>:-fno-optimize-sibling-calls> + $<$<STREQUAL:${MBGL_WITH_SANITIZER},address>:-fsanitize=address> + $<$<STREQUAL:${MBGL_WITH_SANITIZER},thread>:-fsanitize=thread> + $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=implicit-conversion> + $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=undefined> + $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=unsigned-integer-overflow> + $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<BOOL:${MBGL_WITH_RTTI}>>>:-fno-rtti> + $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wall> + $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wshadow> + $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wextra> + $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Werror> + $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<PLATFORM_ID:Android>>:-Wno-error=tautological-constant-compare> + $<$<CXX_COMPILER_ID:GNU>:-Wno-error=maybe-uninitialized> + $<$<CXX_COMPILER_ID:GNU>:-Wno-error=return-type> + $<$<CXX_COMPILER_ID:GNU>:-Wno-error=unknown-pragmas> + $<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=deprecated-declarations> + $<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=unused-parameter> + $<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=unused-property-ivar> +) + +target_link_libraries( + mbgl-compiler-options + INTERFACE + $<$<BOOL:${MBGL_WITH_COVERAGE}>:--coverage> + $<$<STREQUAL:${MBGL_WITH_SANITIZER},address>:-fsanitize=address> + $<$<STREQUAL:${MBGL_WITH_SANITIZER},thread>:-fsanitize=thread> + $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=undefined> +) -# Compiler configuration +cmake_policy(SET CMP0063 NEW) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_C_EXTENSIONS OFF) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED ON) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Required to avoid warnings when setting visibility -cmake_policy(SET CMP0063 NEW) -set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_C_VISIBILITY_PRESET hidden) - +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) -set(CMAKE_OSX_DEPLOYMENT_TARGET 10.11) - -option(WITH_COVERAGE "Enable coverage reports" OFF) -option(WITH_OSMESA "Use OSMesa headless backend" OFF) -option(WITH_EGL "Use EGL backend" OFF) -option(WITH_NODEJS "Download test dependencies like NPM and Node.js" ON) -option(WITH_ERROR "Add -Werror flag to build (turns warnings into errors)" ON) -option(WITH_NO_RTTI "Disable RTTI" ON) - -if (WITH_ERROR) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") +if(MBGL_WITH_QT) + find_package(Qt5Core REQUIRED) + set(CMAKE_AUTOMOC ON) + set(CMAKE_AUTORCC ON) endif() -include(cmake/mbgl.cmake) -include(cmake/vendor.cmake) -include(cmake/mason.cmake) -include(cmake/xcode.cmake) -include(cmake/doxygen.cmake) - -if(WITH_OSMESA AND WITH_EGL) - message(FATAL_ERROR "WITH_OSMESA and WITH_EGL are mutually exclusive.") -endif() - -if(WITH_EGL) - set(USE_GLES2 ON) -endif() - -if($ENV{CI}) - add_compile_options(-DCI_BUILD=1) +add_library( + mbgl-core STATIC + ${PROJECT_SOURCE_DIR}/include/mbgl/actor/actor.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/actor/actor_ref.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/actor/aspiring_actor.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/actor/established_actor.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/actor/mailbox.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/actor/message.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/actor/scheduler.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/annotation/annotation.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/gfx/backend_scope.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/gfx/renderable.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/gfx/renderer_backend.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/gfx/rendering_stats.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/background_layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/circle_layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/fill_extrusion_layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/fill_layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/heatmap_layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/hillshade_layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/layer_manager.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/line_layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/raster_layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/layermanager/symbol_layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/map/bound_options.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/map/camera.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/map/change.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/map/map.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/map/map_observer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/map/map_options.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/map/mode.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/map/projection_mode.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/math/clamp.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/math/log2.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/math/minmax.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/math/wrap.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/platform/settings.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/platform/thread.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/renderer/query.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/renderer/renderer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/renderer/renderer_frontend.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/renderer/renderer_observer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/renderer/renderer_state.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/storage/database_file_source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/storage/file_source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/storage/file_source_manager.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/storage/network_status.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/storage/offline.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/storage/online_file_source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/storage/resource.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/storage/resource_options.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/storage/resource_transform.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/storage/response.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/color_ramp_property_value.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/color_ramp_property_value.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/constant.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/coordinate.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/custom_geometry_source_options.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/filter.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/function.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/geojson.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/geojson_options.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/get_json_type.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/light.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/position.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/property_value.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/tileset.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion/transition_options.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/conversion_impl.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/assertion.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/at.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/boolean_operator.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/case.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/check_subtype.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/coalesce.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/coercion.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/collator.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/collator_expression.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/comparison.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/compound_expression.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/dsl.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/error.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/expression.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/find_zoom_curve.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/format_expression.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/format_section_override.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/formatted.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/get_covering_stops.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/image.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/image_expression.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/interpolate.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/interpolator.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/is_constant.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/is_expression.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/length.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/let.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/literal.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/match.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/number_format.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/parsing_context.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/step.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/type.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/value.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/filter.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/image.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layer_properties.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layers/background_layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layers/circle_layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layers/fill_extrusion_layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layers/fill_layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layers/heatmap_layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layers/hillshade_layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layers/line_layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layers/raster_layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/layers/symbol_layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/light.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/position.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/property_expression.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/property_value.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/sources/custom_geometry_source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/sources/geojson_source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/sources/image_source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/sources/raster_dem_source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/sources/raster_source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/sources/vector_source.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/style.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/style_property.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/transition_options.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/types.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/style/undefined.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/tile/tile_id.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/tile/tile_necessity.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/async_request.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/async_task.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/char_array_buffer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/chrono.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/color.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/compression.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/constants.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/convert.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/enum.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/event.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/exception.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/expected.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/feature.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/font_stack.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/geo.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/geojson.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/geometry.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/ignore.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/image.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/immutable.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/indexed_tuple.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/interpolate.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/logging.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/noncopyable.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/optional.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/platform.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/premultiply.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/projection.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/range.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/run_loop.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/size.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/string.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/thread.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/tileset.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/timer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/traits.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/type_list.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/unitbezier.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/util.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/variant.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/work_request.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/work_task.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/util/work_task_impl.hpp + ${PROJECT_SOURCE_DIR}/src/csscolorparser/csscolorparser.cpp + ${PROJECT_SOURCE_DIR}/src/csscolorparser/csscolorparser.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/actor/mailbox.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/actor/scheduler.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/algorithm/update_renderables.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/algorithm/update_tile_masks.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/annotation_manager.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/annotation_manager.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/annotation_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/annotation_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/annotation_tile.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/annotation_tile.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/fill_annotation_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/fill_annotation_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/line_annotation_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/line_annotation_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/render_annotation_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/render_annotation_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/shape_annotation_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/shape_annotation_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/symbol_annotation_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/annotation/symbol_annotation_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/geometry/anchor.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/geometry/debug_font_data.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/geometry/dem_data.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/geometry/dem_data.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/geometry/feature_index.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/geometry/feature_index.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/geometry/line_atlas.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/geometry/line_atlas.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/attribute.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/attribute.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/color_mode.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/command_encoder.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/context.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/cull_face_mode.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/debug_group.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/depth_mode.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/draw_mode.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/draw_scope.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/index_buffer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/index_vector.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/offscreen_texture.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/render_pass.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/renderbuffer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/renderer_backend.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/rendering_stats.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/stencil_mode.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/texture.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/types.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/uniform.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/upload_pass.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/vertex_buffer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gfx/vertex_vector.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/background_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/circle_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/fill_extrusion_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/fill_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/heatmap_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/hillshade_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/layer_manager.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/line_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/raster_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/symbol_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/clip_lines.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/clip_lines.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/layout.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/merge_lines.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/merge_lines.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/pattern_layout.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/symbol_feature.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/symbol_instance.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/symbol_instance.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/symbol_layout.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/symbol_layout.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/symbol_projection.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layout/symbol_projection.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/map/map.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/map/map_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/map/map_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/map/map_options.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/map/transform.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/map/transform.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/map/transform_state.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/map/transform_state.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/map/zoom_history.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/math/log2.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/platform/settings.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/attributes.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/background_pattern_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/background_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/background_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/circle_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/circle_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/clipping_mask_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/clipping_mask_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/collision_box_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/collision_box_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/collision_circle_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/debug_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/debug_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/fill_extrusion_pattern_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/fill_extrusion_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/fill_extrusion_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/fill_outline_pattern_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/fill_outline_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/fill_pattern_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/fill_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/fill_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/heatmap_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/heatmap_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/heatmap_texture_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/heatmap_texture_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/hillshade_prepare_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/hillshade_prepare_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/hillshade_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/hillshade_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/line_gradient_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/line_pattern_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/line_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/line_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/line_sdf_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/program_parameters.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/program_parameters.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/programs.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/programs.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/raster_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/raster_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/segment.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/symbol_icon_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/symbol_program.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/symbol_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/symbol_sdf_icon_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/symbol_sdf_text_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/symbol_text_and_icon_program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/textures.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/uniforms.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/backend_scope.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/bucket.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/bucket_parameters.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/bucket_parameters.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/circle_bucket.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/circle_bucket.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/debug_bucket.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/debug_bucket.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/fill_bucket.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/fill_bucket.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/fill_extrusion_bucket.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/heatmap_bucket.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/heatmap_bucket.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/hillshade_bucket.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/hillshade_bucket.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/line_bucket.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/line_bucket.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/raster_bucket.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/raster_bucket.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/symbol_bucket.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/buckets/symbol_bucket.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/cross_faded_property_evaluator.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/cross_faded_property_evaluator.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/data_driven_property_evaluator.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/group_by_layout.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/group_by_layout.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/image_atlas.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/image_atlas.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/image_manager.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/image_manager.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/image_manager_observer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_background_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_background_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_circle_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_circle_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_fill_extrusion_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_fill_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_fill_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_heatmap_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_heatmap_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_hillshade_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_hillshade_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_line_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_line_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_raster_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_raster_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_symbol_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_symbol_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/paint_parameters.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/paint_parameters.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/paint_property_binder.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/paint_property_statistics.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/pattern_atlas.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/pattern_atlas.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/possibly_evaluated_property_value.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/property_evaluation_parameters.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/property_evaluator.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_light.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_light.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_orchestrator.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_orchestrator.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_pass.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_source_observer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_static_data.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_static_data.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_tile.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_tile.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/render_tree.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/renderer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/renderer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/renderer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/renderer_state.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_custom_geometry_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_custom_geometry_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_geojson_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_geojson_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_image_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_image_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_raster_dem_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_raster_dem_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_raster_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_raster_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_tile_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_tile_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_vector_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/sources/render_vector_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/source_state.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/source_state.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/style_diff.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/style_diff.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/tile_mask.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/tile_parameters.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/tile_pyramid.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/tile_pyramid.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/tile_render_data.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/tile_render_data.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/transition_parameters.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/update_parameters.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/upload_parameters.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/sprite/sprite_loader.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/sprite/sprite_loader.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/sprite/sprite_loader_observer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/sprite/sprite_loader_worker.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/sprite/sprite_loader_worker.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/sprite/sprite_parser.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/sprite/sprite_parser.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/storage/asset_file_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/storage/file_source_manager.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/storage/http_file_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/storage/local_file_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/storage/main_resource_loader.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/storage/network_status.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/storage/resource.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/storage/resource_options.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/storage/resource_transform.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/storage/response.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/collection.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/color_ramp_property_value.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/constant.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/coordinate.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/custom_geometry_source_options.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/filter.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/function.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/geojson.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/geojson_options.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/get_json_type.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/json.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/light.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/position.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/property_value.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/stringify.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/tileset.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/conversion/transition_options.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/custom_tile_loader.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/custom_tile_loader.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/assertion.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/at.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/boolean_operator.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/case.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/check_subtype.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/coalesce.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/coercion.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/collator.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/collator_expression.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/comparison.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/compound_expression.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/dsl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/dsl_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/expression.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/find_zoom_curve.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/format_expression.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/formatted.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/get_covering_stops.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/image.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/image_expression.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/interpolate.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/is_constant.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/is_expression.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/length.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/let.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/literal.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/match.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/number_format.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/parsing_context.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/step.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/util.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/util.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/value.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/filter.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/image.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/image_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/image_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layer_observer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/background_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/background_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/background_layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/background_layer_properties.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/background_layer_properties.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/circle_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/circle_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/circle_layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/circle_layer_properties.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/circle_layer_properties.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/fill_extrusion_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/fill_extrusion_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/fill_extrusion_layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/fill_extrusion_layer_properties.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/fill_extrusion_layer_properties.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/fill_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/fill_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/fill_layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/fill_layer_properties.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/fill_layer_properties.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/heatmap_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/heatmap_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/heatmap_layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/heatmap_layer_properties.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/heatmap_layer_properties.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/hillshade_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/hillshade_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/hillshade_layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/hillshade_layer_properties.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/hillshade_layer_properties.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/line_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/line_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/line_layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/line_layer_properties.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/line_layer_properties.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/raster_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/raster_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/raster_layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/raster_layer_properties.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/raster_layer_properties.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/symbol_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/symbol_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/symbol_layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/symbol_layer_properties.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/symbol_layer_properties.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layout_property.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/light.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/light_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/light_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/light_observer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/observer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/paint_property.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/parser.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/parser.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/properties.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/property_expression.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/rapidjson_conversion.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/source_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/source_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/source_observer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/custom_geometry_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/custom_geometry_source_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/custom_geometry_source_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/geojson_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/geojson_source_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/geojson_source_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/image_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/image_source_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/image_source_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/raster_dem_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/raster_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/raster_source_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/raster_source_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/vector_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/vector_source_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/sources/vector_source_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/style.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/style_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/style_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/types.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/bidi.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/check_max_angle.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/check_max_angle.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/collision_feature.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/collision_feature.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/collision_index.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/collision_index.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/cross_tile_symbol_index.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/cross_tile_symbol_index.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/get_anchors.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/get_anchors.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/glyph.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/glyph.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/glyph_atlas.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/glyph_atlas.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/glyph_manager.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/glyph_manager.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/glyph_manager_observer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/glyph_pbf.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/glyph_pbf.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/glyph_range.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/language_tag.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/language_tag.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/local_glyph_rasterizer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/placement.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/placement.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/quads.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/quads.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/shaping.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/shaping.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/tagged_string.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/text/tagged_string.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/custom_geometry_tile.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/custom_geometry_tile.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/geojson_tile.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/geojson_tile.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/geojson_tile_data.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/geometry_tile.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/geometry_tile.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/geometry_tile_data.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/geometry_tile_data.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/geometry_tile_worker.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/geometry_tile_worker.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/raster_dem_tile.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/raster_dem_tile.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/raster_dem_tile_worker.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/raster_dem_tile_worker.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/raster_tile.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/raster_tile.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/raster_tile_worker.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/raster_tile_worker.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/tile.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/tile.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/tile_cache.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/tile_cache.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/tile_id_hash.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/tile_id_io.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/tile_loader.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/tile_loader_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/tile_observer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/vector_tile.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/vector_tile.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/vector_tile_data.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/tile/vector_tile_data.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/chrono.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/color.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/constants.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/convert.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/dtoa.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/dtoa.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/event.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/font_stack.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/geo.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/geojson_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/grid_index.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/grid_index.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/hash.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/http_header.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/http_header.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/http_timeout.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/http_timeout.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/i18n.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/i18n.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/id.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/id.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/interpolate.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/intersection_tests.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/intersection_tests.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/io.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/io.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/literal.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/logging.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/longest_common_subsequence.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/mapbox.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/mapbox.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/mat2.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/mat2.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/mat3.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/mat3.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/mat4.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/mat4.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/math.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/premultiply.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/rapidjson.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/rapidjson.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/rect.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/std.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/stopwatch.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/stopwatch.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/string.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/thread.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/thread_local.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/thread_pool.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/thread_pool.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/tile_coordinate.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/tile_cover.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/tile_cover.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/tile_cover_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/tile_cover_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/tile_range.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/tiny_sdf.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/tiny_sdf.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/token.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/url.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/url.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/utf.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/version.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/version.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/util/work_request.cpp + ${PROJECT_SOURCE_DIR}/src/parsedate/parsedate.cpp + ${PROJECT_SOURCE_DIR}/src/parsedate/parsedate.hpp +) + +if(MBGL_WITH_OPENGL) + message("-- Configuring GL-Native with OpenGL renderer backend") + target_compile_definitions( + mbgl-core + PRIVATE MBGL_RENDER_BACKEND_OPENGL=1 + ) + target_sources( + mbgl-core + PRIVATE + ${PROJECT_SOURCE_DIR}/include/mbgl/gfx/backend.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/gl/custom_layer.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/gl/custom_layer_factory.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/gl/renderable_resource.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/gl/renderer_backend.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/platform/gl_functions.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/attribute.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/attribute.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/command_encoder.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/command_encoder.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/context.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/context.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/custom_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/custom_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/custom_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/custom_layer_impl.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/debugging_extension.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/debugging_extension.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/defines.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/draw_scope_resource.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/enum.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/enum.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/extension.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/framebuffer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/index_buffer_resource.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/index_buffer_resource.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/object.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/object.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/offscreen_texture.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/offscreen_texture.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/program.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/render_pass.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/render_pass.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/renderbuffer_resource.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/renderer_backend.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/render_custom_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/render_custom_layer.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/state.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/texture.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/texture.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/texture_resource.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/texture_resource.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/types.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/uniform.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/uniform.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/upload_pass.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/upload_pass.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/value.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/value.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/vertex_array.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/vertex_array.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/vertex_array_extension.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/vertex_buffer_resource.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/gl/vertex_buffer_resource.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/platform/gl_functions.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/background.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/background_pattern.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/circle.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/clipping_mask.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/collision_box.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/collision_circle.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/debug.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/fill.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/fill_extrusion.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/fill_extrusion_pattern.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/fill_outline.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/fill_outline_pattern.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/fill_pattern.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/heatmap.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/heatmap_texture.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/hillshade.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/hillshade_prepare.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/line.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/line_gradient.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/line_pattern.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/line_sdf.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/preludes.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/raster.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/shader_source.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/shader_source.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/shaders.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/shaders.hpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/symbol_icon.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/symbol_sdf_icon.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/symbol_sdf_text.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/programs/gl/symbol_text_and_icon.cpp + ) endif() -set_property(GLOBAL PROPERTY USE_FOLDERS ON) - -if(EXISTS ${CMAKE_SOURCE_DIR}/.git/HEAD) - exec_program( - "git" - ${CMAKE_SOURCE_DIR} - ARGS "rev-parse --short=8 HEAD" - OUTPUT_VARIABLE MBGL_VERSION_REV ) +if(EXISTS ${PROJECT_SOURCE_DIR}/.git/HEAD) + execute_process( + COMMAND + git + rev-parse + --short=8 + HEAD + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE MBGL_VERSION_REV + OUTPUT_STRIP_TRAILING_WHITESPACE + ) else() set(MBGL_VERSION_REV 00000000) endif() -set_source_files_properties(src/mbgl/util/version.cpp PROPERTIES COMPILE_DEFINITIONS MBGL_VERSION_REV="${MBGL_VERSION_REV}") - -include(cmake/mason-dependencies.cmake) - -if(WITH_COVERAGE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --coverage") -endif(WITH_COVERAGE) - -if (CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-backtrace-limit=0 -w") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") -else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth=1024 -Wall -Wextra -Wshadow -Wnon-virtual-dtor -Wno-variadic-macros -Wno-unknown-pragmas") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wshadow -Wno-variadic-macros -Wno-unknown-pragmas") +set_source_files_properties( + ${PROJECT_SOURCE_DIR}/src/mbgl/util/version.cpp + PROPERTIES + COMPILE_DEFINITIONS + MBGL_VERSION_REV="${MBGL_VERSION_REV}" +) + +target_include_directories( + mbgl-core + PRIVATE ${PROJECT_SOURCE_DIR}/src +) + +target_include_directories( + mbgl-core + PUBLIC ${PROJECT_SOURCE_DIR}/include +) + +if(NOT TARGET mapbox-base) + add_subdirectory(${PROJECT_SOURCE_DIR}/vendor/mapbox-base/mapbox) + add_subdirectory(${PROJECT_SOURCE_DIR}/vendor/mapbox-base/extras) endif() -if(WITH_NO_RTTI) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") +include(${PROJECT_SOURCE_DIR}/vendor/boost.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/earcut.hpp.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/eternal.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/geojson-vt-cpp.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/polylabel.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/protozero.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/shelf-pack-cpp.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/unique_resource.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/vector-tile.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/wagyu.cmake) + +target_link_libraries( + mbgl-core + PRIVATE + Mapbox::Base::Extras::kdbush.hpp + Mapbox::Base::supercluster.hpp + mbgl-compiler-options + mbgl-vendor-boost + mbgl-vendor-earcut.hpp + mbgl-vendor-eternal + mbgl-vendor-geojson-vt-cpp + mbgl-vendor-polylabel + mbgl-vendor-protozero + mbgl-vendor-shelf-pack-cpp + mbgl-vendor-unique_resource + mbgl-vendor-vector-tile + mbgl-vendor-wagyu + PUBLIC + Mapbox::Base::Extras::expected-lite + Mapbox::Base::Extras::rapidjson + Mapbox::Base::geojson.hpp + Mapbox::Base::geometry.hpp + Mapbox::Base::optional + Mapbox::Base::typewrapper + Mapbox::Base::value + Mapbox::Base::variant + Mapbox::Base::weak +) + +set_property(TARGET mbgl-core PROPERTY FOLDER Core) + +add_library( + Mapbox::Map ALIAS mbgl-core +) + +if(MBGL_WITH_PLATFORM_EXTRAS) + include(${MBGL_WITH_PLATFORM_EXTRAS}) endif() -if(APPLE AND CMAKE_CXX_COMPILER_ID MATCHES ".*Clang") - # -Wno-error=unused-command-line-argument is required due to https://llvm.org/bugs/show_bug.cgi?id=7798 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unused-command-line-argument") -endif() - -set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os -DNDEBUG") -set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Os -DNDEBUG") -if(APPLE) - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -Os -DNDEBUG") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -Os -DNDEBUG") -else() - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -DNDEBUG") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 -DNDEBUG") -endif() -set(CMAKE_CXX_FLAGS_SANITIZE "${CMAKE_CXX_FLAGS_SANITIZE} -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls") -set(CMAKE_C_FLAGS_SANITIZE "${CMAKE_C_FLAGS_SANITIZE} -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls") - -if(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unknown-warning-option") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=unknown-warning-option") -elseif(CMAKE_COMPILER_IS_GNUCXX) - # https://svn.boost.org/trac/boost/ticket/9240 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fext-numeric-literals") -endif() - -set(CMAKE_SHARED_LINKER_FLAGS_SANITIZE "${CMAKE_SHARED_LINKER_FLAGS}") -set(CMAKE_EXE_LINKER_FLAGS_SANITIZE "${CMAKE_EXE_LINKER_FLAGS}") - -# Technique from https://crascit.com/2016/04/09/using-ccache-with-cmake/ -find_program(CCACHE_PROGRAM ccache) -if(CCACHE_PROGRAM) - set(C_LAUNCHER "${CCACHE_PROGRAM}") - set(CXX_LAUNCHER "${CCACHE_PROGRAM}") - - if(CMAKE_GENERATOR STREQUAL "Xcode") - # Set Xcode project attributes to route compilation and linking through our scripts - # Xcode doesn't include the path to the compiler/linker by default, so we'll have to add it. - configure_file(scripts/launch-c-xcode.in launch-c @ONLY) - configure_file(scripts/launch-cxx-xcode.in launch-cxx @ONLY) - - set(CMAKE_XCODE_ATTRIBUTE_CC "${CMAKE_BINARY_DIR}/launch-c") - set(CMAKE_XCODE_ATTRIBUTE_CXX "${CMAKE_BINARY_DIR}/launch-cxx") - set(CMAKE_XCODE_ATTRIBUTE_LD "${CMAKE_BINARY_DIR}/launch-c") - set(CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS "${CMAKE_BINARY_DIR}/launch-cxx") - else() - # Support Unix Makefiles and Ninja - configure_file(scripts/launch-c.in launch-c @ONLY) - configure_file(scripts/launch-cxx.in launch-cxx @ONLY) - - set(CMAKE_C_COMPILER_LAUNCHER "${CMAKE_BINARY_DIR}/launch-c") - set(CMAKE_CXX_COMPILER_LAUNCHER "${CMAKE_BINARY_DIR}/launch-cxx") - endif() - - execute_process(COMMAND chmod a+rx "${CMAKE_BINARY_DIR}/launch-c" "${CMAKE_BINARY_DIR}/launch-cxx") - - if(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang") - # ccache splits up the compile steps, so we end up with unused arguments in some steps. - # Clang also thinks that ccache isn't interactive, so we explicitly need to enable color. - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics") - endif() -elseif(WIN32) - find_program(CLCACHE_PROGRAM clcache) - if(CLCACHE_PROGRAM) - # clcache doesn't work with external pdb files - # https://github.com/frerich/clcache/issues/30 - string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") - string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") - endif() +if(MBGL_WITH_CORE_ONLY) + return() +elseif(MBGL_WITH_QT) + include(${PROJECT_SOURCE_DIR}/platform/qt/qt.cmake) +elseif(CMAKE_SYSTEM_NAME STREQUAL Android) + include(${PROJECT_SOURCE_DIR}/platform/android/android.cmake) +elseif(CMAKE_SYSTEM_NAME STREQUAL iOS) + include(${PROJECT_SOURCE_DIR}/platform/ios/ios.cmake) +elseif(CMAKE_SYSTEM_NAME STREQUAL Linux) + include(${PROJECT_SOURCE_DIR}/platform/linux/linux.cmake) +elseif(CMAKE_SYSTEM_NAME STREQUAL Darwin) + include(${PROJECT_SOURCE_DIR}/platform/macos/macos.cmake) else() - message(STATUS "Can't find ccache — consider installing ccache to improve recompilation performance") -endif() - -if(NOT EXISTS ${CMAKE_SOURCE_DIR}/platform/${MBGL_PLATFORM}/config.cmake) - message(ERROR "Can't find config.cmake file for platform ${MBGL_PLATFORM}") -endif() - -include(platform/${MBGL_PLATFORM}/config.cmake) - -add_definitions(-DMBGL_RENDER_BACKEND_OPENGL=1) - -if(WITH_EGL) - add_definitions(-DMBGL_WITH_EGL=1) -endif() - -if(USE_GLES2) - add_definitions(-DMBGL_USE_GLES2=1) -endif() - -if (COMMAND mbgl_filesource) - include(cmake/filesource.cmake) + message(FATAL_ERROR "Unsupported target platform: " ${CMAKE_SYSTEM_NAME}) endif() -include(cmake/core.cmake) - -if(COMMAND mbgl_platform_test) - include(cmake/test.cmake) - include(cmake/render-test.cmake) - include(cmake/expression-test.cmake) -endif() - -if(COMMAND mbgl_platform_benchmark) - include(cmake/benchmark.cmake) -endif() - -if(COMMAND mbgl_platform_glfw) - include(cmake/glfw.cmake) -endif() - -if(COMMAND mbgl_platform_render) - include(cmake/render.cmake) -endif() - -if(COMMAND mbgl_platform_offline) - include(cmake/offline.cmake) -endif() - -if(WITH_NODEJS AND COMMAND mbgl_platform_node) - include(cmake/node.cmake) -endif() - -if(CMAKE_GENERATOR STREQUAL "Xcode") - set_xcconfig_target_properties(mbgl-core) - set_xcconfig_target_properties(mbgl-filesource) - file(GENERATE - OUTPUT "${CMAKE_BINARY_DIR}/config.xcconfig" - INPUT "${CMAKE_SOURCE_DIR}/scripts/config.xcconfig.in" - ) -endif() +add_subdirectory(${PROJECT_SOURCE_DIR}/test) +add_subdirectory(${PROJECT_SOURCE_DIR}/benchmark) +add_subdirectory(${PROJECT_SOURCE_DIR}/render-test) @@ -1,24 +1,42 @@ # Mapbox GL Native -A library for embedding interactive, customizable vector maps into native applications on multiple platforms. It takes stylesheets that conform to the [Mapbox Style Specification](https://github.com/mapbox/mapbox-gl-style-spec/), applies them to vector tiles that conform to the [Mapbox Vector Tile Specification](https://github.com/mapbox/vector-tile-spec), and renders them using OpenGL. [Mapbox GL JS](https://github.com/mapbox/mapbox-gl-js) is the WebGL-based counterpart, designed for use on the Web. +A library for embedding interactive, customizable vector maps into native applications on multiple platforms. It +takes stylesheets that conform to the [Mapbox Style Specification](https://github.com/mapbox/mapbox-gl-style-spec/), +applies them to vector tiles that conform to the [Mapbox Vector Tile Specification](https://github.com/mapbox/vector-tile-spec), +and renders them using OpenGL. [Mapbox GL JS](https://github.com/mapbox/mapbox-gl-js) is the WebGL-based counterpart, +designed for use on the Web. + +| SDK | Languages | Build status | +| --------------------------------------------------- | ---------------------------------- | ---------------------------------------- | +| Mapbox GL Native Core | C++14 | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) [![Coverage Status](https://codecov.io/gh/mapbox/mapbox-gl-native/branch/master/graph/badge.svg)](https://codecov.io/gh/mapbox/mapbox-gl-native) | +| [Mapbox Maps SDK for Android](../platform/android/) | Java | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | +| [Mapbox Maps SDK for iOS](../platform/ios/) | Objective-C or Swift | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | +| [Mapbox Maps SDK for macOS](../platform/macos/) | Objective-C, Swift, or AppleScript | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | +| [node-mapbox-gl-native](../platform/node/) | Node.js | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | +| [Mapbox Maps SDK for Qt](../platform/qt) | C++03 | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) [![AppVeyor CI build status](https://ci.appveyor.com/api/projects/status/3q12kbcooc6df8uc?svg=true)](https://ci.appveyor.com/project/Mapbox/mapbox-gl-native) | -## The Mapbox GL ecosystem +[Additional Mapbox GL Native–based libraries](https://wiki.openstreetmap.org/wiki/Mapbox_GL#Libraries) for **hybrid applications** are developed outside of this repository. If your platform or hybrid application framework isn’t listed there, consider embedding [Mapbox GL JS](https://github.com/mapbox/mapbox-gl-js) using the standard Web capabilities on your platform. -This repository hosts the cross-platform Mapbox GL Native library, plus convenient SDKs for several platforms. The cross-platform library comes with a [GLFW](https://github.com/glfw/glfw)-based demo application for Ubuntu Linux and macOS. The SDKs target the usual languages on their respective platforms: +## License -| SDK | Languages | Build status | -| --------------------------------------- | ---------------------------------- | ---------------------------------------- | -| [Mapbox GL Native](INSTALL.md) | C++14 | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) [![Coverage Status](https://codecov.io/gh/mapbox/mapbox-gl-native/branch/master/graph/badge.svg)](https://codecov.io/gh/mapbox/mapbox-gl-native) | -| [Mapbox Maps SDK for Android](https://github.com/mapbox/mapbox-gl-native-android) | Java | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native-android.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native-android/tree/master) | -| [Mapbox Maps SDK for iOS](platform/ios/) | Objective-C or Swift | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | -| [Mapbox Maps SDK for macOS](platform/macos/) | Objective-C, Swift, or AppleScript | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | -| [node-mapbox-gl-native](platform/node/) | Node.js | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | -| [Mapbox Maps SDK for Qt](platform/qt) | C++03 | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) [![AppVeyor CI build status](https://ci.appveyor.com/api/projects/status/3q12kbcooc6df8uc?svg=true)](https://ci.appveyor.com/project/Mapbox/mapbox-gl-native) | +Mapbox GL Native is licensed under the [3-Clause BSD license](../LICENSE.md). -[Additional Mapbox GL Native–based libraries](https://wiki.openstreetmap.org/wiki/Mapbox_GL#Libraries) for **hybrid applications** are developed outside of this repository. If your platform or hybrid application framework isn’t listed there, consider embedding [Mapbox GL JS](https://github.com/mapbox/mapbox-gl-js) using the standard Web capabilities on your platform. +## Developing -## License +The `next` directory contains the next generation buildsystem for Mapbox GL Native, based solely on CMake with the +goal of minimizing the use of scripts, increase portability and support building Mapbox GL Native as a subdirectory +of another CMake project. This new buildsystem is also designed to build offline, making use of pre-installed and +vendorized dependencies. When using the build bot docker image, the build should produce the exact same results as +the bots, making it a hermetically sealed build for Linux, Qt and Android. + +### Building and running tests -Mapbox GL Native is licensed under the [2-Clause BSD license](LICENSE.md). The licenses of its dependencies are tracked via [FOSSA](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmapbox%2Fmapbox-gl-native): +The following command, executed from the root of this repository tree, will build Mapbox GL Native targeting your +host architecture given that you have all the dependencies installed. -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmapbox%2Fmapbox-gl-native.svg?type=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmapbox%2Fmapbox-gl-native) +``` +$ mkdir build && cd build +$ cmake .. +$ make -j8 +$ make test ARGS=-V +``` diff --git a/appveyor.yml b/appveyor.yml index 2440c3f601..16e7127098 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -78,13 +78,11 @@ before_build: build_script: - call "%VCVARSALL%" amd64 - - cmake -E remove ../next/vendor - - cmake -E copy_directory ../vendor ../next/vendor - cmake -G "Ninja" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DCMAKE_MAKE_PROGRAM="%APPVEYOR_BUILD_FOLDER%\platform\qt\ninja.exe" -DCMAKE_PREFIX_PATH=%QT_PREFIX% -DMBGL_WITH_QT=ON - ../next + .. - cmake --build . --target qmapboxgl -- -j %NUMBER_OF_PROCESSORS% - clcache -s diff --git a/benchmark/CMakeLists.txt b/benchmark/CMakeLists.txt new file mode 100644 index 0000000000..a619bfbd36 --- /dev/null +++ b/benchmark/CMakeLists.txt @@ -0,0 +1,38 @@ +add_library( + mbgl-benchmark STATIC EXCLUDE_FROM_ALL + ${PROJECT_SOURCE_DIR}/benchmark/api/query.benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/api/render.benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/function/camera_function.benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/function/composite_function.benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/function/source_function.benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/parse/filter.benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/parse/tile_mask.benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/parse/vector_tile.benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/src/mbgl/benchmark/benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/storage/offline_database.benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/util/dtoa.benchmark.cpp + ${PROJECT_SOURCE_DIR}/benchmark/util/tilecover.benchmark.cpp +) + +target_include_directories( + mbgl-benchmark + PRIVATE ${PROJECT_SOURCE_DIR}/benchmark/src ${PROJECT_SOURCE_DIR}/platform/default/include ${PROJECT_SOURCE_DIR}/src +) + +target_include_directories( + mbgl-benchmark + PUBLIC ${PROJECT_SOURCE_DIR}/benchmark/include ${PROJECT_SOURCE_DIR}/include +) + +include(${PROJECT_SOURCE_DIR}/vendor/benchmark.cmake) + +# Needed for testing private classes +get_target_property(MBGL_CORE_PRIVATE_LIBRARIES mbgl-core LINK_LIBRARIES) + +target_link_libraries( + mbgl-benchmark + PRIVATE ${MBGL_CORE_PRIVATE_LIBRARIES} mbgl-vendor-benchmark mbgl-compiler-options + PUBLIC mbgl-core +) + +set_property(TARGET mbgl-benchmark PROPERTY FOLDER Core) diff --git a/benchmark/android/app/build.gradle b/benchmark/android/app/build.gradle index d355286585..d33d19d66f 100644 --- a/benchmark/android/app/build.gradle +++ b/benchmark/android/app/build.gradle @@ -33,7 +33,7 @@ android { externalNativeBuild { cmake { version '3.10.2' - path '../../../next/CMakeLists.txt' + path '../../../CMakeLists.txt' } } buildTypes { diff --git a/next/bin/CMakeLists.txt b/bin/CMakeLists.txt index b2414a6c82..8f265ecb91 100644 --- a/next/bin/CMakeLists.txt +++ b/bin/CMakeLists.txt @@ -1,6 +1,6 @@ add_executable( mbgl-cache - ${MBGL_ROOT}/bin/cache.cpp + ${PROJECT_SOURCE_DIR}/bin/cache.cpp ) target_link_libraries( @@ -14,7 +14,7 @@ target_link_libraries( add_executable( mbgl-offline - ${MBGL_ROOT}/bin/offline.cpp + ${PROJECT_SOURCE_DIR}/bin/offline.cpp ) target_link_libraries( @@ -24,7 +24,7 @@ target_link_libraries( add_executable( mbgl-render - ${MBGL_ROOT}/bin/render.cpp + ${PROJECT_SOURCE_DIR}/bin/render.cpp ) target_link_libraries( @@ -37,6 +37,6 @@ install(TARGETS mbgl-offline mbgl-render RUNTIME DESTINATION bin) # FIXME: CI must have a valid token # # add_test(NAME mbgl-offline-tool-test COMMAND mbgl-offline -s mapbox://styles/mapbox/satellite-v9 --maxZoom=0 WORKING_DIRECTORY -# ${MBGL_ROOT} ) +# ${PROJECT_SOURCE_DIR} ) # -# add_test(NAME mbgl-render-tool-test COMMAND mbgl-render WORKING_DIRECTORY ${MBGL_ROOT} ) +# add_test(NAME mbgl-render-tool-test COMMAND mbgl-render WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} ) diff --git a/circle.yml b/circle.yml index 65a37e3bf2..025b58fb00 100644 --- a/circle.yml +++ b/circle.yml @@ -226,7 +226,7 @@ commands: - run: name: Configure command: | - cmake next -B build << parameters.config_params >> + cmake . -B build << parameters.config_params >> build: parameters: build_params: @@ -320,7 +320,7 @@ jobs: - run: name: Build command: | - cmake next -B Build -G Xcode -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_SYSROOT=iphonesimulator + cmake . -B Build -G Xcode -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_SYSROOT=iphonesimulator cd Build && xcodebuild -sdk iphonesimulator -project Mapbox\ GL\ Native.xcodeproj -configuration Release - save ios-render-test-runner: @@ -341,7 +341,7 @@ jobs: name: Build IOS RenderTestApp command: | cd render-test/ios - cmake ../../next -B Build -G Xcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DMBGL_IOS_RENDER_TEST=ON + cmake ../.. -B Build -G Xcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DMBGL_IOS_RENDER_TEST=ON cd Build xcodebuild -sdk iphoneos -project Mapbox\ GL\ Native.xcodeproj -scheme RenderTestApp build-for-testing -arch arm64 CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -configuration Release xcodebuild -sdk iphoneos -project Mapbox\ GL\ Native.xcodeproj build -target RenderTestAppTests -arch arm64 CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -configuration Release @@ -391,8 +391,8 @@ jobs: cd ../.. && mkdir -p /tmp/tests/ios-render-test if ls render-test-app/TestLogs/*.html 1> /dev/null 2>&1; then cp render-test-app/TestLogs/*.html /tmp/tests/ios-render-test; fi if [[ -n $(ls render-test-app/TestLogs/*.zip 2>/dev/null) ]]; then - cp render-test-app/TestLogs/*.zip metrics/next-ios-render-test-runner/ - cd metrics/next-ios-render-test-runner/ + cp render-test-app/TestLogs/*.zip metrics/ios-render-test-runner/ + cd metrics/ios-render-test-runner/ unzip *.zip rm -rf *.zip fi @@ -528,7 +528,8 @@ jobs: - run: name: CMake Format command: | - cmake-format -i $(find next -type f -name CMakeLists.txt -o -name '*.cmake') + cmake-format -i $(find -name '*.cmake' -and -not -path './vendor/*/*' -and -not -path './build/*') + cmake-format -i $(find -name CMakeLists.txt -and -not -path './vendor/*/*' -and -not -path './build/*') git diff --exit-code | tee nitpick.patch - run: name: Clang Format diff --git a/expression-test/CMakeLists.txt b/expression-test/CMakeLists.txt new file mode 100644 index 0000000000..5f8f8758a2 --- /dev/null +++ b/expression-test/CMakeLists.txt @@ -0,0 +1,38 @@ +add_executable( + mbgl-expression-test + ${PROJECT_SOURCE_DIR}/expression-test/expression_test_logger.cpp + ${PROJECT_SOURCE_DIR}/expression-test/expression_test_logger.hpp + ${PROJECT_SOURCE_DIR}/expression-test/expression_test_parser.cpp + ${PROJECT_SOURCE_DIR}/expression-test/expression_test_parser.hpp + ${PROJECT_SOURCE_DIR}/expression-test/expression_test_runner.cpp + ${PROJECT_SOURCE_DIR}/expression-test/expression_test_runner.hpp + ${PROJECT_SOURCE_DIR}/expression-test/test_runner_common.cpp + ${PROJECT_SOURCE_DIR}/expression-test/test_runner_common.hpp + ${PROJECT_SOURCE_DIR}/expression-test/main.cpp +) + +target_compile_definitions( + mbgl-expression-test + PRIVATE TEST_RUNNER_ROOT_PATH="${PROJECT_SOURCE_DIR}" +) + +# FIXME: Should not use core private interface +target_include_directories( + mbgl-expression-test + PRIVATE ${PROJECT_SOURCE_DIR}/src +) + +target_link_libraries( + mbgl-expression-test + PRIVATE + Mapbox::Base::Extras::args + Mapbox::Base::Extras::filesystem + Mapbox::Base::io + mbgl-core +) + +set_property(TARGET mbgl-expression-test PROPERTY FOLDER Executables) + +string(RANDOM LENGTH 5 ALPHABET 0123456789 MBGL_EXPRESSION_TEST_SEED) + +add_test(NAME mbgl-expression-test COMMAND mbgl-expression-test -s --seed=${MBGL_EXPRESSION_TEST_SEED} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) diff --git a/next/CMakeLists.txt b/next/CMakeLists.txt deleted file mode 100644 index 50b1f62ccc..0000000000 --- a/next/CMakeLists.txt +++ /dev/null @@ -1,1008 +0,0 @@ -cmake_minimum_required(VERSION 3.10 FATAL_ERROR) -project("Mapbox GL Native" LANGUAGES CXX C) - -# TODO: Remove when PROJECT_SOURCE_DIR becomes the actual root. -set(MBGL_ROOT ${PROJECT_SOURCE_DIR}/..) - -set_property(GLOBAL PROPERTY USE_FOLDERS ON) -set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER Core) - -set( - MEMORYCHECK_COMMAND_OPTIONS - "--leak-check=full --gen-suppressions=all --error-exitcode=1 --suppressions=${MBGL_ROOT}/scripts/valgrind.sup" -) - -include(CTest) - -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Release) -endif() - -option(MBGL_WITH_CORE_ONLY "Build only the core bits, no platform code" OFF) -option(MBGL_WITH_COVERAGE "Enable code coverage collection" OFF) -option(MBGL_WITH_QT "Build Mapbox GL Qt bindings" OFF) -option(MBGL_WITH_SANITIZER "Use [address|thread|undefined] here" OFF) -option(MBGL_WITH_RTTI "Compile with runtime type information" OFF) -option(MBGL_WITH_OPENGL "Build with OpenGL renderer" ON) - -add_library( - mbgl-compiler-options INTERFACE -) - -target_compile_options( - mbgl-compiler-options - INTERFACE - $<$<BOOL:${MBGL_WITH_COVERAGE}>:--coverage> - $<$<BOOL:${MBGL_WITH_SANITIZER}>:-DSANITIZE> - $<$<BOOL:${MBGL_WITH_SANITIZER}>:-fno-omit-frame-pointer> - $<$<BOOL:${MBGL_WITH_SANITIZER}>:-fno-optimize-sibling-calls> - $<$<STREQUAL:${MBGL_WITH_SANITIZER},address>:-fsanitize=address> - $<$<STREQUAL:${MBGL_WITH_SANITIZER},thread>:-fsanitize=thread> - $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=implicit-conversion> - $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=undefined> - $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=unsigned-integer-overflow> - $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<BOOL:${MBGL_WITH_RTTI}>>>:-fno-rtti> - $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wall> - $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wshadow> - $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wextra> - $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Werror> - $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<PLATFORM_ID:Android>>:-Wno-error=tautological-constant-compare> - $<$<CXX_COMPILER_ID:GNU>:-Wno-error=maybe-uninitialized> - $<$<CXX_COMPILER_ID:GNU>:-Wno-error=return-type> - $<$<CXX_COMPILER_ID:GNU>:-Wno-error=unknown-pragmas> - $<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=deprecated-declarations> - $<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=unused-parameter> - $<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=unused-property-ivar> -) - -target_link_libraries( - mbgl-compiler-options - INTERFACE - $<$<BOOL:${MBGL_WITH_COVERAGE}>:--coverage> - $<$<STREQUAL:${MBGL_WITH_SANITIZER},address>:-fsanitize=address> - $<$<STREQUAL:${MBGL_WITH_SANITIZER},thread>:-fsanitize=thread> - $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=undefined> -) - -cmake_policy(SET CMP0063 NEW) -set(CMAKE_CXX_EXTENSIONS OFF) -set(CMAKE_CXX_STANDARD 14) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_VISIBILITY_PRESET hidden) -set(CMAKE_C_EXTENSIONS OFF) -set(CMAKE_C_STANDARD 99) -set(CMAKE_C_STANDARD_REQUIRED ON) -set(CMAKE_C_VISIBILITY_PRESET hidden) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL ON) -set(CMAKE_POSITION_INDEPENDENT_CODE ON) -set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) - -if(MBGL_WITH_QT) - find_package(Qt5Core REQUIRED) - set(CMAKE_AUTOMOC ON) - set(CMAKE_AUTORCC ON) -endif() - -add_library( - mbgl-core STATIC - ${MBGL_ROOT}/include/mbgl/actor/actor.hpp - ${MBGL_ROOT}/include/mbgl/actor/actor_ref.hpp - ${MBGL_ROOT}/include/mbgl/actor/aspiring_actor.hpp - ${MBGL_ROOT}/include/mbgl/actor/established_actor.hpp - ${MBGL_ROOT}/include/mbgl/actor/mailbox.hpp - ${MBGL_ROOT}/include/mbgl/actor/message.hpp - ${MBGL_ROOT}/include/mbgl/actor/scheduler.hpp - ${MBGL_ROOT}/include/mbgl/annotation/annotation.hpp - ${MBGL_ROOT}/include/mbgl/gfx/backend_scope.hpp - ${MBGL_ROOT}/include/mbgl/gfx/renderable.hpp - ${MBGL_ROOT}/include/mbgl/gfx/renderer_backend.hpp - ${MBGL_ROOT}/include/mbgl/gfx/rendering_stats.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/background_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/circle_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/fill_extrusion_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/fill_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/heatmap_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/hillshade_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/layer_manager.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/line_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/raster_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/symbol_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/map/bound_options.hpp - ${MBGL_ROOT}/include/mbgl/map/camera.hpp - ${MBGL_ROOT}/include/mbgl/map/change.hpp - ${MBGL_ROOT}/include/mbgl/map/map.hpp - ${MBGL_ROOT}/include/mbgl/map/map_observer.hpp - ${MBGL_ROOT}/include/mbgl/map/map_options.hpp - ${MBGL_ROOT}/include/mbgl/map/mode.hpp - ${MBGL_ROOT}/include/mbgl/map/projection_mode.hpp - ${MBGL_ROOT}/include/mbgl/math/clamp.hpp - ${MBGL_ROOT}/include/mbgl/math/log2.hpp - ${MBGL_ROOT}/include/mbgl/math/minmax.hpp - ${MBGL_ROOT}/include/mbgl/math/wrap.hpp - ${MBGL_ROOT}/include/mbgl/platform/settings.hpp - ${MBGL_ROOT}/include/mbgl/platform/thread.hpp - ${MBGL_ROOT}/include/mbgl/renderer/query.hpp - ${MBGL_ROOT}/include/mbgl/renderer/renderer.hpp - ${MBGL_ROOT}/include/mbgl/renderer/renderer_frontend.hpp - ${MBGL_ROOT}/include/mbgl/renderer/renderer_observer.hpp - ${MBGL_ROOT}/include/mbgl/renderer/renderer_state.hpp - ${MBGL_ROOT}/include/mbgl/storage/database_file_source.hpp - ${MBGL_ROOT}/include/mbgl/storage/file_source.hpp - ${MBGL_ROOT}/include/mbgl/storage/file_source_manager.hpp - ${MBGL_ROOT}/include/mbgl/storage/network_status.hpp - ${MBGL_ROOT}/include/mbgl/storage/offline.hpp - ${MBGL_ROOT}/include/mbgl/storage/online_file_source.hpp - ${MBGL_ROOT}/include/mbgl/storage/resource.hpp - ${MBGL_ROOT}/include/mbgl/storage/resource_options.hpp - ${MBGL_ROOT}/include/mbgl/storage/resource_transform.hpp - ${MBGL_ROOT}/include/mbgl/storage/response.hpp - ${MBGL_ROOT}/include/mbgl/style/color_ramp_property_value.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/color_ramp_property_value.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/constant.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/coordinate.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/custom_geometry_source_options.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/filter.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/function.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/geojson.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/geojson_options.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/get_json_type.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/layer.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/light.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/position.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/property_value.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/source.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/tileset.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion/transition_options.hpp - ${MBGL_ROOT}/include/mbgl/style/conversion_impl.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/assertion.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/at.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/boolean_operator.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/case.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/check_subtype.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/coalesce.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/coercion.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/collator.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/collator_expression.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/comparison.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/compound_expression.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/dsl.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/error.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/expression.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/find_zoom_curve.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/format_expression.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/format_section_override.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/formatted.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/get_covering_stops.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/image.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/image_expression.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/interpolate.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/interpolator.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/is_constant.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/is_expression.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/length.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/let.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/literal.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/match.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/number_format.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/parsing_context.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/step.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/type.hpp - ${MBGL_ROOT}/include/mbgl/style/expression/value.hpp - ${MBGL_ROOT}/include/mbgl/style/filter.hpp - ${MBGL_ROOT}/include/mbgl/style/image.hpp - ${MBGL_ROOT}/include/mbgl/style/layer.hpp - ${MBGL_ROOT}/include/mbgl/style/layer_properties.hpp - ${MBGL_ROOT}/include/mbgl/style/layers/background_layer.hpp - ${MBGL_ROOT}/include/mbgl/style/layers/circle_layer.hpp - ${MBGL_ROOT}/include/mbgl/style/layers/fill_extrusion_layer.hpp - ${MBGL_ROOT}/include/mbgl/style/layers/fill_layer.hpp - ${MBGL_ROOT}/include/mbgl/style/layers/heatmap_layer.hpp - ${MBGL_ROOT}/include/mbgl/style/layers/hillshade_layer.hpp - ${MBGL_ROOT}/include/mbgl/style/layers/line_layer.hpp - ${MBGL_ROOT}/include/mbgl/style/layers/raster_layer.hpp - ${MBGL_ROOT}/include/mbgl/style/layers/symbol_layer.hpp - ${MBGL_ROOT}/include/mbgl/style/light.hpp - ${MBGL_ROOT}/include/mbgl/style/position.hpp - ${MBGL_ROOT}/include/mbgl/style/property_expression.hpp - ${MBGL_ROOT}/include/mbgl/style/property_value.hpp - ${MBGL_ROOT}/include/mbgl/style/source.hpp - ${MBGL_ROOT}/include/mbgl/style/sources/custom_geometry_source.hpp - ${MBGL_ROOT}/include/mbgl/style/sources/geojson_source.hpp - ${MBGL_ROOT}/include/mbgl/style/sources/image_source.hpp - ${MBGL_ROOT}/include/mbgl/style/sources/raster_dem_source.hpp - ${MBGL_ROOT}/include/mbgl/style/sources/raster_source.hpp - ${MBGL_ROOT}/include/mbgl/style/sources/vector_source.hpp - ${MBGL_ROOT}/include/mbgl/style/style.hpp - ${MBGL_ROOT}/include/mbgl/style/style_property.hpp - ${MBGL_ROOT}/include/mbgl/style/transition_options.hpp - ${MBGL_ROOT}/include/mbgl/style/types.hpp - ${MBGL_ROOT}/include/mbgl/style/undefined.hpp - ${MBGL_ROOT}/include/mbgl/tile/tile_id.hpp - ${MBGL_ROOT}/include/mbgl/tile/tile_necessity.hpp - ${MBGL_ROOT}/include/mbgl/util/async_request.hpp - ${MBGL_ROOT}/include/mbgl/util/async_task.hpp - ${MBGL_ROOT}/include/mbgl/util/char_array_buffer.hpp - ${MBGL_ROOT}/include/mbgl/util/chrono.hpp - ${MBGL_ROOT}/include/mbgl/util/color.hpp - ${MBGL_ROOT}/include/mbgl/util/compression.hpp - ${MBGL_ROOT}/include/mbgl/util/constants.hpp - ${MBGL_ROOT}/include/mbgl/util/convert.hpp - ${MBGL_ROOT}/include/mbgl/util/enum.hpp - ${MBGL_ROOT}/include/mbgl/util/event.hpp - ${MBGL_ROOT}/include/mbgl/util/exception.hpp - ${MBGL_ROOT}/include/mbgl/util/expected.hpp - ${MBGL_ROOT}/include/mbgl/util/feature.hpp - ${MBGL_ROOT}/include/mbgl/util/font_stack.hpp - ${MBGL_ROOT}/include/mbgl/util/geo.hpp - ${MBGL_ROOT}/include/mbgl/util/geojson.hpp - ${MBGL_ROOT}/include/mbgl/util/geometry.hpp - ${MBGL_ROOT}/include/mbgl/util/ignore.hpp - ${MBGL_ROOT}/include/mbgl/util/image.hpp - ${MBGL_ROOT}/include/mbgl/util/immutable.hpp - ${MBGL_ROOT}/include/mbgl/util/indexed_tuple.hpp - ${MBGL_ROOT}/include/mbgl/util/interpolate.hpp - ${MBGL_ROOT}/include/mbgl/util/logging.hpp - ${MBGL_ROOT}/include/mbgl/util/noncopyable.hpp - ${MBGL_ROOT}/include/mbgl/util/optional.hpp - ${MBGL_ROOT}/include/mbgl/util/platform.hpp - ${MBGL_ROOT}/include/mbgl/util/premultiply.hpp - ${MBGL_ROOT}/include/mbgl/util/projection.hpp - ${MBGL_ROOT}/include/mbgl/util/range.hpp - ${MBGL_ROOT}/include/mbgl/util/run_loop.hpp - ${MBGL_ROOT}/include/mbgl/util/size.hpp - ${MBGL_ROOT}/include/mbgl/util/string.hpp - ${MBGL_ROOT}/include/mbgl/util/thread.hpp - ${MBGL_ROOT}/include/mbgl/util/tileset.hpp - ${MBGL_ROOT}/include/mbgl/util/timer.hpp - ${MBGL_ROOT}/include/mbgl/util/traits.hpp - ${MBGL_ROOT}/include/mbgl/util/type_list.hpp - ${MBGL_ROOT}/include/mbgl/util/unitbezier.hpp - ${MBGL_ROOT}/include/mbgl/util/util.hpp - ${MBGL_ROOT}/include/mbgl/util/variant.hpp - ${MBGL_ROOT}/include/mbgl/util/work_request.hpp - ${MBGL_ROOT}/include/mbgl/util/work_task.hpp - ${MBGL_ROOT}/include/mbgl/util/work_task_impl.hpp - ${MBGL_ROOT}/src/csscolorparser/csscolorparser.cpp - ${MBGL_ROOT}/src/csscolorparser/csscolorparser.hpp - ${MBGL_ROOT}/src/mbgl/actor/mailbox.cpp - ${MBGL_ROOT}/src/mbgl/actor/scheduler.cpp - ${MBGL_ROOT}/src/mbgl/algorithm/update_renderables.hpp - ${MBGL_ROOT}/src/mbgl/algorithm/update_tile_masks.hpp - ${MBGL_ROOT}/src/mbgl/annotation/annotation_manager.cpp - ${MBGL_ROOT}/src/mbgl/annotation/annotation_manager.hpp - ${MBGL_ROOT}/src/mbgl/annotation/annotation_source.cpp - ${MBGL_ROOT}/src/mbgl/annotation/annotation_source.hpp - ${MBGL_ROOT}/src/mbgl/annotation/annotation_tile.cpp - ${MBGL_ROOT}/src/mbgl/annotation/annotation_tile.hpp - ${MBGL_ROOT}/src/mbgl/annotation/fill_annotation_impl.cpp - ${MBGL_ROOT}/src/mbgl/annotation/fill_annotation_impl.hpp - ${MBGL_ROOT}/src/mbgl/annotation/line_annotation_impl.cpp - ${MBGL_ROOT}/src/mbgl/annotation/line_annotation_impl.hpp - ${MBGL_ROOT}/src/mbgl/annotation/render_annotation_source.cpp - ${MBGL_ROOT}/src/mbgl/annotation/render_annotation_source.hpp - ${MBGL_ROOT}/src/mbgl/annotation/shape_annotation_impl.cpp - ${MBGL_ROOT}/src/mbgl/annotation/shape_annotation_impl.hpp - ${MBGL_ROOT}/src/mbgl/annotation/symbol_annotation_impl.cpp - ${MBGL_ROOT}/src/mbgl/annotation/symbol_annotation_impl.hpp - ${MBGL_ROOT}/src/mbgl/geometry/anchor.hpp - ${MBGL_ROOT}/src/mbgl/geometry/debug_font_data.hpp - ${MBGL_ROOT}/src/mbgl/geometry/dem_data.cpp - ${MBGL_ROOT}/src/mbgl/geometry/dem_data.hpp - ${MBGL_ROOT}/src/mbgl/geometry/feature_index.cpp - ${MBGL_ROOT}/src/mbgl/geometry/feature_index.hpp - ${MBGL_ROOT}/src/mbgl/geometry/line_atlas.cpp - ${MBGL_ROOT}/src/mbgl/geometry/line_atlas.hpp - ${MBGL_ROOT}/src/mbgl/gfx/attribute.cpp - ${MBGL_ROOT}/src/mbgl/gfx/attribute.hpp - ${MBGL_ROOT}/src/mbgl/gfx/color_mode.hpp - ${MBGL_ROOT}/src/mbgl/gfx/command_encoder.hpp - ${MBGL_ROOT}/src/mbgl/gfx/context.hpp - ${MBGL_ROOT}/src/mbgl/gfx/cull_face_mode.hpp - ${MBGL_ROOT}/src/mbgl/gfx/debug_group.hpp - ${MBGL_ROOT}/src/mbgl/gfx/depth_mode.hpp - ${MBGL_ROOT}/src/mbgl/gfx/draw_mode.hpp - ${MBGL_ROOT}/src/mbgl/gfx/draw_scope.hpp - ${MBGL_ROOT}/src/mbgl/gfx/index_buffer.hpp - ${MBGL_ROOT}/src/mbgl/gfx/index_vector.hpp - ${MBGL_ROOT}/src/mbgl/gfx/offscreen_texture.hpp - ${MBGL_ROOT}/src/mbgl/gfx/program.hpp - ${MBGL_ROOT}/src/mbgl/gfx/render_pass.hpp - ${MBGL_ROOT}/src/mbgl/gfx/renderbuffer.hpp - ${MBGL_ROOT}/src/mbgl/gfx/renderer_backend.cpp - ${MBGL_ROOT}/src/mbgl/gfx/rendering_stats.cpp - ${MBGL_ROOT}/src/mbgl/gfx/stencil_mode.hpp - ${MBGL_ROOT}/src/mbgl/gfx/texture.hpp - ${MBGL_ROOT}/src/mbgl/gfx/types.hpp - ${MBGL_ROOT}/src/mbgl/gfx/uniform.hpp - ${MBGL_ROOT}/src/mbgl/gfx/upload_pass.hpp - ${MBGL_ROOT}/src/mbgl/gfx/vertex_buffer.hpp - ${MBGL_ROOT}/src/mbgl/gfx/vertex_vector.hpp - ${MBGL_ROOT}/src/mbgl/layermanager/background_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/circle_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/fill_extrusion_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/fill_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/heatmap_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/hillshade_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/layer_manager.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/line_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/raster_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/symbol_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layout/clip_lines.cpp - ${MBGL_ROOT}/src/mbgl/layout/clip_lines.hpp - ${MBGL_ROOT}/src/mbgl/layout/layout.hpp - ${MBGL_ROOT}/src/mbgl/layout/merge_lines.cpp - ${MBGL_ROOT}/src/mbgl/layout/merge_lines.hpp - ${MBGL_ROOT}/src/mbgl/layout/pattern_layout.hpp - ${MBGL_ROOT}/src/mbgl/layout/symbol_feature.hpp - ${MBGL_ROOT}/src/mbgl/layout/symbol_instance.cpp - ${MBGL_ROOT}/src/mbgl/layout/symbol_instance.hpp - ${MBGL_ROOT}/src/mbgl/layout/symbol_layout.cpp - ${MBGL_ROOT}/src/mbgl/layout/symbol_layout.hpp - ${MBGL_ROOT}/src/mbgl/layout/symbol_projection.cpp - ${MBGL_ROOT}/src/mbgl/layout/symbol_projection.hpp - ${MBGL_ROOT}/src/mbgl/map/map.cpp - ${MBGL_ROOT}/src/mbgl/map/map_impl.cpp - ${MBGL_ROOT}/src/mbgl/map/map_impl.hpp - ${MBGL_ROOT}/src/mbgl/map/map_options.cpp - ${MBGL_ROOT}/src/mbgl/map/transform.cpp - ${MBGL_ROOT}/src/mbgl/map/transform.hpp - ${MBGL_ROOT}/src/mbgl/map/transform_state.cpp - ${MBGL_ROOT}/src/mbgl/map/transform_state.hpp - ${MBGL_ROOT}/src/mbgl/map/zoom_history.hpp - ${MBGL_ROOT}/src/mbgl/math/log2.cpp - ${MBGL_ROOT}/src/mbgl/platform/settings.cpp - ${MBGL_ROOT}/src/mbgl/programs/attributes.hpp - ${MBGL_ROOT}/src/mbgl/programs/background_pattern_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/background_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/background_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/circle_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/circle_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/clipping_mask_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/clipping_mask_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/collision_box_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/collision_box_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/collision_circle_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/debug_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/debug_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/fill_extrusion_pattern_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/fill_extrusion_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/fill_extrusion_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/fill_outline_pattern_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/fill_outline_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/fill_pattern_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/fill_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/fill_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/heatmap_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/heatmap_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/heatmap_texture_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/heatmap_texture_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/hillshade_prepare_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/hillshade_prepare_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/hillshade_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/hillshade_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/line_gradient_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/line_pattern_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/line_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/line_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/line_sdf_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/program.hpp - ${MBGL_ROOT}/src/mbgl/programs/program_parameters.cpp - ${MBGL_ROOT}/src/mbgl/programs/program_parameters.hpp - ${MBGL_ROOT}/src/mbgl/programs/programs.cpp - ${MBGL_ROOT}/src/mbgl/programs/programs.hpp - ${MBGL_ROOT}/src/mbgl/programs/raster_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/raster_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/segment.hpp - ${MBGL_ROOT}/src/mbgl/programs/symbol_icon_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/symbol_program.cpp - ${MBGL_ROOT}/src/mbgl/programs/symbol_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/symbol_sdf_icon_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/symbol_sdf_text_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/symbol_text_and_icon_program.hpp - ${MBGL_ROOT}/src/mbgl/programs/textures.hpp - ${MBGL_ROOT}/src/mbgl/programs/uniforms.hpp - ${MBGL_ROOT}/src/mbgl/renderer/backend_scope.cpp - ${MBGL_ROOT}/src/mbgl/renderer/bucket.hpp - ${MBGL_ROOT}/src/mbgl/renderer/bucket_parameters.cpp - ${MBGL_ROOT}/src/mbgl/renderer/bucket_parameters.hpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/circle_bucket.cpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/circle_bucket.hpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/debug_bucket.cpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/debug_bucket.hpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/fill_bucket.cpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/fill_bucket.hpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/fill_extrusion_bucket.hpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/heatmap_bucket.cpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/heatmap_bucket.hpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/hillshade_bucket.cpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/hillshade_bucket.hpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/line_bucket.cpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/line_bucket.hpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/raster_bucket.cpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/raster_bucket.hpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/symbol_bucket.cpp - ${MBGL_ROOT}/src/mbgl/renderer/buckets/symbol_bucket.hpp - ${MBGL_ROOT}/src/mbgl/renderer/cross_faded_property_evaluator.cpp - ${MBGL_ROOT}/src/mbgl/renderer/cross_faded_property_evaluator.hpp - ${MBGL_ROOT}/src/mbgl/renderer/data_driven_property_evaluator.hpp - ${MBGL_ROOT}/src/mbgl/renderer/group_by_layout.cpp - ${MBGL_ROOT}/src/mbgl/renderer/group_by_layout.hpp - ${MBGL_ROOT}/src/mbgl/renderer/image_atlas.cpp - ${MBGL_ROOT}/src/mbgl/renderer/image_atlas.hpp - ${MBGL_ROOT}/src/mbgl/renderer/image_manager.cpp - ${MBGL_ROOT}/src/mbgl/renderer/image_manager.hpp - ${MBGL_ROOT}/src/mbgl/renderer/image_manager_observer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_background_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_background_layer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_circle_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_circle_layer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_fill_extrusion_layer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_fill_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_fill_layer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_heatmap_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_heatmap_layer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_hillshade_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_hillshade_layer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_line_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_line_layer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_raster_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_raster_layer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_symbol_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_symbol_layer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/paint_parameters.cpp - ${MBGL_ROOT}/src/mbgl/renderer/paint_parameters.hpp - ${MBGL_ROOT}/src/mbgl/renderer/paint_property_binder.hpp - ${MBGL_ROOT}/src/mbgl/renderer/paint_property_statistics.hpp - ${MBGL_ROOT}/src/mbgl/renderer/pattern_atlas.cpp - ${MBGL_ROOT}/src/mbgl/renderer/pattern_atlas.hpp - ${MBGL_ROOT}/src/mbgl/renderer/possibly_evaluated_property_value.hpp - ${MBGL_ROOT}/src/mbgl/renderer/property_evaluation_parameters.hpp - ${MBGL_ROOT}/src/mbgl/renderer/property_evaluator.hpp - ${MBGL_ROOT}/src/mbgl/renderer/render_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/render_layer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/render_light.cpp - ${MBGL_ROOT}/src/mbgl/renderer/render_light.hpp - ${MBGL_ROOT}/src/mbgl/renderer/render_orchestrator.cpp - ${MBGL_ROOT}/src/mbgl/renderer/render_orchestrator.hpp - ${MBGL_ROOT}/src/mbgl/renderer/render_pass.hpp - ${MBGL_ROOT}/src/mbgl/renderer/render_source.cpp - ${MBGL_ROOT}/src/mbgl/renderer/render_source.hpp - ${MBGL_ROOT}/src/mbgl/renderer/render_source_observer.hpp - ${MBGL_ROOT}/src/mbgl/renderer/render_static_data.cpp - ${MBGL_ROOT}/src/mbgl/renderer/render_static_data.hpp - ${MBGL_ROOT}/src/mbgl/renderer/render_tile.cpp - ${MBGL_ROOT}/src/mbgl/renderer/render_tile.hpp - ${MBGL_ROOT}/src/mbgl/renderer/render_tree.hpp - ${MBGL_ROOT}/src/mbgl/renderer/renderer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/renderer_impl.cpp - ${MBGL_ROOT}/src/mbgl/renderer/renderer_impl.hpp - ${MBGL_ROOT}/src/mbgl/renderer/renderer_state.cpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_custom_geometry_source.cpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_custom_geometry_source.hpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_geojson_source.cpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_geojson_source.hpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_image_source.cpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_image_source.hpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_raster_dem_source.cpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_raster_dem_source.hpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_raster_source.cpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_raster_source.hpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_tile_source.cpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_tile_source.hpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_vector_source.cpp - ${MBGL_ROOT}/src/mbgl/renderer/sources/render_vector_source.hpp - ${MBGL_ROOT}/src/mbgl/renderer/source_state.cpp - ${MBGL_ROOT}/src/mbgl/renderer/source_state.hpp - ${MBGL_ROOT}/src/mbgl/renderer/style_diff.cpp - ${MBGL_ROOT}/src/mbgl/renderer/style_diff.hpp - ${MBGL_ROOT}/src/mbgl/renderer/tile_mask.hpp - ${MBGL_ROOT}/src/mbgl/renderer/tile_parameters.hpp - ${MBGL_ROOT}/src/mbgl/renderer/tile_pyramid.cpp - ${MBGL_ROOT}/src/mbgl/renderer/tile_pyramid.hpp - ${MBGL_ROOT}/src/mbgl/renderer/tile_render_data.cpp - ${MBGL_ROOT}/src/mbgl/renderer/tile_render_data.hpp - ${MBGL_ROOT}/src/mbgl/renderer/transition_parameters.hpp - ${MBGL_ROOT}/src/mbgl/renderer/update_parameters.hpp - ${MBGL_ROOT}/src/mbgl/renderer/upload_parameters.hpp - ${MBGL_ROOT}/src/mbgl/sprite/sprite_loader.cpp - ${MBGL_ROOT}/src/mbgl/sprite/sprite_loader.hpp - ${MBGL_ROOT}/src/mbgl/sprite/sprite_loader_observer.hpp - ${MBGL_ROOT}/src/mbgl/sprite/sprite_loader_worker.cpp - ${MBGL_ROOT}/src/mbgl/sprite/sprite_loader_worker.hpp - ${MBGL_ROOT}/src/mbgl/sprite/sprite_parser.cpp - ${MBGL_ROOT}/src/mbgl/sprite/sprite_parser.hpp - ${MBGL_ROOT}/src/mbgl/storage/asset_file_source.hpp - ${MBGL_ROOT}/src/mbgl/storage/file_source_manager.cpp - ${MBGL_ROOT}/src/mbgl/storage/http_file_source.hpp - ${MBGL_ROOT}/src/mbgl/storage/local_file_source.hpp - ${MBGL_ROOT}/src/mbgl/storage/main_resource_loader.hpp - ${MBGL_ROOT}/src/mbgl/storage/network_status.cpp - ${MBGL_ROOT}/src/mbgl/storage/resource.cpp - ${MBGL_ROOT}/src/mbgl/storage/resource_options.cpp - ${MBGL_ROOT}/src/mbgl/storage/resource_transform.cpp - ${MBGL_ROOT}/src/mbgl/storage/response.cpp - ${MBGL_ROOT}/src/mbgl/style/collection.hpp - ${MBGL_ROOT}/src/mbgl/style/conversion/color_ramp_property_value.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/constant.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/coordinate.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/custom_geometry_source_options.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/filter.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/function.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/geojson.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/geojson_options.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/get_json_type.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/json.hpp - ${MBGL_ROOT}/src/mbgl/style/conversion/layer.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/light.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/position.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/property_value.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/source.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/stringify.hpp - ${MBGL_ROOT}/src/mbgl/style/conversion/tileset.cpp - ${MBGL_ROOT}/src/mbgl/style/conversion/transition_options.cpp - ${MBGL_ROOT}/src/mbgl/style/custom_tile_loader.cpp - ${MBGL_ROOT}/src/mbgl/style/custom_tile_loader.hpp - ${MBGL_ROOT}/src/mbgl/style/expression/assertion.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/at.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/boolean_operator.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/case.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/check_subtype.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/coalesce.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/coercion.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/collator.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/collator_expression.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/comparison.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/compound_expression.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/dsl.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/dsl_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/expression/expression.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/find_zoom_curve.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/format_expression.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/formatted.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/get_covering_stops.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/image.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/image_expression.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/interpolate.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/is_constant.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/is_expression.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/length.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/let.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/literal.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/match.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/number_format.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/parsing_context.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/step.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/util.cpp - ${MBGL_ROOT}/src/mbgl/style/expression/util.hpp - ${MBGL_ROOT}/src/mbgl/style/expression/value.cpp - ${MBGL_ROOT}/src/mbgl/style/filter.cpp - ${MBGL_ROOT}/src/mbgl/style/image.cpp - ${MBGL_ROOT}/src/mbgl/style/image_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/image_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layer_observer.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/background_layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/background_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/background_layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/background_layer_properties.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/background_layer_properties.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/circle_layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/circle_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/circle_layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/circle_layer_properties.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/circle_layer_properties.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/fill_extrusion_layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/fill_extrusion_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/fill_extrusion_layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/fill_extrusion_layer_properties.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/fill_extrusion_layer_properties.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/fill_layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/fill_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/fill_layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/fill_layer_properties.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/fill_layer_properties.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/heatmap_layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/heatmap_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/heatmap_layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/heatmap_layer_properties.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/heatmap_layer_properties.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/hillshade_layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/hillshade_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/hillshade_layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/hillshade_layer_properties.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/hillshade_layer_properties.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/line_layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/line_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/line_layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/line_layer_properties.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/line_layer_properties.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/raster_layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/raster_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/raster_layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/raster_layer_properties.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/raster_layer_properties.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/symbol_layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/symbol_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/symbol_layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/layers/symbol_layer_properties.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/symbol_layer_properties.hpp - ${MBGL_ROOT}/src/mbgl/style/layout_property.hpp - ${MBGL_ROOT}/src/mbgl/style/light.cpp - ${MBGL_ROOT}/src/mbgl/style/light_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/light_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/light_observer.hpp - ${MBGL_ROOT}/src/mbgl/style/observer.hpp - ${MBGL_ROOT}/src/mbgl/style/paint_property.hpp - ${MBGL_ROOT}/src/mbgl/style/parser.cpp - ${MBGL_ROOT}/src/mbgl/style/parser.hpp - ${MBGL_ROOT}/src/mbgl/style/properties.hpp - ${MBGL_ROOT}/src/mbgl/style/property_expression.cpp - ${MBGL_ROOT}/src/mbgl/style/rapidjson_conversion.hpp - ${MBGL_ROOT}/src/mbgl/style/source.cpp - ${MBGL_ROOT}/src/mbgl/style/source_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/source_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/source_observer.hpp - ${MBGL_ROOT}/src/mbgl/style/sources/custom_geometry_source.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/custom_geometry_source_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/custom_geometry_source_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/sources/geojson_source.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/geojson_source_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/geojson_source_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/sources/image_source.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/image_source_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/image_source_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/sources/raster_dem_source.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/raster_source.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/raster_source_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/raster_source_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/sources/vector_source.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/vector_source_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/sources/vector_source_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/style.cpp - ${MBGL_ROOT}/src/mbgl/style/style_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/style_impl.hpp - ${MBGL_ROOT}/src/mbgl/style/types.cpp - ${MBGL_ROOT}/src/mbgl/text/bidi.hpp - ${MBGL_ROOT}/src/mbgl/text/check_max_angle.cpp - ${MBGL_ROOT}/src/mbgl/text/check_max_angle.hpp - ${MBGL_ROOT}/src/mbgl/text/collision_feature.cpp - ${MBGL_ROOT}/src/mbgl/text/collision_feature.hpp - ${MBGL_ROOT}/src/mbgl/text/collision_index.cpp - ${MBGL_ROOT}/src/mbgl/text/collision_index.hpp - ${MBGL_ROOT}/src/mbgl/text/cross_tile_symbol_index.cpp - ${MBGL_ROOT}/src/mbgl/text/cross_tile_symbol_index.hpp - ${MBGL_ROOT}/src/mbgl/text/get_anchors.cpp - ${MBGL_ROOT}/src/mbgl/text/get_anchors.hpp - ${MBGL_ROOT}/src/mbgl/text/glyph.cpp - ${MBGL_ROOT}/src/mbgl/text/glyph.hpp - ${MBGL_ROOT}/src/mbgl/text/glyph_atlas.cpp - ${MBGL_ROOT}/src/mbgl/text/glyph_atlas.hpp - ${MBGL_ROOT}/src/mbgl/text/glyph_manager.cpp - ${MBGL_ROOT}/src/mbgl/text/glyph_manager.hpp - ${MBGL_ROOT}/src/mbgl/text/glyph_manager_observer.hpp - ${MBGL_ROOT}/src/mbgl/text/glyph_pbf.cpp - ${MBGL_ROOT}/src/mbgl/text/glyph_pbf.hpp - ${MBGL_ROOT}/src/mbgl/text/glyph_range.hpp - ${MBGL_ROOT}/src/mbgl/text/language_tag.cpp - ${MBGL_ROOT}/src/mbgl/text/language_tag.hpp - ${MBGL_ROOT}/src/mbgl/text/local_glyph_rasterizer.hpp - ${MBGL_ROOT}/src/mbgl/text/placement.cpp - ${MBGL_ROOT}/src/mbgl/text/placement.hpp - ${MBGL_ROOT}/src/mbgl/text/quads.cpp - ${MBGL_ROOT}/src/mbgl/text/quads.hpp - ${MBGL_ROOT}/src/mbgl/text/shaping.cpp - ${MBGL_ROOT}/src/mbgl/text/shaping.hpp - ${MBGL_ROOT}/src/mbgl/text/tagged_string.cpp - ${MBGL_ROOT}/src/mbgl/text/tagged_string.hpp - ${MBGL_ROOT}/src/mbgl/tile/custom_geometry_tile.cpp - ${MBGL_ROOT}/src/mbgl/tile/custom_geometry_tile.hpp - ${MBGL_ROOT}/src/mbgl/tile/geojson_tile.cpp - ${MBGL_ROOT}/src/mbgl/tile/geojson_tile.hpp - ${MBGL_ROOT}/src/mbgl/tile/geojson_tile_data.hpp - ${MBGL_ROOT}/src/mbgl/tile/geometry_tile.cpp - ${MBGL_ROOT}/src/mbgl/tile/geometry_tile.hpp - ${MBGL_ROOT}/src/mbgl/tile/geometry_tile_data.cpp - ${MBGL_ROOT}/src/mbgl/tile/geometry_tile_data.hpp - ${MBGL_ROOT}/src/mbgl/tile/geometry_tile_worker.cpp - ${MBGL_ROOT}/src/mbgl/tile/geometry_tile_worker.hpp - ${MBGL_ROOT}/src/mbgl/tile/raster_dem_tile.cpp - ${MBGL_ROOT}/src/mbgl/tile/raster_dem_tile.hpp - ${MBGL_ROOT}/src/mbgl/tile/raster_dem_tile_worker.cpp - ${MBGL_ROOT}/src/mbgl/tile/raster_dem_tile_worker.hpp - ${MBGL_ROOT}/src/mbgl/tile/raster_tile.cpp - ${MBGL_ROOT}/src/mbgl/tile/raster_tile.hpp - ${MBGL_ROOT}/src/mbgl/tile/raster_tile_worker.cpp - ${MBGL_ROOT}/src/mbgl/tile/raster_tile_worker.hpp - ${MBGL_ROOT}/src/mbgl/tile/tile.cpp - ${MBGL_ROOT}/src/mbgl/tile/tile.hpp - ${MBGL_ROOT}/src/mbgl/tile/tile_cache.cpp - ${MBGL_ROOT}/src/mbgl/tile/tile_cache.hpp - ${MBGL_ROOT}/src/mbgl/tile/tile_id_hash.cpp - ${MBGL_ROOT}/src/mbgl/tile/tile_id_io.cpp - ${MBGL_ROOT}/src/mbgl/tile/tile_loader.hpp - ${MBGL_ROOT}/src/mbgl/tile/tile_loader_impl.hpp - ${MBGL_ROOT}/src/mbgl/tile/tile_observer.hpp - ${MBGL_ROOT}/src/mbgl/tile/vector_tile.cpp - ${MBGL_ROOT}/src/mbgl/tile/vector_tile.hpp - ${MBGL_ROOT}/src/mbgl/tile/vector_tile_data.cpp - ${MBGL_ROOT}/src/mbgl/tile/vector_tile_data.hpp - ${MBGL_ROOT}/src/mbgl/util/chrono.cpp - ${MBGL_ROOT}/src/mbgl/util/color.cpp - ${MBGL_ROOT}/src/mbgl/util/constants.cpp - ${MBGL_ROOT}/src/mbgl/util/convert.cpp - ${MBGL_ROOT}/src/mbgl/util/dtoa.cpp - ${MBGL_ROOT}/src/mbgl/util/dtoa.hpp - ${MBGL_ROOT}/src/mbgl/util/event.cpp - ${MBGL_ROOT}/src/mbgl/util/font_stack.cpp - ${MBGL_ROOT}/src/mbgl/util/geo.cpp - ${MBGL_ROOT}/src/mbgl/util/geojson_impl.cpp - ${MBGL_ROOT}/src/mbgl/util/grid_index.cpp - ${MBGL_ROOT}/src/mbgl/util/grid_index.hpp - ${MBGL_ROOT}/src/mbgl/util/hash.hpp - ${MBGL_ROOT}/src/mbgl/util/http_header.cpp - ${MBGL_ROOT}/src/mbgl/util/http_header.hpp - ${MBGL_ROOT}/src/mbgl/util/http_timeout.cpp - ${MBGL_ROOT}/src/mbgl/util/http_timeout.hpp - ${MBGL_ROOT}/src/mbgl/util/i18n.cpp - ${MBGL_ROOT}/src/mbgl/util/i18n.hpp - ${MBGL_ROOT}/src/mbgl/util/id.cpp - ${MBGL_ROOT}/src/mbgl/util/id.hpp - ${MBGL_ROOT}/src/mbgl/util/interpolate.cpp - ${MBGL_ROOT}/src/mbgl/util/intersection_tests.cpp - ${MBGL_ROOT}/src/mbgl/util/intersection_tests.hpp - ${MBGL_ROOT}/src/mbgl/util/io.cpp - ${MBGL_ROOT}/src/mbgl/util/io.hpp - ${MBGL_ROOT}/src/mbgl/util/literal.hpp - ${MBGL_ROOT}/src/mbgl/util/logging.cpp - ${MBGL_ROOT}/src/mbgl/util/longest_common_subsequence.hpp - ${MBGL_ROOT}/src/mbgl/util/mapbox.cpp - ${MBGL_ROOT}/src/mbgl/util/mapbox.hpp - ${MBGL_ROOT}/src/mbgl/util/mat2.cpp - ${MBGL_ROOT}/src/mbgl/util/mat2.hpp - ${MBGL_ROOT}/src/mbgl/util/mat3.cpp - ${MBGL_ROOT}/src/mbgl/util/mat3.hpp - ${MBGL_ROOT}/src/mbgl/util/mat4.cpp - ${MBGL_ROOT}/src/mbgl/util/mat4.hpp - ${MBGL_ROOT}/src/mbgl/util/math.hpp - ${MBGL_ROOT}/src/mbgl/util/premultiply.cpp - ${MBGL_ROOT}/src/mbgl/util/rapidjson.cpp - ${MBGL_ROOT}/src/mbgl/util/rapidjson.hpp - ${MBGL_ROOT}/src/mbgl/util/rect.hpp - ${MBGL_ROOT}/src/mbgl/util/std.hpp - ${MBGL_ROOT}/src/mbgl/util/stopwatch.cpp - ${MBGL_ROOT}/src/mbgl/util/stopwatch.hpp - ${MBGL_ROOT}/src/mbgl/util/string.cpp - ${MBGL_ROOT}/src/mbgl/util/thread.cpp - ${MBGL_ROOT}/src/mbgl/util/thread_local.hpp - ${MBGL_ROOT}/src/mbgl/util/thread_pool.cpp - ${MBGL_ROOT}/src/mbgl/util/thread_pool.hpp - ${MBGL_ROOT}/src/mbgl/util/tile_coordinate.hpp - ${MBGL_ROOT}/src/mbgl/util/tile_cover.cpp - ${MBGL_ROOT}/src/mbgl/util/tile_cover.hpp - ${MBGL_ROOT}/src/mbgl/util/tile_cover_impl.cpp - ${MBGL_ROOT}/src/mbgl/util/tile_cover_impl.hpp - ${MBGL_ROOT}/src/mbgl/util/tile_range.hpp - ${MBGL_ROOT}/src/mbgl/util/tiny_sdf.cpp - ${MBGL_ROOT}/src/mbgl/util/tiny_sdf.hpp - ${MBGL_ROOT}/src/mbgl/util/token.hpp - ${MBGL_ROOT}/src/mbgl/util/url.cpp - ${MBGL_ROOT}/src/mbgl/util/url.hpp - ${MBGL_ROOT}/src/mbgl/util/utf.hpp - ${MBGL_ROOT}/src/mbgl/util/version.cpp - ${MBGL_ROOT}/src/mbgl/util/version.hpp - ${MBGL_ROOT}/src/mbgl/util/work_request.cpp - ${MBGL_ROOT}/src/parsedate/parsedate.cpp - ${MBGL_ROOT}/src/parsedate/parsedate.hpp -) - -if(MBGL_WITH_OPENGL) - message("-- Configuring GL-Native with OpenGL renderer backend") - target_compile_definitions( - mbgl-core - PRIVATE MBGL_RENDER_BACKEND_OPENGL=1 - ) - target_sources( - mbgl-core - PRIVATE - ${MBGL_ROOT}/include/mbgl/gfx/backend.hpp - ${MBGL_ROOT}/include/mbgl/gl/custom_layer.hpp - ${MBGL_ROOT}/include/mbgl/gl/custom_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/gl/renderable_resource.hpp - ${MBGL_ROOT}/include/mbgl/gl/renderer_backend.hpp - ${MBGL_ROOT}/include/mbgl/platform/gl_functions.hpp - ${MBGL_ROOT}/src/mbgl/gl/attribute.cpp - ${MBGL_ROOT}/src/mbgl/gl/attribute.hpp - ${MBGL_ROOT}/src/mbgl/gl/command_encoder.cpp - ${MBGL_ROOT}/src/mbgl/gl/command_encoder.hpp - ${MBGL_ROOT}/src/mbgl/gl/context.cpp - ${MBGL_ROOT}/src/mbgl/gl/context.hpp - ${MBGL_ROOT}/src/mbgl/gl/custom_layer.cpp - ${MBGL_ROOT}/src/mbgl/gl/custom_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/gl/custom_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/gl/custom_layer_impl.hpp - ${MBGL_ROOT}/src/mbgl/gl/debugging_extension.cpp - ${MBGL_ROOT}/src/mbgl/gl/debugging_extension.hpp - ${MBGL_ROOT}/src/mbgl/gl/defines.hpp - ${MBGL_ROOT}/src/mbgl/gl/draw_scope_resource.hpp - ${MBGL_ROOT}/src/mbgl/gl/enum.cpp - ${MBGL_ROOT}/src/mbgl/gl/enum.hpp - ${MBGL_ROOT}/src/mbgl/gl/extension.hpp - ${MBGL_ROOT}/src/mbgl/gl/framebuffer.hpp - ${MBGL_ROOT}/src/mbgl/gl/index_buffer_resource.cpp - ${MBGL_ROOT}/src/mbgl/gl/index_buffer_resource.hpp - ${MBGL_ROOT}/src/mbgl/gl/object.cpp - ${MBGL_ROOT}/src/mbgl/gl/object.hpp - ${MBGL_ROOT}/src/mbgl/gl/offscreen_texture.cpp - ${MBGL_ROOT}/src/mbgl/gl/offscreen_texture.hpp - ${MBGL_ROOT}/src/mbgl/gl/program.hpp - ${MBGL_ROOT}/src/mbgl/gl/render_pass.cpp - ${MBGL_ROOT}/src/mbgl/gl/render_pass.hpp - ${MBGL_ROOT}/src/mbgl/gl/renderbuffer_resource.hpp - ${MBGL_ROOT}/src/mbgl/gl/renderer_backend.cpp - ${MBGL_ROOT}/src/mbgl/gl/render_custom_layer.cpp - ${MBGL_ROOT}/src/mbgl/gl/render_custom_layer.hpp - ${MBGL_ROOT}/src/mbgl/gl/state.hpp - ${MBGL_ROOT}/src/mbgl/gl/texture.cpp - ${MBGL_ROOT}/src/mbgl/gl/texture.hpp - ${MBGL_ROOT}/src/mbgl/gl/texture_resource.cpp - ${MBGL_ROOT}/src/mbgl/gl/texture_resource.hpp - ${MBGL_ROOT}/src/mbgl/gl/types.hpp - ${MBGL_ROOT}/src/mbgl/gl/uniform.cpp - ${MBGL_ROOT}/src/mbgl/gl/uniform.hpp - ${MBGL_ROOT}/src/mbgl/gl/upload_pass.cpp - ${MBGL_ROOT}/src/mbgl/gl/upload_pass.hpp - ${MBGL_ROOT}/src/mbgl/gl/value.cpp - ${MBGL_ROOT}/src/mbgl/gl/value.hpp - ${MBGL_ROOT}/src/mbgl/gl/vertex_array.cpp - ${MBGL_ROOT}/src/mbgl/gl/vertex_array.hpp - ${MBGL_ROOT}/src/mbgl/gl/vertex_array_extension.hpp - ${MBGL_ROOT}/src/mbgl/gl/vertex_buffer_resource.cpp - ${MBGL_ROOT}/src/mbgl/gl/vertex_buffer_resource.hpp - ${MBGL_ROOT}/src/mbgl/platform/gl_functions.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/background.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/background_pattern.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/circle.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/clipping_mask.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/collision_box.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/collision_circle.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/debug.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill_extrusion.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill_extrusion_pattern.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill_outline.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill_outline_pattern.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/fill_pattern.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/heatmap.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/heatmap_texture.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/hillshade.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/hillshade_prepare.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/line.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/line_gradient.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/line_pattern.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/line_sdf.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/preludes.hpp - ${MBGL_ROOT}/src/mbgl/programs/gl/raster.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/shader_source.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/shader_source.hpp - ${MBGL_ROOT}/src/mbgl/programs/gl/shaders.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/shaders.hpp - ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_icon.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_sdf_icon.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_sdf_text.cpp - ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_text_and_icon.cpp - ) -endif() - -if(EXISTS ${MBGL_ROOT}/.git/HEAD) - execute_process( - COMMAND - git - rev-parse - --short=8 - HEAD - WORKING_DIRECTORY ${MBGL_ROOT} - OUTPUT_VARIABLE MBGL_VERSION_REV - OUTPUT_STRIP_TRAILING_WHITESPACE - ) -else() - set(MBGL_VERSION_REV 00000000) -endif() - -set_source_files_properties( - ${MBGL_ROOT}/src/mbgl/util/version.cpp - PROPERTIES - COMPILE_DEFINITIONS - MBGL_VERSION_REV="${MBGL_VERSION_REV}" -) - -target_include_directories( - mbgl-core - PRIVATE ${MBGL_ROOT}/src -) - -target_include_directories( - mbgl-core - PUBLIC ${MBGL_ROOT}/include -) - -if(NOT TARGET mapbox-base) - add_subdirectory(${PROJECT_SOURCE_DIR}/vendor/mapbox-base/mapbox) - add_subdirectory(${PROJECT_SOURCE_DIR}/vendor/mapbox-base/extras) -endif(NOT TARGET mapbox-base) - -include(${PROJECT_SOURCE_DIR}/vendor/boost.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/earcut.hpp.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/eternal.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/geojson-vt-cpp.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/polylabel.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/protozero.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/shelf-pack-cpp.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/unique_resource.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/vector-tile.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/wagyu.cmake) - -target_link_libraries( - mbgl-core - PRIVATE - Mapbox::Base::Extras::kdbush.hpp - Mapbox::Base::supercluster.hpp - mbgl-compiler-options - mbgl-vendor-boost - mbgl-vendor-earcut.hpp - mbgl-vendor-eternal - mbgl-vendor-geojson-vt-cpp - mbgl-vendor-polylabel - mbgl-vendor-protozero - mbgl-vendor-shelf-pack-cpp - mbgl-vendor-unique_resource - mbgl-vendor-vector-tile - mbgl-vendor-wagyu - PUBLIC - Mapbox::Base::Extras::expected-lite - Mapbox::Base::Extras::rapidjson - Mapbox::Base::geojson.hpp - Mapbox::Base::geometry.hpp - Mapbox::Base::optional - Mapbox::Base::typewrapper - Mapbox::Base::value - Mapbox::Base::variant - Mapbox::Base::weak -) - -set_property(TARGET mbgl-core PROPERTY FOLDER Core) - -add_library( - Mapbox::Map ALIAS mbgl-core -) - -if(MBGL_WITH_PLATFORM_EXTRAS) - include(${MBGL_WITH_PLATFORM_EXTRAS}) -endif() - -if(MBGL_WITH_CORE_ONLY) - return() -elseif(MBGL_WITH_QT) - include(${PROJECT_SOURCE_DIR}/platform/qt/qt.cmake) -elseif(CMAKE_SYSTEM_NAME STREQUAL Android) - include(${PROJECT_SOURCE_DIR}/platform/android/android.cmake) -elseif(CMAKE_SYSTEM_NAME STREQUAL iOS) - include(${PROJECT_SOURCE_DIR}/platform/ios/ios.cmake) -elseif(CMAKE_SYSTEM_NAME STREQUAL Linux) - include(${PROJECT_SOURCE_DIR}/platform/linux/linux.cmake) -elseif(CMAKE_SYSTEM_NAME STREQUAL Darwin) - include(${PROJECT_SOURCE_DIR}/platform/macos/macos.cmake) -else() - message(FATAL_ERROR "Unsupported target platform: " ${CMAKE_SYSTEM_NAME}) -endif() - -add_subdirectory(${PROJECT_SOURCE_DIR}/test) -add_subdirectory(${PROJECT_SOURCE_DIR}/benchmark) -add_subdirectory(${PROJECT_SOURCE_DIR}/render-test) diff --git a/next/README.md b/next/README.md deleted file mode 100644 index 08f3a2cda8..0000000000 --- a/next/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# Mapbox GL Native - -A library for embedding interactive, customizable vector maps into native applications on multiple platforms. It -takes stylesheets that conform to the [Mapbox Style Specification](https://github.com/mapbox/mapbox-gl-style-spec/), -applies them to vector tiles that conform to the [Mapbox Vector Tile Specification](https://github.com/mapbox/vector-tile-spec), -and renders them using OpenGL. [Mapbox GL JS](https://github.com/mapbox/mapbox-gl-js) is the WebGL-based counterpart, -designed for use on the Web. - -| SDK | Languages | Build status | -| --------------------------------------------------- | ---------------------------------- | ---------------------------------------- | -| Mapbox GL Native Core | C++14 | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) [![Coverage Status](https://codecov.io/gh/mapbox/mapbox-gl-native/branch/master/graph/badge.svg)](https://codecov.io/gh/mapbox/mapbox-gl-native) | -| [Mapbox Maps SDK for Android](../platform/android/) | Java | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | -| [Mapbox Maps SDK for iOS](../platform/ios/) | Objective-C or Swift | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | -| [Mapbox Maps SDK for macOS](../platform/macos/) | Objective-C, Swift, or AppleScript | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | -| [node-mapbox-gl-native](../platform/node/) | Node.js | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | -| [Mapbox Maps SDK for Qt](../platform/qt) | C++03 | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) [![AppVeyor CI build status](https://ci.appveyor.com/api/projects/status/3q12kbcooc6df8uc?svg=true)](https://ci.appveyor.com/project/Mapbox/mapbox-gl-native) | - -[Additional Mapbox GL Native–based libraries](https://wiki.openstreetmap.org/wiki/Mapbox_GL#Libraries) for **hybrid applications** are developed outside of this repository. If your platform or hybrid application framework isn’t listed there, consider embedding [Mapbox GL JS](https://github.com/mapbox/mapbox-gl-js) using the standard Web capabilities on your platform. - -## License - -Mapbox GL Native is licensed under the [3-Clause BSD license](../LICENSE.md). - -## Developing - -The `next` directory contains the next generation buildsystem for Mapbox GL Native, based solely on CMake with the -goal of minimizing the use of scripts, increase portability and support building Mapbox GL Native as a subdirectory -of another CMake project. This new buildsystem is also designed to build offline, making use of pre-installed and -vendorized dependencies. When using the build bot docker image, the build should produce the exact same results as -the bots, making it a hermetically sealed build for Linux, Qt and Android. - -### Building and running tests - -The following command, executed from the root of this repository tree, will build Mapbox GL Native targeting your -host architecture given that you have all the dependencies installed. - -``` -$ mkdir build && cd build -$ cmake ../next -$ make -j8 -$ make test ARGS=-V -``` diff --git a/next/benchmark/CMakeLists.txt b/next/benchmark/CMakeLists.txt deleted file mode 100644 index 7e783da377..0000000000 --- a/next/benchmark/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -add_library( - mbgl-benchmark STATIC EXCLUDE_FROM_ALL - ${MBGL_ROOT}/benchmark/api/query.benchmark.cpp - ${MBGL_ROOT}/benchmark/api/render.benchmark.cpp - ${MBGL_ROOT}/benchmark/function/camera_function.benchmark.cpp - ${MBGL_ROOT}/benchmark/function/composite_function.benchmark.cpp - ${MBGL_ROOT}/benchmark/function/source_function.benchmark.cpp - ${MBGL_ROOT}/benchmark/parse/filter.benchmark.cpp - ${MBGL_ROOT}/benchmark/parse/tile_mask.benchmark.cpp - ${MBGL_ROOT}/benchmark/parse/vector_tile.benchmark.cpp - ${MBGL_ROOT}/benchmark/src/mbgl/benchmark/benchmark.cpp - ${MBGL_ROOT}/benchmark/storage/offline_database.benchmark.cpp - ${MBGL_ROOT}/benchmark/util/dtoa.benchmark.cpp - ${MBGL_ROOT}/benchmark/util/tilecover.benchmark.cpp -) - -target_include_directories( - mbgl-benchmark - PRIVATE ${MBGL_ROOT}/benchmark/src ${MBGL_ROOT}/platform/default/include ${MBGL_ROOT}/src -) - -target_include_directories( - mbgl-benchmark - PUBLIC ${MBGL_ROOT}/benchmark/include ${MBGL_ROOT}/include -) - -include(${PROJECT_SOURCE_DIR}/vendor/benchmark.cmake) - -# Needed for testing private classes -get_target_property(MBGL_CORE_PRIVATE_LIBRARIES mbgl-core LINK_LIBRARIES) - -target_link_libraries( - mbgl-benchmark - PRIVATE ${MBGL_CORE_PRIVATE_LIBRARIES} mbgl-vendor-benchmark mbgl-compiler-options - PUBLIC mbgl-core -) - -set_property(TARGET mbgl-benchmark PROPERTY FOLDER Core) diff --git a/next/expression-test/CMakeLists.txt b/next/expression-test/CMakeLists.txt deleted file mode 100644 index f7d694b054..0000000000 --- a/next/expression-test/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -add_executable( - mbgl-expression-test - ${MBGL_ROOT}/expression-test/expression_test_logger.cpp - ${MBGL_ROOT}/expression-test/expression_test_logger.hpp - ${MBGL_ROOT}/expression-test/expression_test_parser.cpp - ${MBGL_ROOT}/expression-test/expression_test_parser.hpp - ${MBGL_ROOT}/expression-test/expression_test_runner.cpp - ${MBGL_ROOT}/expression-test/expression_test_runner.hpp - ${MBGL_ROOT}/expression-test/test_runner_common.cpp - ${MBGL_ROOT}/expression-test/test_runner_common.hpp - ${MBGL_ROOT}/expression-test/main.cpp -) - -target_compile_definitions( - mbgl-expression-test - PRIVATE TEST_RUNNER_ROOT_PATH="${MBGL_ROOT}" -) - -# FIXME: Should not use core private interface -target_include_directories( - mbgl-expression-test - PRIVATE ${MBGL_ROOT}/src -) - -target_link_libraries( - mbgl-expression-test - PRIVATE - Mapbox::Base::Extras::args - Mapbox::Base::Extras::filesystem - Mapbox::Base::io - mbgl-core -) - -set_property(TARGET mbgl-expression-test PROPERTY FOLDER Executables) - -string(RANDOM LENGTH 5 ALPHABET 0123456789 MBGL_EXPRESSION_TEST_SEED) - -add_test(NAME mbgl-expression-test COMMAND mbgl-expression-test -s --seed=${MBGL_EXPRESSION_TEST_SEED} WORKING_DIRECTORY ${MBGL_ROOT}) diff --git a/next/platform/android/android.cmake b/next/platform/android/android.cmake deleted file mode 100644 index 1f77d0a29a..0000000000 --- a/next/platform/android/android.cmake +++ /dev/null @@ -1,483 +0,0 @@ -if(NOT ANDROID_NDK_TOOLCHAIN_INCLUDED) - message(FATAL_ERROR "-- Toolchain file not included, see https://developer.android.com/ndk/guides/cmake") -endif() - -target_compile_definitions( - mbgl-core - PUBLIC MBGL_USE_GLES2 -) - -include(${PROJECT_SOURCE_DIR}/vendor/icu.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/sqlite.cmake) - -target_compile_options(mbgl-vendor-icu PRIVATE $<$<CONFIG:Release>:-Oz> $<$<CONFIG:Release>:-Qunused-arguments> $<$<CONFIG:Release>:-flto>) - -target_compile_options( - mbgl-vendor-sqlite - PRIVATE $<$<CONFIG:Release>:-Oz> $<$<CONFIG:Release>:-Qunused-arguments> $<$<CONFIG:Release>:-flto> -) - -target_compile_options( - mbgl-compiler-options - INTERFACE $<$<CONFIG:Release>:-Oz> $<$<CONFIG:Release>:-Qunused-arguments> $<$<CONFIG:Release>:-flto> -) - -target_link_libraries( - mbgl-compiler-options - INTERFACE - $<$<CONFIG:Release>:-O2> - $<$<CONFIG:Release>:-Wl,--icf=all> - $<$<CONFIG:Release>:-flto> - $<$<CONFIG:Release>:-fuse-ld=gold> -) - -target_sources( - mbgl-core - PRIVATE - ${MBGL_ROOT}/platform/android/src/android_renderer_backend.cpp - ${MBGL_ROOT}/platform/android/src/android_renderer_backend.hpp - ${MBGL_ROOT}/platform/android/src/android_renderer_frontend.cpp - ${MBGL_ROOT}/platform/android/src/android_renderer_frontend.hpp - ${MBGL_ROOT}/platform/android/src/annotation/marker.cpp - ${MBGL_ROOT}/platform/android/src/annotation/marker.hpp - ${MBGL_ROOT}/platform/android/src/annotation/multi_point.hpp - ${MBGL_ROOT}/platform/android/src/annotation/polygon.cpp - ${MBGL_ROOT}/platform/android/src/annotation/polygon.hpp - ${MBGL_ROOT}/platform/android/src/annotation/polyline.cpp - ${MBGL_ROOT}/platform/android/src/annotation/polyline.hpp - ${MBGL_ROOT}/platform/android/src/asset_manager.hpp - ${MBGL_ROOT}/platform/android/src/asset_manager_file_source.cpp - ${MBGL_ROOT}/platform/android/src/asset_manager_file_source.hpp - ${MBGL_ROOT}/platform/android/src/async_task.cpp - ${MBGL_ROOT}/platform/android/src/attach_env.cpp - ${MBGL_ROOT}/platform/android/src/attach_env.hpp - ${MBGL_ROOT}/platform/android/src/bitmap.cpp - ${MBGL_ROOT}/platform/android/src/bitmap.hpp - ${MBGL_ROOT}/platform/android/src/bitmap_factory.cpp - ${MBGL_ROOT}/platform/android/src/bitmap_factory.hpp - ${MBGL_ROOT}/platform/android/src/connectivity_listener.cpp - ${MBGL_ROOT}/platform/android/src/connectivity_listener.hpp - ${MBGL_ROOT}/platform/android/src/conversion/collection.cpp - ${MBGL_ROOT}/platform/android/src/conversion/collection.hpp - ${MBGL_ROOT}/platform/android/src/conversion/color.cpp - ${MBGL_ROOT}/platform/android/src/conversion/color.hpp - ${MBGL_ROOT}/platform/android/src/conversion/constant.cpp - ${MBGL_ROOT}/platform/android/src/conversion/constant.hpp - ${MBGL_ROOT}/platform/android/src/conversion/conversion.hpp - ${MBGL_ROOT}/platform/android/src/geojson/feature.cpp - ${MBGL_ROOT}/platform/android/src/geojson/feature.hpp - ${MBGL_ROOT}/platform/android/src/geojson/feature_collection.cpp - ${MBGL_ROOT}/platform/android/src/geojson/feature_collection.hpp - ${MBGL_ROOT}/platform/android/src/geojson/geometry.cpp - ${MBGL_ROOT}/platform/android/src/geojson/geometry.hpp - ${MBGL_ROOT}/platform/android/src/geojson/geometry_collection.cpp - ${MBGL_ROOT}/platform/android/src/geojson/geometry_collection.hpp - ${MBGL_ROOT}/platform/android/src/geojson/line_string.cpp - ${MBGL_ROOT}/platform/android/src/geojson/line_string.hpp - ${MBGL_ROOT}/platform/android/src/geojson/multi_line_string.cpp - ${MBGL_ROOT}/platform/android/src/geojson/multi_line_string.hpp - ${MBGL_ROOT}/platform/android/src/geojson/multi_point.cpp - ${MBGL_ROOT}/platform/android/src/geojson/multi_point.hpp - ${MBGL_ROOT}/platform/android/src/geojson/multi_polygon.cpp - ${MBGL_ROOT}/platform/android/src/geojson/multi_polygon.hpp - ${MBGL_ROOT}/platform/android/src/geojson/point.cpp - ${MBGL_ROOT}/platform/android/src/geojson/point.hpp - ${MBGL_ROOT}/platform/android/src/geojson/polygon.cpp - ${MBGL_ROOT}/platform/android/src/geojson/polygon.hpp - ${MBGL_ROOT}/platform/android/src/geojson/util.hpp - ${MBGL_ROOT}/platform/android/src/geometry/lat_lng.cpp - ${MBGL_ROOT}/platform/android/src/geometry/lat_lng.hpp - ${MBGL_ROOT}/platform/android/src/geometry/lat_lng_bounds.cpp - ${MBGL_ROOT}/platform/android/src/geometry/lat_lng_bounds.hpp - ${MBGL_ROOT}/platform/android/src/geometry/lat_lng_quad.cpp - ${MBGL_ROOT}/platform/android/src/geometry/lat_lng_quad.hpp - ${MBGL_ROOT}/platform/android/src/geometry/projected_meters.cpp - ${MBGL_ROOT}/platform/android/src/geometry/projected_meters.hpp - ${MBGL_ROOT}/platform/android/src/gl_functions.cpp - ${MBGL_ROOT}/platform/android/src/graphics/pointf.cpp - ${MBGL_ROOT}/platform/android/src/graphics/pointf.hpp - ${MBGL_ROOT}/platform/android/src/graphics/rectf.cpp - ${MBGL_ROOT}/platform/android/src/graphics/rectf.hpp - ${MBGL_ROOT}/platform/android/src/gson/json_array.cpp - ${MBGL_ROOT}/platform/android/src/gson/json_array.hpp - ${MBGL_ROOT}/platform/android/src/gson/json_element.cpp - ${MBGL_ROOT}/platform/android/src/gson/json_element.hpp - ${MBGL_ROOT}/platform/android/src/gson/json_object.cpp - ${MBGL_ROOT}/platform/android/src/gson/json_object.hpp - ${MBGL_ROOT}/platform/android/src/gson/json_primitive.cpp - ${MBGL_ROOT}/platform/android/src/gson/json_primitive.hpp - ${MBGL_ROOT}/platform/android/src/image.cpp - ${MBGL_ROOT}/platform/android/src/java/util.cpp - ${MBGL_ROOT}/platform/android/src/java/util.hpp - ${MBGL_ROOT}/platform/android/src/java_types.cpp - ${MBGL_ROOT}/platform/android/src/java_types.hpp - ${MBGL_ROOT}/platform/android/src/jni.cpp - ${MBGL_ROOT}/platform/android/src/jni.hpp - ${MBGL_ROOT}/platform/android/src/jni_native.cpp - ${MBGL_ROOT}/platform/android/src/jni_native.hpp - ${MBGL_ROOT}/platform/android/src/mapbox.cpp - ${MBGL_ROOT}/platform/android/src/mapbox.hpp - ${MBGL_ROOT}/platform/android/src/map/camera_position.cpp - ${MBGL_ROOT}/platform/android/src/map/camera_position.hpp - ${MBGL_ROOT}/platform/android/src/map/image.cpp - ${MBGL_ROOT}/platform/android/src/map/image.hpp - ${MBGL_ROOT}/platform/android/src/map_renderer.cpp - ${MBGL_ROOT}/platform/android/src/map_renderer.hpp - ${MBGL_ROOT}/platform/android/src/map_renderer_runnable.cpp - ${MBGL_ROOT}/platform/android/src/map_renderer_runnable.hpp - ${MBGL_ROOT}/platform/android/src/native_map_view.cpp - ${MBGL_ROOT}/platform/android/src/native_map_view.hpp - ${MBGL_ROOT}/platform/android/src/offline/offline_manager.cpp - ${MBGL_ROOT}/platform/android/src/offline/offline_manager.hpp - ${MBGL_ROOT}/platform/android/src/offline/offline_region.cpp - ${MBGL_ROOT}/platform/android/src/offline/offline_region.hpp - ${MBGL_ROOT}/platform/android/src/offline/offline_region_definition.cpp - ${MBGL_ROOT}/platform/android/src/offline/offline_region_definition.hpp - ${MBGL_ROOT}/platform/android/src/offline/offline_region_error.cpp - ${MBGL_ROOT}/platform/android/src/offline/offline_region_error.hpp - ${MBGL_ROOT}/platform/android/src/offline/offline_region_status.cpp - ${MBGL_ROOT}/platform/android/src/offline/offline_region_status.hpp - ${MBGL_ROOT}/platform/android/src/run_loop.cpp - ${MBGL_ROOT}/platform/android/src/run_loop_impl.hpp - ${MBGL_ROOT}/platform/android/src/snapshotter/map_snapshot.cpp - ${MBGL_ROOT}/platform/android/src/snapshotter/map_snapshot.hpp - ${MBGL_ROOT}/platform/android/src/snapshotter/map_snapshotter.cpp - ${MBGL_ROOT}/platform/android/src/snapshotter/map_snapshotter.hpp - ${MBGL_ROOT}/platform/android/src/string_util.cpp - ${MBGL_ROOT}/platform/android/src/style/android_conversion.hpp - ${MBGL_ROOT}/platform/android/src/style/conversion/filter.cpp - ${MBGL_ROOT}/platform/android/src/style/conversion/filter.hpp - ${MBGL_ROOT}/platform/android/src/style/conversion/position.cpp - ${MBGL_ROOT}/platform/android/src/style/conversion/position.hpp - ${MBGL_ROOT}/platform/android/src/style/conversion/property_expression.hpp - ${MBGL_ROOT}/platform/android/src/style/conversion/property_value.hpp - ${MBGL_ROOT}/platform/android/src/style/conversion/transition_options.cpp - ${MBGL_ROOT}/platform/android/src/style/conversion/transition_options.hpp - ${MBGL_ROOT}/platform/android/src/style/conversion/url_or_tileset.cpp - ${MBGL_ROOT}/platform/android/src/style/conversion/url_or_tileset.hpp - ${MBGL_ROOT}/platform/android/src/style/formatted.cpp - ${MBGL_ROOT}/platform/android/src/style/formatted.hpp - ${MBGL_ROOT}/platform/android/src/style/formatted_section.cpp - ${MBGL_ROOT}/platform/android/src/style/formatted_section.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/background_layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/background_layer.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/circle_layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/circle_layer.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/custom_layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/custom_layer.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/fill_extrusion_layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/fill_extrusion_layer.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/fill_layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/fill_layer.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/heatmap_layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/heatmap_layer.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/hillshade_layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/hillshade_layer.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/layer.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/layer_manager.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/layer_manager.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/line_layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/line_layer.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/raster_layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/raster_layer.hpp - ${MBGL_ROOT}/platform/android/src/style/layers/symbol_layer.cpp - ${MBGL_ROOT}/platform/android/src/style/layers/symbol_layer.hpp - ${MBGL_ROOT}/platform/android/src/style/light.cpp - ${MBGL_ROOT}/platform/android/src/style/light.hpp - ${MBGL_ROOT}/platform/android/src/style/position.cpp - ${MBGL_ROOT}/platform/android/src/style/position.hpp - ${MBGL_ROOT}/platform/android/src/style/sources/custom_geometry_source.cpp - ${MBGL_ROOT}/platform/android/src/style/sources/custom_geometry_source.hpp - ${MBGL_ROOT}/platform/android/src/style/sources/geojson_source.cpp - ${MBGL_ROOT}/platform/android/src/style/sources/geojson_source.hpp - ${MBGL_ROOT}/platform/android/src/style/sources/image_source.cpp - ${MBGL_ROOT}/platform/android/src/style/sources/image_source.hpp - ${MBGL_ROOT}/platform/android/src/style/sources/raster_dem_source.cpp - ${MBGL_ROOT}/platform/android/src/style/sources/raster_dem_source.hpp - ${MBGL_ROOT}/platform/android/src/style/sources/raster_source.cpp - ${MBGL_ROOT}/platform/android/src/style/sources/raster_source.hpp - ${MBGL_ROOT}/platform/android/src/style/sources/source.cpp - ${MBGL_ROOT}/platform/android/src/style/sources/source.hpp - ${MBGL_ROOT}/platform/android/src/style/sources/unknown_source.cpp - ${MBGL_ROOT}/platform/android/src/style/sources/unknown_source.hpp - ${MBGL_ROOT}/platform/android/src/style/sources/vector_source.cpp - ${MBGL_ROOT}/platform/android/src/style/sources/vector_source.hpp - ${MBGL_ROOT}/platform/android/src/style/transition_options.cpp - ${MBGL_ROOT}/platform/android/src/style/transition_options.hpp - ${MBGL_ROOT}/platform/android/src/style/value.cpp - ${MBGL_ROOT}/platform/android/src/style/value.hpp - ${MBGL_ROOT}/platform/android/src/thread.cpp - ${MBGL_ROOT}/platform/android/src/timer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_backend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_frontend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gl/headless_backend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/map/map_snapshotter.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/database_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_manager.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_request.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/main_resource_loader.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_database.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_download.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/online_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/sqlite3.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/text/bidi.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/compression.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/monotonic_timer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/png_writer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/thread_local.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/utf.cpp - ${MBGL_ROOT}/platform/linux/src/headless_backend_egl.cpp -) - -target_include_directories( - mbgl-core - PRIVATE ${MBGL_ROOT}/platform/default/include -) - -target_link_libraries( - mbgl-core - PRIVATE - EGL - GLESv2 - Mapbox::Base::jni.hpp - android - atomic - jnigraphics - log - mbgl-vendor-icu - mbgl-vendor-sqlite - z -) - -add_library( - mbgl-core-android STATIC - ${MBGL_ROOT}/platform/android/src/file_source.cpp - ${MBGL_ROOT}/platform/android/src/file_source.hpp - ${MBGL_ROOT}/platform/android/src/http_file_source.cpp - ${MBGL_ROOT}/platform/android/src/i18n/collator.cpp - ${MBGL_ROOT}/platform/android/src/i18n/collator_jni.hpp - ${MBGL_ROOT}/platform/android/src/i18n/number_format.cpp - ${MBGL_ROOT}/platform/android/src/i18n/number_format_jni.hpp - ${MBGL_ROOT}/platform/android/src/logger.cpp - ${MBGL_ROOT}/platform/android/src/logger.hpp - ${MBGL_ROOT}/platform/android/src/logging_android.cpp - ${MBGL_ROOT}/platform/android/src/text/local_glyph_rasterizer.cpp - ${MBGL_ROOT}/platform/android/src/text/local_glyph_rasterizer_jni.hpp -) - -target_include_directories( - mbgl-core-android - PRIVATE ${MBGL_ROOT}/platform/default/include ${MBGL_ROOT}/src -) - -target_link_libraries( - mbgl-core-android - PRIVATE Mapbox::Base::jni.hpp mbgl-compiler-options mbgl-core -) - -add_library( - mapbox-gl SHARED - ${MBGL_ROOT}/platform/android/src/main.cpp -) - -target_include_directories( - mapbox-gl - PRIVATE ${MBGL_ROOT}/platform/default/include ${MBGL_ROOT}/src -) - -target_link_libraries( - mapbox-gl - PRIVATE - Mapbox::Base::jni.hpp - mbgl-compiler-options - mbgl-core - mbgl-core-android -) - -add_library( - example-custom-layer MODULE - ${MBGL_ROOT}/platform/android/src/example_custom_layer.cpp -) - -target_include_directories( - example-custom-layer - PRIVATE ${MBGL_ROOT}/include -) - -target_link_libraries( - example-custom-layer - PRIVATE - GLESv2 - Mapbox::Base::optional - Mapbox::Base::typewrapper - Mapbox::Base::value - Mapbox::Base::weak - log - mbgl-compiler-options -) - -add_library( - mbgl-test-runner SHARED - ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c - ${MBGL_ROOT}/platform/android/src/test/test_runner.cpp - ${MBGL_ROOT}/platform/android/src/test/test_runner_common.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp - ${MBGL_ROOT}/platform/android/src/test/collator_test_stub.cpp - ${MBGL_ROOT}/platform/android/src/test/number_format_test_stub.cpp -) - -target_include_directories( - mbgl-test-runner - PRIVATE ${ANDROID_NDK}/sources/android/native_app_glue ${MBGL_ROOT}/platform/android/src ${MBGL_ROOT}/src -) - -target_link_libraries( - mbgl-test-runner - PRIVATE - Mapbox::Base::jni.hpp - mbgl-compiler-options - -Wl,--whole-archive - mbgl-test - -Wl,--no-whole-archive -) - -if(ANDROID_NATIVE_API_LEVEL VERSION_LESS 24) - target_sources( - mbgl-test-runner - PRIVATE ${MBGL_ROOT}/platform/android/src/test/http_file_source_test_stub.cpp - ) -else() - set(CURL_DIR ${MBGL_ROOT}/vendor/curl-android-ios/prebuilt-with-ssl/android) - set(CURL_LIBRARY ${CURL_DIR}/${ANDROID_ABI}/libcurl.a) - - target_sources( - mbgl-test-runner - PRIVATE ${MBGL_ROOT}/platform/default/src/mbgl/storage/http_file_source.cpp - ) - target_include_directories( - mbgl-test-runner - PRIVATE ${CURL_DIR}/include - ) - target_link_libraries( - mbgl-test-runner - PRIVATE ${CURL_LIBRARY} - ) -endif() - -add_custom_command( - TARGET mbgl-test-runner PRE_BUILD - COMMAND - ${CMAKE_COMMAND} - -E - make_directory - ${MBGL_ROOT}/test/results - COMMAND - ${CMAKE_COMMAND} - -E - tar - "chf" - "test/android/app/src/main/assets/data.zip" - --format=zip - --files-from=test/android/app/src/main/assets/to_zip.txt - COMMAND - ${CMAKE_COMMAND} - -E - remove_directory - ${MBGL_ROOT}/test/results - WORKING_DIRECTORY ${MBGL_ROOT} -) - -add_library( - mbgl-benchmark-runner SHARED - ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c - ${MBGL_ROOT}/platform/android/src/test/benchmark_runner.cpp - ${MBGL_ROOT}/platform/android/src/test/test_runner_common.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp - ${MBGL_ROOT}/platform/android/src/test/collator_test_stub.cpp - ${MBGL_ROOT}/platform/android/src/test/number_format_test_stub.cpp - ${MBGL_ROOT}/platform/android/src/test/http_file_source_test_stub.cpp -) - -target_include_directories( - mbgl-benchmark-runner - PRIVATE ${ANDROID_NDK}/sources/android/native_app_glue ${MBGL_ROOT}/platform/android/src ${MBGL_ROOT}/src -) - -target_link_libraries( - mbgl-benchmark-runner - PRIVATE - Mapbox::Base::jni.hpp - mbgl-compiler-options - -Wl,--whole-archive - mbgl-benchmark - -Wl,--no-whole-archive -) - -add_custom_command( - TARGET mbgl-benchmark-runner PRE_BUILD - COMMAND - ${CMAKE_COMMAND} - -E - make_directory - ${MBGL_ROOT}/benchmark/results - COMMAND - ${CMAKE_COMMAND} - -E - tar - "chf" - "benchmark/android/app/src/main/assets/data.zip" - --format=zip - --files-from=benchmark/android/app/src/main/assets/to_zip.txt - COMMAND - ${CMAKE_COMMAND} - -E - remove_directory - ${MBGL_ROOT}/benchmark/results - WORKING_DIRECTORY ${MBGL_ROOT} -) - -add_library( - mbgl-render-test-runner SHARED - ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c - ${MBGL_ROOT}/platform/android/src/test/render_test_runner.cpp - ${MBGL_ROOT}/platform/android/src/test/test_runner_common.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp - ${MBGL_ROOT}/platform/android/src/test/collator_test_stub.cpp - ${MBGL_ROOT}/platform/android/src/test/number_format_test_stub.cpp - ${MBGL_ROOT}/platform/android/src/test/http_file_source_test_stub.cpp -) - -target_include_directories( - mbgl-render-test-runner - PRIVATE ${ANDROID_NDK}/sources/android/native_app_glue ${MBGL_ROOT}/platform/android/src ${MBGL_ROOT}/src -) - -target_link_libraries( - mbgl-render-test-runner - PRIVATE - Mapbox::Base::jni.hpp - android - log - mbgl-compiler-options - mbgl-render-test -) - -add_custom_command( - TARGET mbgl-render-test-runner PRE_BUILD - COMMAND - ${CMAKE_COMMAND} - -E - tar - "chf" - "render-test/android/app/src/main/assets/data.zip" - --format=zip - --files-from=render-test/android/app/src/main/assets/to_zip.txt - WORKING_DIRECTORY ${MBGL_ROOT} -) - -install(TARGETS mapbox-gl LIBRARY DESTINATION lib) diff --git a/next/platform/ios/ios.cmake b/next/platform/ios/ios.cmake deleted file mode 100644 index 68578e0dfa..0000000000 --- a/next/platform/ios/ios.cmake +++ /dev/null @@ -1,192 +0,0 @@ -target_compile_definitions( - mbgl-core - PUBLIC MBGL_USE_GLES2 GLES_SILENCE_DEPRECATION -) - -if(NOT DEFINED IOS_DEPLOYMENT_TARGET) - set(IOS_DEPLOYMENT_TARGET "9.0") -endif() - -macro(initialize_ios_target target) - set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "${IOS_DEPLOYMENT_TARGET}") - set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_ENABLE_BITCODE "YES") - set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_BITCODE_GENERATION_MODE bitcode) - set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH $<$<CONFIG:Debug>:YES>) -endmacro() - -set_target_properties(mbgl-core PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES) - -target_sources( - mbgl-core - PRIVATE - ${MBGL_ROOT}/platform/darwin/src/async_task.cpp - ${MBGL_ROOT}/platform/darwin/src/collator.mm - ${MBGL_ROOT}/platform/darwin/src/gl_functions.cpp - ${MBGL_ROOT}/platform/darwin/src/headless_backend_eagl.mm - ${MBGL_ROOT}/platform/darwin/src/native_apple_interface.m - ${MBGL_ROOT}/platform/darwin/src/http_file_source.mm - ${MBGL_ROOT}/platform/darwin/src/native_apple_interface.m - ${MBGL_ROOT}/platform/darwin/src/image.mm - ${MBGL_ROOT}/platform/darwin/src/local_glyph_rasterizer.mm - ${MBGL_ROOT}/platform/darwin/src/logging_nslog.mm - ${MBGL_ROOT}/platform/darwin/src/nsthread.mm - ${MBGL_ROOT}/platform/darwin/src/number_format.mm - ${MBGL_ROOT}/platform/darwin/src/reachability.m - ${MBGL_ROOT}/platform/darwin/src/run_loop.cpp - ${MBGL_ROOT}/platform/darwin/src/string_nsstring.mm - ${MBGL_ROOT}/platform/darwin/src/timer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_backend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_frontend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gl/headless_backend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/map/map_snapshotter.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/database_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_manager.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_request.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/main_resource_loader.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_database.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_download.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/online_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/sqlite3.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/text/bidi.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/compression.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/monotonic_timer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/png_writer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/thread_local.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/utf.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/thread_local.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/layermanager/layer_manager.cpp -) - -target_include_directories( - mbgl-core - PRIVATE ${MBGL_ROOT}/platform/darwin/include ${MBGL_ROOT}/platform/default/include -) - -include(${PROJECT_SOURCE_DIR}/vendor/icu.cmake) - -initialize_ios_target(mbgl-core) -initialize_ios_target(mbgl-vendor-icu) - -target_link_libraries( - mbgl-core - PRIVATE - "-framework CoreGraphics" - "-framework CoreImage" - "-framework CoreLocation" - "-framework CoreServices" - "-framework CoreText" - "-framework Foundation" - "-framework GLKit" - "-framework ImageIO" - "-framework OpenGLES" - "-framework QuartzCore" - "-framework Security" - "-framework SystemConfiguration" - "-framework UIKit" - "-framework WebKit" - mbgl-vendor-icu - sqlite3 - z -) - -if(MBGL_IOS_RENDER_TEST) - set(CMAKE_OSX_ARCHITECTURES "armv7;i386;x86_64;arm64") - - include(${PROJECT_SOURCE_DIR}/vendor/zip-archive.cmake) - initialize_ios_target(mbgl-vendor-zip-archive) - - set(PREPARE_CMD "${MBGL_ROOT}/render-test/ios/setup_test_data.sh") - message("COMMAND: ${PREPARE_CMD}") - execute_process(COMMAND ${PREPARE_CMD} RESULT_VARIABLE CMD_ERROR) - message(STATUS "CMD_ERROR:" ${CMD_ERROR}) - - set(RESOURCES ${MBGL_ROOT}/render-test/ios/Main.storyboard ${MBGL_ROOT}/render-test/ios/LaunchScreen.storyboard ${MBGL_ROOT}/test-data) - - add_executable( - RenderTestApp - ${MBGL_ROOT}/render-test/ios/ios_test_runner.hpp - ${MBGL_ROOT}/render-test/ios/ios_test_runner.cpp - ${MBGL_ROOT}/render-test/ios/AppDelegate.h - ${MBGL_ROOT}/render-test/ios/AppDelegate.m - ${MBGL_ROOT}/render-test/ios/ViewController.h - ${MBGL_ROOT}/render-test/ios/ViewController.m - ${MBGL_ROOT}/render-test/ios/iosTestRunner.h - ${MBGL_ROOT}/render-test/ios/iosTestRunner.mm - ${MBGL_ROOT}/render-test/ios/main.m - ${RESOURCES} - ) - initialize_ios_target(RenderTestApp) - - set_target_properties( - RenderTestApp - PROPERTIES - MACOSX_BUNDLE - TRUE - MACOSX_BUNDLE_IDENTIFIER - com.mapbox.RenderTestAPP - MACOSX_BUNDLE_INFO_PLIST - ${MBGL_ROOT}/render-test/ios/Info.plist - RESOURCE - "${RESOURCES}" - ) - - target_include_directories( - RenderTestApp - PUBLIC {MBGL_ROOT}/render-test/include ${MBGL_ROOT}/include - ) - - target_include_directories( - RenderTestApp - PRIVATE - ${MBGL_ROOT}/platform/darwin/src - ${MBGL_ROOT}/platform/darwin/include - ${MBGL_ROOT}/platform/darwin/include/mbgl/interface/ - ${MBGL_ROOT}/platform/default/include - ${MBGL_ROOT}/src - ) - - target_include_directories( - RenderTestApp - PUBLIC ${MBGL_ROOT}/render-test/ios - ) - - target_link_libraries( - RenderTestApp - PRIVATE - "-framework CoreGraphics" - "-framework CoreLocation" - "-framework Foundation" - "-framework OpenGLES" - "-framework QuartzCore" - "-framework UIKit" - mbgl-render-test - mbgl-vendor-zip-archive - ) - - find_package(XCTest REQUIRED) - - xctest_add_bundle(RenderTestAppTests RenderTestApp ${MBGL_ROOT}/render-test/ios/tests/Tests.m) - - set_target_properties( - RenderTestAppTests - PROPERTIES - XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET - "${IOS_DEPLOYMENT_TARGET}" - XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH - $<$<CONFIG:Debug>:YES> - ) - - target_include_directories( - RenderTestAppTests - PUBLIC ${MBGL_ROOT}/render-test/ios - ) - - xctest_add_test(XCTest.RenderTestApp RenderTestAppTests) - - set_target_properties(RenderTestAppTests PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${MBGL_ROOT}/render-test/ios/tests/Info.plist) -endif() -unset(IOS_DEPLOYMENT_TARGET CACHE) diff --git a/next/platform/linux/linux.cmake b/next/platform/linux/linux.cmake deleted file mode 100644 index 6f2ac12e49..0000000000 --- a/next/platform/linux/linux.cmake +++ /dev/null @@ -1,134 +0,0 @@ -find_package(CURL REQUIRED) -find_package(ICU REQUIRED i18n) -find_package(ICU REQUIRED uc) -find_package(JPEG REQUIRED) -find_package(OpenGL REQUIRED GLX) -find_package(PNG REQUIRED) -find_package(PkgConfig REQUIRED) -find_package(X11 REQUIRED) - -pkg_search_module(LIBUV libuv REQUIRED) - -target_sources( - mbgl-core - PRIVATE - ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_backend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_frontend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gl/headless_backend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/i18n/collator.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/i18n/number_format.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/layermanager/layer_manager.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/database_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_manager.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/http_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_request.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/main_resource_loader.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_database.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_download.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/online_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/sqlite3.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/text/bidi.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/async_task.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/compression.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/image.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/jpeg_reader.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/logging_stderr.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/monotonic_timer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/png_reader.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/png_writer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/run_loop.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/string_stdlib.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/thread.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/thread_local.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/timer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/utf.cpp - ${MBGL_ROOT}/platform/linux/src/gl_functions.cpp - ${MBGL_ROOT}/platform/linux/src/headless_backend_glx.cpp -) - -# FIXME: Should not be needed, but now needed by node because of the headless frontend. -target_include_directories( - mbgl-core - PUBLIC ${MBGL_ROOT}/platform/default/include - PRIVATE - ${CURL_INCLUDE_DIRS} - ${JPEG_INCLUDE_DIRS} - ${LIBUV_INCLUDE_DIRS} - ${X11_INCLUDE_DIRS} -) - -include(${PROJECT_SOURCE_DIR}/vendor/nunicode.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/sqlite.cmake) - -target_link_libraries( - mbgl-core - PRIVATE - ${CURL_LIBRARIES} - ${JPEG_LIBRARIES} - ${LIBUV_LIBRARIES} - ${X11_LIBRARIES} - ICU::i18n - ICU::uc - OpenGL::GLX - PNG::PNG - mbgl-vendor-nunicode - mbgl-vendor-sqlite -) - -add_subdirectory(${PROJECT_SOURCE_DIR}/bin) -add_subdirectory(${PROJECT_SOURCE_DIR}/expression-test) -add_subdirectory(${PROJECT_SOURCE_DIR}/platform/glfw) -add_subdirectory(${PROJECT_SOURCE_DIR}/platform/node) - -add_executable( - mbgl-test-runner - ${MBGL_ROOT}/platform/default/src/mbgl/test/main.cpp -) - -target_compile_definitions( - mbgl-test-runner - PRIVATE WORK_DIRECTORY=${MBGL_ROOT} -) - -target_link_libraries( - mbgl-test-runner - PRIVATE - mbgl-compiler-options - -Wl,--whole-archive - mbgl-test - -Wl,--no-whole-archive -) - -add_executable( - mbgl-benchmark-runner - ${MBGL_ROOT}/platform/default/src/mbgl/benchmark/main.cpp -) - -target_link_libraries( - mbgl-benchmark-runner - PRIVATE - mbgl-compiler-options - -Wl,--whole-archive - mbgl-benchmark - -Wl,--no-whole-archive -) - -add_executable( - mbgl-render-test-runner - ${MBGL_ROOT}/platform/default/src/mbgl/render-test/main.cpp -) - -target_link_libraries( - mbgl-render-test-runner - PRIVATE mbgl-compiler-options mbgl-render-test -) - -add_test(NAME mbgl-benchmark-runner COMMAND mbgl-benchmark-runner WORKING_DIRECTORY ${MBGL_ROOT}) -add_test(NAME mbgl-test-runner COMMAND mbgl-test-runner WORKING_DIRECTORY ${MBGL_ROOT}) - -install(TARGETS mbgl-render-test-runner RUNTIME DESTINATION bin) diff --git a/next/platform/macos/macos.cmake b/next/platform/macos/macos.cmake deleted file mode 100644 index 631adfc36b..0000000000 --- a/next/platform/macos/macos.cmake +++ /dev/null @@ -1,213 +0,0 @@ -find_package(OpenGL REQUIRED) - -target_compile_definitions( - mbgl-core - PUBLIC GL_SILENCE_DEPRECATION -) - -target_sources( - mbgl-core - PRIVATE - ${MBGL_ROOT}/platform/darwin/src/MGLAccountManager.m - ${MBGL_ROOT}/platform/darwin/src/MGLAttributedExpression.m - ${MBGL_ROOT}/platform/darwin/src/MGLAttributionInfo.mm - ${MBGL_ROOT}/platform/darwin/src/MGLBackgroundStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLCircleStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLClockDirectionFormatter.m - ${MBGL_ROOT}/platform/darwin/src/MGLCompassDirectionFormatter.m - ${MBGL_ROOT}/platform/darwin/src/MGLComputedShapeSource.mm - ${MBGL_ROOT}/platform/darwin/src/MGLCoordinateFormatter.m - ${MBGL_ROOT}/platform/darwin/src/MGLDistanceFormatter.m - ${MBGL_ROOT}/platform/darwin/src/MGLFeature.mm - ${MBGL_ROOT}/platform/darwin/src/MGLFillExtrusionStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLFillStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLForegroundStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLFoundation.mm - ${MBGL_ROOT}/platform/darwin/src/MGLGeometry.mm - ${MBGL_ROOT}/platform/darwin/src/MGLHeatmapStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLHillshadeStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLImageSource.mm - ${MBGL_ROOT}/platform/darwin/src/MGLLight.mm - ${MBGL_ROOT}/platform/darwin/src/MGLLineStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLLoggingConfiguration.mm - ${MBGL_ROOT}/platform/darwin/src/MGLMapCamera.mm - ${MBGL_ROOT}/platform/darwin/src/MGLMapSnapshotter.mm - ${MBGL_ROOT}/platform/darwin/src/MGLMultiPoint.mm - ${MBGL_ROOT}/platform/darwin/src/MGLNetworkConfiguration.m - ${MBGL_ROOT}/platform/darwin/src/MGLOfflinePack.mm - ${MBGL_ROOT}/platform/darwin/src/MGLOfflineStorage.mm - ${MBGL_ROOT}/platform/darwin/src/MGLOpenGLStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLPointAnnotation.mm - ${MBGL_ROOT}/platform/darwin/src/MGLPointCollection.mm - ${MBGL_ROOT}/platform/darwin/src/MGLPolygon.mm - ${MBGL_ROOT}/platform/darwin/src/MGLPolyline.mm - ${MBGL_ROOT}/platform/darwin/src/MGLRasterDEMSource.mm - ${MBGL_ROOT}/platform/darwin/src/MGLRasterStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLRasterTileSource.mm - ${MBGL_ROOT}/platform/darwin/src/MGLRendererConfiguration.mm - ${MBGL_ROOT}/platform/darwin/src/MGLSDKMetricsManager.m - ${MBGL_ROOT}/platform/darwin/src/MGLShape.mm - ${MBGL_ROOT}/platform/darwin/src/MGLShapeCollection.mm - ${MBGL_ROOT}/platform/darwin/src/MGLShapeOfflineRegion.mm - ${MBGL_ROOT}/platform/darwin/src/MGLShapeSource.mm - ${MBGL_ROOT}/platform/darwin/src/MGLSource.mm - ${MBGL_ROOT}/platform/darwin/src/MGLStyle.mm - ${MBGL_ROOT}/platform/darwin/src/MGLStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLStyleLayerManager.mm - ${MBGL_ROOT}/platform/darwin/src/MGLStyleValue.mm - ${MBGL_ROOT}/platform/darwin/src/MGLSymbolStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLTilePyramidOfflineRegion.mm - ${MBGL_ROOT}/platform/darwin/src/MGLTileSource.mm - ${MBGL_ROOT}/platform/darwin/src/MGLTypes.m - ${MBGL_ROOT}/platform/darwin/src/MGLVectorStyleLayer.mm - ${MBGL_ROOT}/platform/darwin/src/MGLVectorTileSource.mm - ${MBGL_ROOT}/platform/darwin/src/NSArray+MGLAdditions.mm - ${MBGL_ROOT}/platform/darwin/src/NSBundle+MGLAdditions.m - ${MBGL_ROOT}/platform/darwin/src/NSCoder+MGLAdditions.mm - ${MBGL_ROOT}/platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm - ${MBGL_ROOT}/platform/darwin/src/NSCompoundPredicate+MGLAdditions.mm - ${MBGL_ROOT}/platform/darwin/src/NSDate+MGLAdditions.mm - ${MBGL_ROOT}/platform/darwin/src/NSDictionary+MGLAdditions.mm - ${MBGL_ROOT}/platform/darwin/src/NSExpression+MGLAdditions.mm - ${MBGL_ROOT}/platform/darwin/src/NSPredicate+MGLAdditions.mm - ${MBGL_ROOT}/platform/darwin/src/NSString+MGLAdditions.m - ${MBGL_ROOT}/platform/darwin/src/NSURL+MGLAdditions.m - ${MBGL_ROOT}/platform/darwin/src/NSValue+MGLAdditions.m - ${MBGL_ROOT}/platform/darwin/src/NSValue+MGLStyleAttributeAdditions.mm - ${MBGL_ROOT}/platform/darwin/src/async_task.cpp - ${MBGL_ROOT}/platform/darwin/src/collator.mm - ${MBGL_ROOT}/platform/darwin/src/gl_functions.cpp - ${MBGL_ROOT}/platform/darwin/src/headless_backend_cgl.mm - ${MBGL_ROOT}/platform/darwin/src/http_file_source.mm - ${MBGL_ROOT}/platform/darwin/src/image.mm - ${MBGL_ROOT}/platform/darwin/src/local_glyph_rasterizer.mm - ${MBGL_ROOT}/platform/darwin/src/logging_nslog.mm - ${MBGL_ROOT}/platform/darwin/src/nsthread.mm - ${MBGL_ROOT}/platform/darwin/src/number_format.mm - ${MBGL_ROOT}/platform/darwin/src/reachability.m - ${MBGL_ROOT}/platform/darwin/src/run_loop.cpp - ${MBGL_ROOT}/platform/darwin/src/string_nsstring.mm - ${MBGL_ROOT}/platform/darwin/src/timer.cpp - ${MBGL_ROOT}/platform/darwin/src/native_apple_interface.m - ${MBGL_ROOT}/platform/darwin/src/MGLNetworkIntegrationManager.m - ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_backend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_frontend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gl/headless_backend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/map/map_snapshotter.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/database_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_manager.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_request.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/main_resource_loader.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_database.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_download.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/online_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/sqlite3.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/text/bidi.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/compression.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/monotonic_timer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/png_writer.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/thread_local.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/utf.cpp - ${MBGL_ROOT}/platform/macos/src/MGLAnnotationImage.m - ${MBGL_ROOT}/platform/macos/src/MGLAttributionButton.mm - ${MBGL_ROOT}/platform/macos/src/MGLCompassCell.m - ${MBGL_ROOT}/platform/macos/src/MGLMapView+IBAdditions.mm - ${MBGL_ROOT}/platform/macos/src/MGLMapView+Impl.mm - ${MBGL_ROOT}/platform/macos/src/MGLMapView+OpenGL.mm - ${MBGL_ROOT}/platform/macos/src/MGLMapView.mm - ${MBGL_ROOT}/platform/macos/src/MGLOpenGLLayer.mm - ${MBGL_ROOT}/platform/macos/src/NSColor+MGLAdditions.mm - ${MBGL_ROOT}/platform/macos/src/NSImage+MGLAdditions.mm - ${MBGL_ROOT}/platform/macos/src/NSProcessInfo+MGLAdditions.m -) - -set_target_properties(mbgl-core PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES) - -target_compile_options(mbgl-core PRIVATE -fobjc-arc) - -# FIXME: Should not be needed, but now needed by node because of the headless frontend. -target_include_directories( - mbgl-core - PUBLIC ${MBGL_ROOT}/platform/default/include -) - -target_include_directories( - mbgl-core - PRIVATE ${MBGL_ROOT}/platform/darwin/include ${MBGL_ROOT}/platform/darwin/src ${MBGL_ROOT}/platform/macos/src -) - -include(${PROJECT_SOURCE_DIR}/vendor/icu.cmake) - -target_link_libraries( - mbgl-core - PRIVATE - "-framework AppKit" - "-framework CoreGraphics" - "-framework CoreLocation" - "-framework SystemConfiguration" - OpenGL::GL - mbgl-vendor-icu - sqlite3 - z -) - -add_subdirectory(${PROJECT_SOURCE_DIR}/bin) -add_subdirectory(${PROJECT_SOURCE_DIR}/expression-test) -add_subdirectory(${PROJECT_SOURCE_DIR}/platform/glfw) -add_subdirectory(${PROJECT_SOURCE_DIR}/platform/node) - -add_executable( - mbgl-test-runner - ${MBGL_ROOT}/platform/default/src/mbgl/test/main.cpp -) - -target_include_directories( - mbgl-test-runner - PUBLIC ${MBGL_ROOT}/include ${MBGL_ROOT}/test/include -) - -target_compile_definitions( - mbgl-test-runner - PRIVATE WORK_DIRECTORY=${MBGL_ROOT} -) - -target_link_libraries( - mbgl-test-runner - PRIVATE mbgl-compiler-options -Wl,-force_load mbgl-test -) - -add_executable( - mbgl-benchmark-runner - ${MBGL_ROOT}/platform/default/src/mbgl/benchmark/main.cpp -) - -target_include_directories( - mbgl-benchmark-runner - PUBLIC ${MBGL_ROOT}/benchmark/include -) - -target_link_libraries( - mbgl-benchmark-runner - PRIVATE mbgl-compiler-options -Wl,-force_load mbgl-benchmark -) - -add_executable( - mbgl-render-test-runner - ${MBGL_ROOT}/platform/default/src/mbgl/render-test/main.cpp -) - -target_link_libraries( - mbgl-render-test-runner - PRIVATE mbgl-compiler-options mbgl-render-test -) - -set_property(TARGET mbgl-benchmark-runner PROPERTY FOLDER Executables) -set_property(TARGET mbgl-test-runner PROPERTY FOLDER Executables) -set_property(TARGET mbgl-render-test-runner PROPERTY FOLDER Executables) - -add_test(NAME mbgl-benchmark-runner COMMAND mbgl-benchmark-runner WORKING_DIRECTORY ${MBGL_ROOT}) -add_test(NAME mbgl-test-runner COMMAND mbgl-test-runner WORKING_DIRECTORY ${MBGL_ROOT}) diff --git a/next/platform/node/CMakeLists.txt b/next/platform/node/CMakeLists.txt deleted file mode 100644 index 22a975afe3..0000000000 --- a/next/platform/node/CMakeLists.txt +++ /dev/null @@ -1,52 +0,0 @@ -if(NOT EXISTS ${MBGL_ROOT}/node_modules/@mapbox/cmake-node-module/module.cmake) - message("-- Not building node bindings, dependencies not found. Run 'npm update'.") - return() -endif() - -set(NODE_MODULE_CACHE_DIR ${CMAKE_SOURCE_DIR}/build/headers) -include(${MBGL_ROOT}/node_modules/@mapbox/cmake-node-module/module.cmake) - -add_node_module( - mbgl-node - INSTALL_PATH ${MBGL_ROOT}/lib/{node_abi}/mbgl.node - NAN_VERSION 2.10.0 - EXCLUDE_NODE_ABIS - 46 - 47 - 48 - 51 - 59 - 67 - 72 - 79 -) - -target_sources( - mbgl-node - INTERFACE - ${MBGL_ROOT}/platform/node/src/node_conversion.hpp - ${MBGL_ROOT}/platform/node/src/node_expression.cpp - ${MBGL_ROOT}/platform/node/src/node_expression.hpp - ${MBGL_ROOT}/platform/node/src/node_feature.cpp - ${MBGL_ROOT}/platform/node/src/node_feature.hpp - ${MBGL_ROOT}/platform/node/src/node_logging.cpp - ${MBGL_ROOT}/platform/node/src/node_logging.hpp - ${MBGL_ROOT}/platform/node/src/node_map.cpp - ${MBGL_ROOT}/platform/node/src/node_map.hpp - ${MBGL_ROOT}/platform/node/src/node_mapbox_gl_native.cpp - ${MBGL_ROOT}/platform/node/src/node_request.cpp - ${MBGL_ROOT}/platform/node/src/node_request.hpp - ${MBGL_ROOT}/platform/node/src/util/async_queue.hpp -) - -target_link_libraries( - mbgl-node - INTERFACE Mapbox::Map -) - -# FIXME: Node bindings only run fully on Linux now because it requires libuv RunLoop (which is the default on Linux). Also, Sanitizer will -# not work here because node will do a dlopen(), which is not currently supported. -if(CMAKE_SYSTEM_NAME STREQUAL Linux AND NOT MBGL_WITH_SANITIZER) - add_test(NAME mbgl-node-memory COMMAND npm run test-memory WORKING_DIRECTORY ${MBGL_ROOT}) - add_test(NAME mbgl-node-test COMMAND npm run test WORKING_DIRECTORY ${MBGL_ROOT}) -endif() diff --git a/next/platform/qt/qt.cmake b/next/platform/qt/qt.cmake deleted file mode 100644 index 44fe442ce2..0000000000 --- a/next/platform/qt/qt.cmake +++ /dev/null @@ -1,214 +0,0 @@ -# Note: Using Sqlite instead of QSqlDatabase for better compatibility. - -find_package(Qt5Gui REQUIRED) -find_package(Qt5Network REQUIRED) -find_package(Qt5OpenGL REQUIRED) -find_package(Qt5Widgets REQUIRED) - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_definitions("-DQT_COMPILING_QIMAGE_COMPAT_CPP") - add_definitions("-D_USE_MATH_DEFINES") - add_definitions("-Wno-deprecated-declarations") - add_definitions("-Wno-inconsistent-missing-override") - add_definitions("-Wno-macro-redefined") - add_definitions("-Wno-microsoft-exception-spec") - add_definitions("-Wno-unknown-argument") - add_definitions("-Wno-unknown-warning-option") - add_definitions("-Wno-unused-command-line-argument") - add_definitions("-Wno-unused-local-typedef") - add_definitions("-Wno-unused-private-field") -endif() - -target_sources( - mbgl-core - PRIVATE - ${MBGL_ROOT}/platform/$<IF:$<PLATFORM_ID:Windows>,qt/src/bidi.cpp,default/src/mbgl/text/bidi.cpp> - ${MBGL_ROOT}/platform/default/include/mbgl/gfx/headless_backend.hpp - ${MBGL_ROOT}/platform/default/include/mbgl/gfx/headless_frontend.hpp - ${MBGL_ROOT}/platform/default/include/mbgl/gl/headless_backend.hpp - ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_backend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gfx/headless_frontend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/gl/headless_backend.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/i18n/collator.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/layermanager/layer_manager.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/database_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_manager.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_request.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/main_resource_loader.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_database.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_download.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/online_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/sqlite3.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/compression.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/util/monotonic_timer.cpp - ${MBGL_ROOT}/platform/qt/src/async_task.cpp - ${MBGL_ROOT}/platform/qt/src/async_task_impl.hpp - ${MBGL_ROOT}/platform/qt/src/number_format.cpp - ${MBGL_ROOT}/platform/qt/src/gl_functions.cpp - ${MBGL_ROOT}/platform/qt/src/headless_backend_qt.cpp - ${MBGL_ROOT}/platform/qt/src/http_file_source.cpp - ${MBGL_ROOT}/platform/qt/src/http_file_source.hpp - ${MBGL_ROOT}/platform/qt/src/http_request.cpp - ${MBGL_ROOT}/platform/qt/src/http_request.hpp - ${MBGL_ROOT}/platform/qt/src/local_glyph_rasterizer.cpp - ${MBGL_ROOT}/platform/qt/src/qt_image.cpp - ${MBGL_ROOT}/platform/qt/src/qt_logging.cpp - ${MBGL_ROOT}/platform/qt/src/run_loop.cpp - ${MBGL_ROOT}/platform/qt/src/run_loop_impl.hpp - ${MBGL_ROOT}/platform/qt/src/string_stdlib.cpp - ${MBGL_ROOT}/platform/qt/src/thread.cpp - ${MBGL_ROOT}/platform/qt/src/thread_local.cpp - ${MBGL_ROOT}/platform/qt/src/timer.cpp - ${MBGL_ROOT}/platform/qt/src/timer_impl.hpp - ${MBGL_ROOT}/platform/qt/src/utf.cpp -) - -target_compile_definitions( - mbgl-core - PRIVATE QT_IMAGE_DECODERS - PUBLIC __QT__ MBGL_USE_GLES2 -) - -target_include_directories( - mbgl-core - PRIVATE ${MBGL_ROOT}/platform/default/include -) - -include(${PROJECT_SOURCE_DIR}/vendor/icu.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/nunicode.cmake) -include(${PROJECT_SOURCE_DIR}/vendor/sqlite.cmake) - -target_link_libraries( - mbgl-core - PRIVATE - $<$<NOT:$<PLATFORM_ID:Windows>>:z> - $<$<NOT:$<PLATFORM_ID:Windows>>:mbgl-vendor-icu> - Qt5::Core - Qt5::Gui - Qt5::Network - Qt5::OpenGL - mbgl-vendor-nunicode - mbgl-vendor-sqlite -) - -add_library( - qmapboxgl SHARED - ${MBGL_ROOT}/platform/qt/include/qmapbox.hpp - ${MBGL_ROOT}/platform/qt/include/qmapboxgl.hpp - ${MBGL_ROOT}/platform/qt/src/qmapbox.cpp - ${MBGL_ROOT}/platform/qt/src/qmapboxgl.cpp - ${MBGL_ROOT}/platform/qt/src/qmapboxgl_map_observer.cpp - ${MBGL_ROOT}/platform/qt/src/qmapboxgl_map_observer.hpp - ${MBGL_ROOT}/platform/qt/src/qmapboxgl_map_renderer.cpp - ${MBGL_ROOT}/platform/qt/src/qmapboxgl_map_renderer.hpp - ${MBGL_ROOT}/platform/qt/src/qmapboxgl_p.hpp - ${MBGL_ROOT}/platform/qt/src/qmapboxgl_renderer_backend.cpp - ${MBGL_ROOT}/platform/qt/src/qmapboxgl_renderer_backend.hpp - ${MBGL_ROOT}/platform/qt/src/qmapboxgl_scheduler.cpp - ${MBGL_ROOT}/platform/qt/src/qmapboxgl_scheduler.hpp - ${MBGL_ROOT}/platform/qt/src/qt_conversion.hpp - ${MBGL_ROOT}/platform/qt/src/qt_geojson.cpp - ${MBGL_ROOT}/platform/qt/src/qt_geojson.hpp -) - -# FIXME: Because of rapidjson conversion -target_include_directories( - qmapboxgl - PRIVATE ${MBGL_ROOT}/src -) - -target_include_directories( - qmapboxgl - PUBLIC ${MBGL_ROOT}/platform/qt/include -) - -target_compile_definitions( - qmapboxgl - PRIVATE QT_BUILD_MAPBOXGL_LIB -) - -target_link_libraries( - qmapboxgl - PRIVATE - Qt5::Core - Qt5::Gui - mbgl-compiler-options - mbgl-core -) - -add_executable( - mbgl-qt - ${MBGL_ROOT}/platform/qt/app/main.cpp - ${MBGL_ROOT}/platform/qt/app/mapwindow.cpp - ${MBGL_ROOT}/platform/qt/app/mapwindow.hpp - ${MBGL_ROOT}/platform/qt/resources/common.qrc -) - -# Qt public API should keep compatibility with old compilers for legacy systems -set_property(TARGET mbgl-qt PROPERTY CXX_STANDARD 98) - -target_link_libraries( - mbgl-qt - PRIVATE - Qt5::Widgets - Qt5::Gui - mbgl-compiler-options - qmapboxgl -) - -add_executable( - mbgl-test-runner - ${MBGL_ROOT}/platform/qt/test/main.cpp -) - -target_include_directories( - mbgl-test-runner - PUBLIC ${MBGL_ROOT}/include ${MBGL_ROOT}/test/include -) - -target_compile_definitions( - mbgl-test-runner - PRIVATE WORK_DIRECTORY=${MBGL_ROOT} -) - -target_link_libraries( - mbgl-test-runner - PRIVATE - Qt5::Gui - Qt5::OpenGL - mbgl-compiler-options - pthread -) - -if(CMAKE_SYSTEM_NAME STREQUAL Darwin) - target_link_libraries( - mbgl-test-runner - PRIVATE -Wl,-force_load mbgl-test - ) -else() - target_link_libraries( - mbgl-test-runner - PRIVATE -Wl,--whole-archive mbgl-test -Wl,--no-whole-archive - ) -endif() - -find_program(MBGL_QDOC NAMES qdoc) - -if(MBGL_QDOC) - add_custom_target(mbgl-qt-docs) - - add_custom_command( - TARGET mbgl-qt-docs PRE_BUILD - COMMAND - ${MBGL_QDOC} - ${MBGL_ROOT}/platform/qt/config.qdocconf - -outputdir - ${CMAKE_BINARY_DIR}/docs - ) -endif() - -add_test(NAME mbgl-test-runner COMMAND mbgl-test-runner WORKING_DIRECTORY ${MBGL_ROOT}) diff --git a/next/render-test/CMakeLists.txt b/next/render-test/CMakeLists.txt deleted file mode 100644 index 7949c2b3cb..0000000000 --- a/next/render-test/CMakeLists.txt +++ /dev/null @@ -1,52 +0,0 @@ -add_library( - mbgl-render-test STATIC EXCLUDE_FROM_ALL - ${MBGL_ROOT}/expression-test/test_runner_common.cpp - ${MBGL_ROOT}/expression-test/test_runner_common.hpp - ${MBGL_ROOT}/render-test/allocation_index.cpp - ${MBGL_ROOT}/render-test/allocation_index.hpp - ${MBGL_ROOT}/render-test/file_source.cpp - ${MBGL_ROOT}/render-test/file_source.hpp - ${MBGL_ROOT}/render-test/filesystem.hpp - ${MBGL_ROOT}/render-test/include/mbgl/render_test.hpp - ${MBGL_ROOT}/render-test/manifest_parser.cpp - ${MBGL_ROOT}/render-test/manifest_parser.hpp - ${MBGL_ROOT}/render-test/metadata.hpp - ${MBGL_ROOT}/render-test/parser.cpp - ${MBGL_ROOT}/render-test/parser.hpp - ${MBGL_ROOT}/render-test/render_test.cpp - ${MBGL_ROOT}/render-test/runner.cpp - ${MBGL_ROOT}/render-test/runner.hpp -) - -if(CMAKE_SYSTEM_NAME STREQUAL iOS) - set_target_properties(mbgl-render-test PROPERTIES XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "${IOS_DEPLOYMENT_TARGET}") - set_target_properties(mbgl-render-test PROPERTIES XCODE_ATTRIBUTE_ENABLE_BITCODE "YES") - set_target_properties(mbgl-render-test PROPERTIES XCODE_ATTRIBUTE_BITCODE_GENERATION_MODE bitcode) - set_target_properties(mbgl-render-test PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH $<$<CONFIG:Debug>:YES>) -endif() - -# FIXME: Should not use core private interface -target_include_directories( - mbgl-render-test - PRIVATE ${MBGL_ROOT}/src ${MBGL_ROOT}/platform/default/include -) - -target_include_directories( - mbgl-render-test - PUBLIC ${MBGL_ROOT}/render-test/include ${MBGL_ROOT}/include -) - -include(${PROJECT_SOURCE_DIR}/vendor/boost.cmake) - -target_link_libraries( - mbgl-render-test - PRIVATE - Mapbox::Base::Extras::args - Mapbox::Base::Extras::filesystem - Mapbox::Base::pixelmatch-cpp - mbgl-compiler-options - mbgl-vendor-boost - PUBLIC mbgl-core -) - -set_property(TARGET mbgl-render-test PROPERTY FOLDER Core) diff --git a/next/test/CMakeLists.txt b/next/test/CMakeLists.txt deleted file mode 100644 index 0dde4bd219..0000000000 --- a/next/test/CMakeLists.txt +++ /dev/null @@ -1,188 +0,0 @@ -add_library( - mbgl-test STATIC EXCLUDE_FROM_ALL - ${MBGL_ROOT}/test/actor/actor.test.cpp - ${MBGL_ROOT}/test/actor/actor_ref.test.cpp - ${MBGL_ROOT}/test/algorithm/update_renderables.test.cpp - ${MBGL_ROOT}/test/algorithm/update_tile_masks.test.cpp - ${MBGL_ROOT}/test/api/annotations.test.cpp - ${MBGL_ROOT}/test/api/api_misuse.test.cpp - ${MBGL_ROOT}/test/api/custom_geometry_source.test.cpp - ${MBGL_ROOT}/test/api/custom_layer.test.cpp - ${MBGL_ROOT}/test/api/query.test.cpp - ${MBGL_ROOT}/test/api/recycle_map.cpp - ${MBGL_ROOT}/test/geometry/dem_data.test.cpp - ${MBGL_ROOT}/test/geometry/line_atlas.test.cpp - ${MBGL_ROOT}/test/gl/bucket.test.cpp - ${MBGL_ROOT}/test/gl/context.test.cpp - ${MBGL_ROOT}/test/gl/gl_functions.test.cpp - ${MBGL_ROOT}/test/gl/object.test.cpp - ${MBGL_ROOT}/test/map/map.test.cpp - ${MBGL_ROOT}/test/map/prefetch.test.cpp - ${MBGL_ROOT}/test/map/transform.test.cpp - ${MBGL_ROOT}/test/math/clamp.test.cpp - ${MBGL_ROOT}/test/math/minmax.test.cpp - ${MBGL_ROOT}/test/math/wrap.test.cpp - ${MBGL_ROOT}/test/platform/settings.test.cpp - ${MBGL_ROOT}/test/programs/symbol_program.test.cpp - ${MBGL_ROOT}/test/renderer/backend_scope.test.cpp - ${MBGL_ROOT}/test/renderer/image_manager.test.cpp - ${MBGL_ROOT}/test/renderer/pattern_atlas.test.cpp - ${MBGL_ROOT}/test/sprite/sprite_loader.test.cpp - ${MBGL_ROOT}/test/sprite/sprite_parser.test.cpp - ${MBGL_ROOT}/test/src/mbgl/test/fixture_log_observer.cpp - ${MBGL_ROOT}/test/src/mbgl/test/getrss.cpp - ${MBGL_ROOT}/test/src/mbgl/test/sqlite3_test_fs.cpp - ${MBGL_ROOT}/test/src/mbgl/test/stub_file_source.cpp - ${MBGL_ROOT}/test/src/mbgl/test/test.cpp - ${MBGL_ROOT}/test/src/mbgl/test/util.cpp - ${MBGL_ROOT}/test/storage/asset_file_source.test.cpp - ${MBGL_ROOT}/test/storage/database_file_source.test.cpp - ${MBGL_ROOT}/test/storage/headers.test.cpp - ${MBGL_ROOT}/test/storage/http_file_source.test.cpp - ${MBGL_ROOT}/test/storage/local_file_source.test.cpp - ${MBGL_ROOT}/test/storage/main_resource_loader.test.cpp - ${MBGL_ROOT}/test/storage/offline.test.cpp - ${MBGL_ROOT}/test/storage/offline_database.test.cpp - ${MBGL_ROOT}/test/storage/offline_download.test.cpp - ${MBGL_ROOT}/test/storage/online_file_source.test.cpp - ${MBGL_ROOT}/test/storage/resource.test.cpp - ${MBGL_ROOT}/test/storage/sqlite.test.cpp - ${MBGL_ROOT}/test/style/conversion/conversion_impl.test.cpp - ${MBGL_ROOT}/test/style/conversion/function.test.cpp - ${MBGL_ROOT}/test/style/conversion/geojson_options.test.cpp - ${MBGL_ROOT}/test/style/conversion/layer.test.cpp - ${MBGL_ROOT}/test/style/conversion/light.test.cpp - ${MBGL_ROOT}/test/style/conversion/property_value.test.cpp - ${MBGL_ROOT}/test/style/conversion/stringify.test.cpp - ${MBGL_ROOT}/test/style/conversion/tileset.test.cpp - ${MBGL_ROOT}/test/style/expression/expression.test.cpp - ${MBGL_ROOT}/test/style/expression/util.test.cpp - ${MBGL_ROOT}/test/style/filter.test.cpp - ${MBGL_ROOT}/test/style/properties.test.cpp - ${MBGL_ROOT}/test/style/property_expression.test.cpp - ${MBGL_ROOT}/test/style/source.test.cpp - ${MBGL_ROOT}/test/style/style.test.cpp - ${MBGL_ROOT}/test/style/style_image.test.cpp - ${MBGL_ROOT}/test/style/style_layer.test.cpp - ${MBGL_ROOT}/test/style/style_parser.test.cpp - ${MBGL_ROOT}/test/text/bidi.test.cpp - ${MBGL_ROOT}/test/text/calculate_tile_distances.test.cpp - ${MBGL_ROOT}/test/text/cross_tile_symbol_index.test.cpp - ${MBGL_ROOT}/test/text/formatted.test.cpp - ${MBGL_ROOT}/test/text/get_anchors.test.cpp - ${MBGL_ROOT}/test/text/glyph_manager.test.cpp - ${MBGL_ROOT}/test/text/glyph_pbf.test.cpp - ${MBGL_ROOT}/test/text/language_tag.test.cpp - ${MBGL_ROOT}/test/text/local_glyph_rasterizer.test.cpp - ${MBGL_ROOT}/test/text/quads.test.cpp - ${MBGL_ROOT}/test/text/shaping.test.cpp - ${MBGL_ROOT}/test/text/tagged_string.test.cpp - ${MBGL_ROOT}/test/tile/custom_geometry_tile.test.cpp - ${MBGL_ROOT}/test/tile/geojson_tile.test.cpp - ${MBGL_ROOT}/test/tile/geometry_tile_data.test.cpp - ${MBGL_ROOT}/test/tile/raster_dem_tile.test.cpp - ${MBGL_ROOT}/test/tile/raster_tile.test.cpp - ${MBGL_ROOT}/test/tile/tile_cache.test.cpp - ${MBGL_ROOT}/test/tile/tile_coordinate.test.cpp - ${MBGL_ROOT}/test/tile/tile_id.test.cpp - ${MBGL_ROOT}/test/tile/vector_tile.test.cpp - ${MBGL_ROOT}/test/util/async_task.test.cpp - ${MBGL_ROOT}/test/util/dtoa.test.cpp - ${MBGL_ROOT}/test/util/geo.test.cpp - ${MBGL_ROOT}/test/util/grid_index.test.cpp - ${MBGL_ROOT}/test/util/http_timeout.test.cpp - ${MBGL_ROOT}/test/util/image.test.cpp - ${MBGL_ROOT}/test/util/mapbox.test.cpp - ${MBGL_ROOT}/test/util/memory.test.cpp - ${MBGL_ROOT}/test/util/merge_lines.test.cpp - ${MBGL_ROOT}/test/util/number_conversions.test.cpp - ${MBGL_ROOT}/test/util/offscreen_texture.test.cpp - ${MBGL_ROOT}/test/util/position.test.cpp - ${MBGL_ROOT}/test/util/projection.test.cpp - ${MBGL_ROOT}/test/util/run_loop.test.cpp - ${MBGL_ROOT}/test/util/string.test.cpp - ${MBGL_ROOT}/test/util/text_conversions.test.cpp - ${MBGL_ROOT}/test/util/thread.test.cpp - ${MBGL_ROOT}/test/util/thread_local.test.cpp - ${MBGL_ROOT}/test/util/tile_cover.test.cpp - ${MBGL_ROOT}/test/util/tile_range.test.cpp - ${MBGL_ROOT}/test/util/timer.test.cpp - ${MBGL_ROOT}/test/util/token.test.cpp - ${MBGL_ROOT}/test/util/url.test.cpp -) - -if(MBGL_WITH_OPENGL) - target_compile_definitions( - mbgl-test - PRIVATE MBGL_RENDER_BACKEND_OPENGL=1 - ) -endif() - -if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL Android AND ANDROID_NATIVE_API_LEVEL VERSION_LESS 24) - message("Target platform does not support HTTP tests or dependencies not found.") - - set(MBGL_TEST_HAS_TEST_SERVER 0) -else() - set(MBGL_TEST_HAS_TEST_SERVER 1) - target_sources( - mbgl-test - PRIVATE ${MBGL_ROOT}/test/src/mbgl/test/http_server.cpp - ) - set_source_files_properties( - ${MBGL_ROOT}/test/src/mbgl/test/http_server.cpp - PROPERTIES - COMPILE_FLAGS - -Wno-shadow - ) - target_include_directories( - mbgl-test - PRIVATE ${MBGL_ROOT}/vendor/cpp-httplib - ) -endif() - -if(NOT DEFINED ENV{CI}) - set(MBGL_TEST_BUILD_ON_CI 0) -else() - set(MBGL_TEST_BUILD_ON_CI 1) -endif() - -target_compile_definitions( - mbgl-test - PRIVATE TEST_HAS_SERVER=${MBGL_TEST_HAS_TEST_SERVER} CI_BUILD=${MBGL_TEST_BUILD_ON_CI} -) - -target_include_directories( - mbgl-test - PRIVATE - ${MBGL_ROOT}/platform/default/include - ${MBGL_ROOT}/platform/gfx/gl/src - ${MBGL_ROOT}/src - ${MBGL_ROOT}/test/src -) - -target_include_directories( - mbgl-test - PUBLIC ${MBGL_ROOT}/include ${MBGL_ROOT}/test/include -) - -include(${PROJECT_SOURCE_DIR}/vendor/googletest.cmake) - -# Needed for testing private classes -get_target_property(MBGL_CORE_PRIVATE_LIBRARIES mbgl-core LINK_LIBRARIES) - -target_link_libraries( - mbgl-test - PRIVATE - ${MBGL_CORE_PRIVATE_LIBRARIES} - Mapbox::Base::Extras::args - Mapbox::Base::pixelmatch-cpp - mbgl-compiler-options - PUBLIC mbgl-core -) - -target_link_libraries( - mbgl-test - PUBLIC mbgl-vendor-googletest -) - -set_property(TARGET mbgl-test PROPERTY FOLDER Core) diff --git a/next/vendor b/next/vendor deleted file mode 120000 index 42a408bb6d..0000000000 --- a/next/vendor +++ /dev/null @@ -1 +0,0 @@ -../vendor/
\ No newline at end of file diff --git a/platform/android/android.cmake b/platform/android/android.cmake new file mode 100644 index 0000000000..fafaefd264 --- /dev/null +++ b/platform/android/android.cmake @@ -0,0 +1,483 @@ +if(NOT ANDROID_NDK_TOOLCHAIN_INCLUDED) + message(FATAL_ERROR "-- Toolchain file not included, see https://developer.android.com/ndk/guides/cmake") +endif() + +target_compile_definitions( + mbgl-core + PUBLIC MBGL_USE_GLES2 +) + +include(${PROJECT_SOURCE_DIR}/vendor/icu.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/sqlite.cmake) + +target_compile_options(mbgl-vendor-icu PRIVATE $<$<CONFIG:Release>:-Oz> $<$<CONFIG:Release>:-Qunused-arguments> $<$<CONFIG:Release>:-flto>) + +target_compile_options( + mbgl-vendor-sqlite + PRIVATE $<$<CONFIG:Release>:-Oz> $<$<CONFIG:Release>:-Qunused-arguments> $<$<CONFIG:Release>:-flto> +) + +target_compile_options( + mbgl-compiler-options + INTERFACE $<$<CONFIG:Release>:-Oz> $<$<CONFIG:Release>:-Qunused-arguments> $<$<CONFIG:Release>:-flto> +) + +target_link_libraries( + mbgl-compiler-options + INTERFACE + $<$<CONFIG:Release>:-O2> + $<$<CONFIG:Release>:-Wl,--icf=all> + $<$<CONFIG:Release>:-flto> + $<$<CONFIG:Release>:-fuse-ld=gold> +) + +target_sources( + mbgl-core + PRIVATE + ${PROJECT_SOURCE_DIR}/platform/android/src/android_renderer_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/android_renderer_backend.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/android_renderer_frontend.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/android_renderer_frontend.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/annotation/marker.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/annotation/marker.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/annotation/multi_point.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/annotation/polygon.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/annotation/polygon.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/annotation/polyline.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/annotation/polyline.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/asset_manager.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/asset_manager_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/asset_manager_file_source.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/async_task.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/attach_env.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/attach_env.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/bitmap.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/bitmap.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/bitmap_factory.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/bitmap_factory.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/connectivity_listener.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/connectivity_listener.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/conversion/collection.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/conversion/collection.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/conversion/color.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/conversion/color.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/conversion/constant.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/conversion/constant.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/conversion/conversion.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/feature.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/feature.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/feature_collection.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/feature_collection.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/geometry.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/geometry.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/geometry_collection.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/geometry_collection.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/line_string.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/line_string.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/multi_line_string.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/multi_line_string.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/multi_point.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/multi_point.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/multi_polygon.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/multi_polygon.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/point.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/point.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/polygon.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/polygon.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geojson/util.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geometry/lat_lng.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geometry/lat_lng.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geometry/lat_lng_bounds.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geometry/lat_lng_bounds.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geometry/lat_lng_quad.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geometry/lat_lng_quad.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geometry/projected_meters.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/geometry/projected_meters.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/gl_functions.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/graphics/pointf.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/graphics/pointf.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/graphics/rectf.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/graphics/rectf.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/gson/json_array.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/gson/json_array.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/gson/json_element.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/gson/json_element.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/gson/json_object.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/gson/json_object.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/gson/json_primitive.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/gson/json_primitive.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/image.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/java/util.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/java/util.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/java_types.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/java_types.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/jni.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/jni.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/jni_native.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/jni_native.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/mapbox.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/mapbox.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/map/camera_position.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/map/camera_position.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/map/image.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/map/image.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/map_renderer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/map_renderer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/map_renderer_runnable.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/map_renderer_runnable.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/native_map_view.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/native_map_view.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/offline/offline_manager.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/offline/offline_manager.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/offline/offline_region.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/offline/offline_region.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/offline/offline_region_definition.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/offline/offline_region_definition.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/offline/offline_region_error.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/offline/offline_region_error.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/offline/offline_region_status.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/offline/offline_region_status.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/run_loop.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/run_loop_impl.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/snapshotter/map_snapshot.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/snapshotter/map_snapshot.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/snapshotter/map_snapshotter.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/snapshotter/map_snapshotter.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/string_util.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/android_conversion.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/conversion/filter.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/conversion/filter.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/conversion/position.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/conversion/position.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/conversion/property_expression.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/conversion/property_value.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/conversion/transition_options.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/conversion/transition_options.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/conversion/url_or_tileset.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/conversion/url_or_tileset.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/formatted.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/formatted.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/formatted_section.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/formatted_section.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/background_layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/background_layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/circle_layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/circle_layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/custom_layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/custom_layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/fill_extrusion_layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/fill_extrusion_layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/fill_layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/fill_layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/heatmap_layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/heatmap_layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/hillshade_layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/hillshade_layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/layer_manager.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/layer_manager.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/line_layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/line_layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/raster_layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/raster_layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/symbol_layer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/layers/symbol_layer.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/light.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/light.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/position.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/position.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/custom_geometry_source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/custom_geometry_source.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/geojson_source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/geojson_source.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/image_source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/image_source.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/raster_dem_source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/raster_dem_source.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/raster_source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/raster_source.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/source.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/unknown_source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/unknown_source.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/vector_source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/sources/vector_source.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/transition_options.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/transition_options.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/value.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/style/value.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/thread.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/timer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gfx/headless_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gfx/headless_frontend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gl/headless_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/map/map_snapshotter.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/asset_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/database_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/file_source_manager.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/file_source_request.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/local_file_request.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/local_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/main_resource_loader.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline_database.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline_download.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/online_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/sqlite3.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/text/bidi.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/compression.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/monotonic_timer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/png_writer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/thread_local.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/utf.cpp + ${PROJECT_SOURCE_DIR}/platform/linux/src/headless_backend_egl.cpp +) + +target_include_directories( + mbgl-core + PRIVATE ${PROJECT_SOURCE_DIR}/platform/default/include +) + +target_link_libraries( + mbgl-core + PRIVATE + EGL + GLESv2 + Mapbox::Base::jni.hpp + android + atomic + jnigraphics + log + mbgl-vendor-icu + mbgl-vendor-sqlite + z +) + +add_library( + mbgl-core-android STATIC + ${PROJECT_SOURCE_DIR}/platform/android/src/file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/file_source.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/http_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/i18n/collator.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/i18n/collator_jni.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/i18n/number_format.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/i18n/number_format_jni.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/logger.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/logger.hpp + ${PROJECT_SOURCE_DIR}/platform/android/src/logging_android.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/text/local_glyph_rasterizer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/text/local_glyph_rasterizer_jni.hpp +) + +target_include_directories( + mbgl-core-android + PRIVATE ${PROJECT_SOURCE_DIR}/platform/default/include ${PROJECT_SOURCE_DIR}/src +) + +target_link_libraries( + mbgl-core-android + PRIVATE Mapbox::Base::jni.hpp mbgl-compiler-options mbgl-core +) + +add_library( + mapbox-gl SHARED + ${PROJECT_SOURCE_DIR}/platform/android/src/main.cpp +) + +target_include_directories( + mapbox-gl + PRIVATE ${PROJECT_SOURCE_DIR}/platform/default/include ${PROJECT_SOURCE_DIR}/src +) + +target_link_libraries( + mapbox-gl + PRIVATE + Mapbox::Base::jni.hpp + mbgl-compiler-options + mbgl-core + mbgl-core-android +) + +add_library( + example-custom-layer MODULE + ${PROJECT_SOURCE_DIR}/platform/android/src/example_custom_layer.cpp +) + +target_include_directories( + example-custom-layer + PRIVATE ${PROJECT_SOURCE_DIR}/include +) + +target_link_libraries( + example-custom-layer + PRIVATE + GLESv2 + Mapbox::Base::optional + Mapbox::Base::typewrapper + Mapbox::Base::value + Mapbox::Base::weak + log + mbgl-compiler-options +) + +add_library( + mbgl-test-runner SHARED + ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c + ${PROJECT_SOURCE_DIR}/platform/android/src/test/test_runner.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/test_runner_common.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/collator_test_stub.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/number_format_test_stub.cpp +) + +target_include_directories( + mbgl-test-runner + PRIVATE ${ANDROID_NDK}/sources/android/native_app_glue ${PROJECT_SOURCE_DIR}/platform/android/src ${PROJECT_SOURCE_DIR}/src +) + +target_link_libraries( + mbgl-test-runner + PRIVATE + Mapbox::Base::jni.hpp + mbgl-compiler-options + -Wl,--whole-archive + mbgl-test + -Wl,--no-whole-archive +) + +if(ANDROID_NATIVE_API_LEVEL VERSION_LESS 24) + target_sources( + mbgl-test-runner + PRIVATE ${PROJECT_SOURCE_DIR}/platform/android/src/test/http_file_source_test_stub.cpp + ) +else() + set(CURL_DIR ${PROJECT_SOURCE_DIR}/vendor/curl-android-ios/prebuilt-with-ssl/android) + set(CURL_LIBRARY ${CURL_DIR}/${ANDROID_ABI}/libcurl.a) + + target_sources( + mbgl-test-runner + PRIVATE ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/http_file_source.cpp + ) + target_include_directories( + mbgl-test-runner + PRIVATE ${CURL_DIR}/include + ) + target_link_libraries( + mbgl-test-runner + PRIVATE ${CURL_LIBRARY} + ) +endif() + +add_custom_command( + TARGET mbgl-test-runner PRE_BUILD + COMMAND + ${CMAKE_COMMAND} + -E + make_directory + ${PROJECT_SOURCE_DIR}/test/results + COMMAND + ${CMAKE_COMMAND} + -E + tar + "chf" + "test/android/app/src/main/assets/data.zip" + --format=zip + --files-from=test/android/app/src/main/assets/to_zip.txt + COMMAND + ${CMAKE_COMMAND} + -E + remove_directory + ${PROJECT_SOURCE_DIR}/test/results + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} +) + +add_library( + mbgl-benchmark-runner SHARED + ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c + ${PROJECT_SOURCE_DIR}/platform/android/src/test/benchmark_runner.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/test_runner_common.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/collator_test_stub.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/number_format_test_stub.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/http_file_source_test_stub.cpp +) + +target_include_directories( + mbgl-benchmark-runner + PRIVATE ${ANDROID_NDK}/sources/android/native_app_glue ${PROJECT_SOURCE_DIR}/platform/android/src ${PROJECT_SOURCE_DIR}/src +) + +target_link_libraries( + mbgl-benchmark-runner + PRIVATE + Mapbox::Base::jni.hpp + mbgl-compiler-options + -Wl,--whole-archive + mbgl-benchmark + -Wl,--no-whole-archive +) + +add_custom_command( + TARGET mbgl-benchmark-runner PRE_BUILD + COMMAND + ${CMAKE_COMMAND} + -E + make_directory + ${PROJECT_SOURCE_DIR}/benchmark/results + COMMAND + ${CMAKE_COMMAND} + -E + tar + "chf" + "benchmark/android/app/src/main/assets/data.zip" + --format=zip + --files-from=benchmark/android/app/src/main/assets/to_zip.txt + COMMAND + ${CMAKE_COMMAND} + -E + remove_directory + ${PROJECT_SOURCE_DIR}/benchmark/results + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} +) + +add_library( + mbgl-render-test-runner SHARED + ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c + ${PROJECT_SOURCE_DIR}/platform/android/src/test/render_test_runner.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/test_runner_common.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/collator_test_stub.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/number_format_test_stub.cpp + ${PROJECT_SOURCE_DIR}/platform/android/src/test/http_file_source_test_stub.cpp +) + +target_include_directories( + mbgl-render-test-runner + PRIVATE ${ANDROID_NDK}/sources/android/native_app_glue ${PROJECT_SOURCE_DIR}/platform/android/src ${PROJECT_SOURCE_DIR}/src +) + +target_link_libraries( + mbgl-render-test-runner + PRIVATE + Mapbox::Base::jni.hpp + android + log + mbgl-compiler-options + mbgl-render-test +) + +add_custom_command( + TARGET mbgl-render-test-runner PRE_BUILD + COMMAND + ${CMAKE_COMMAND} + -E + tar + "chf" + "render-test/android/app/src/main/assets/data.zip" + --format=zip + --files-from=render-test/android/app/src/main/assets/to_zip.txt + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} +) + +install(TARGETS mapbox-gl LIBRARY DESTINATION lib) diff --git a/next/platform/glfw/CMakeLists.txt b/platform/glfw/CMakeLists.txt index a599082584..0b26cc83b1 100644 --- a/next/platform/glfw/CMakeLists.txt +++ b/platform/glfw/CMakeLists.txt @@ -5,12 +5,12 @@ pkg_search_module(GLFW glfw3 REQUIRED) add_executable( mbgl-glfw - ${MBGL_ROOT}/platform/glfw/main.cpp - ${MBGL_ROOT}/platform/glfw/glfw_view.cpp - ${MBGL_ROOT}/platform/glfw/glfw_gl_backend.cpp - ${MBGL_ROOT}/platform/glfw/glfw_renderer_frontend.cpp - ${MBGL_ROOT}/platform/glfw/settings_json.cpp - ${MBGL_ROOT}/platform/glfw/test_writer.cpp + ${PROJECT_SOURCE_DIR}/platform/glfw/main.cpp + ${PROJECT_SOURCE_DIR}/platform/glfw/glfw_view.cpp + ${PROJECT_SOURCE_DIR}/platform/glfw/glfw_gl_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/glfw/glfw_renderer_frontend.cpp + ${PROJECT_SOURCE_DIR}/platform/glfw/settings_json.cpp + ${PROJECT_SOURCE_DIR}/platform/glfw/test_writer.cpp ) target_include_directories( diff --git a/platform/ios/ios.cmake b/platform/ios/ios.cmake new file mode 100644 index 0000000000..ce64d3e729 --- /dev/null +++ b/platform/ios/ios.cmake @@ -0,0 +1,193 @@ +target_compile_definitions( + mbgl-core + PUBLIC MBGL_USE_GLES2 GLES_SILENCE_DEPRECATION +) + +if(NOT DEFINED IOS_DEPLOYMENT_TARGET) + set(IOS_DEPLOYMENT_TARGET "9.0") +endif() + +macro(initialize_ios_target target) + set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "${IOS_DEPLOYMENT_TARGET}") + set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_ENABLE_BITCODE "YES") + set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_BITCODE_GENERATION_MODE bitcode) + set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH $<$<CONFIG:Debug>:YES>) +endmacro() + +set_target_properties(mbgl-core PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES) + +target_sources( + mbgl-core + PRIVATE + ${PROJECT_SOURCE_DIR}/platform/darwin/src/async_task.cpp + ${PROJECT_SOURCE_DIR}/platform/darwin/src/collator.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/gl_functions.cpp + ${PROJECT_SOURCE_DIR}/platform/darwin/src/headless_backend_eagl.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/native_apple_interface.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/http_file_source.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/native_apple_interface.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/image.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/local_glyph_rasterizer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/logging_nslog.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/nsthread.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/number_format.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/reachability.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/run_loop.cpp + ${PROJECT_SOURCE_DIR}/platform/darwin/src/string_nsstring.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/timer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gfx/headless_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gfx/headless_frontend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gl/headless_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/map/map_snapshotter.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/asset_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/database_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/file_source_manager.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/file_source_request.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/local_file_request.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/local_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/main_resource_loader.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline_database.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline_download.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/online_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/sqlite3.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/text/bidi.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/compression.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/monotonic_timer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/png_writer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/thread_local.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/utf.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/thread_local.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/layermanager/layer_manager.cpp +) + +target_include_directories( + mbgl-core + PRIVATE ${PROJECT_SOURCE_DIR}/platform/darwin/include ${PROJECT_SOURCE_DIR}/platform/default/include +) + +include(${PROJECT_SOURCE_DIR}/vendor/icu.cmake) + +initialize_ios_target(mbgl-core) +initialize_ios_target(mbgl-vendor-icu) + +target_link_libraries( + mbgl-core + PRIVATE + "-framework CoreGraphics" + "-framework CoreImage" + "-framework CoreLocation" + "-framework CoreServices" + "-framework CoreText" + "-framework Foundation" + "-framework GLKit" + "-framework ImageIO" + "-framework OpenGLES" + "-framework QuartzCore" + "-framework Security" + "-framework SystemConfiguration" + "-framework UIKit" + "-framework WebKit" + mbgl-vendor-icu + sqlite3 + z +) + +if(MBGL_IOS_RENDER_TEST) + set(CMAKE_OSX_ARCHITECTURES "armv7;i386;x86_64;arm64") + + include(${PROJECT_SOURCE_DIR}/vendor/zip-archive.cmake) + initialize_ios_target(mbgl-vendor-zip-archive) + + set(PREPARE_CMD "${PROJECT_SOURCE_DIR}/render-test/ios/setup_test_data.sh") + message("COMMAND: ${PREPARE_CMD}") + execute_process(COMMAND ${PREPARE_CMD} RESULT_VARIABLE CMD_ERROR WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) + message(STATUS "CMD_ERROR:" ${CMD_ERROR}) + + set(RESOURCES ${PROJECT_SOURCE_DIR}/render-test/ios/Main.storyboard ${PROJECT_SOURCE_DIR}/render-test/ios/LaunchScreen.storyboard ${PROJECT_SOURCE_DIR}/test-data) + + add_executable( + RenderTestApp + ${PROJECT_SOURCE_DIR}/render-test/ios/ios_test_runner.hpp + ${PROJECT_SOURCE_DIR}/render-test/ios/ios_test_runner.cpp + ${PROJECT_SOURCE_DIR}/render-test/ios/AppDelegate.h + ${PROJECT_SOURCE_DIR}/render-test/ios/AppDelegate.m + ${PROJECT_SOURCE_DIR}/render-test/ios/ViewController.h + ${PROJECT_SOURCE_DIR}/render-test/ios/ViewController.m + ${PROJECT_SOURCE_DIR}/render-test/ios/iosTestRunner.h + ${PROJECT_SOURCE_DIR}/render-test/ios/iosTestRunner.mm + ${PROJECT_SOURCE_DIR}/render-test/ios/main.m + ${RESOURCES} + ) + initialize_ios_target(RenderTestApp) + + set_target_properties( + RenderTestApp + PROPERTIES + MACOSX_BUNDLE + TRUE + MACOSX_BUNDLE_IDENTIFIER + com.mapbox.RenderTestAPP + MACOSX_BUNDLE_INFO_PLIST + ${PROJECT_SOURCE_DIR}/render-test/ios/Info.plist + RESOURCE + "${RESOURCES}" + ) + + target_include_directories( + RenderTestApp + PUBLIC {PROJECT_SOURCE_DIR}/render-test/include ${PROJECT_SOURCE_DIR}/include + ) + + target_include_directories( + RenderTestApp + PRIVATE + ${PROJECT_SOURCE_DIR}/platform/darwin/src + ${PROJECT_SOURCE_DIR}/platform/darwin/include + ${PROJECT_SOURCE_DIR}/platform/darwin/include/mbgl/interface/ + ${PROJECT_SOURCE_DIR}/platform/default/include + ${PROJECT_SOURCE_DIR}/src + ) + + target_include_directories( + RenderTestApp + PUBLIC ${PROJECT_SOURCE_DIR}/render-test/ios + ) + + target_link_libraries( + RenderTestApp + PRIVATE + "-framework CoreGraphics" + "-framework CoreLocation" + "-framework Foundation" + "-framework OpenGLES" + "-framework QuartzCore" + "-framework UIKit" + mbgl-render-test + mbgl-vendor-zip-archive + ) + + find_package(XCTest REQUIRED) + + xctest_add_bundle(RenderTestAppTests RenderTestApp ${PROJECT_SOURCE_DIR}/render-test/ios/tests/Tests.m) + + set_target_properties( + RenderTestAppTests + PROPERTIES + XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET + "${IOS_DEPLOYMENT_TARGET}" + XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH + $<$<CONFIG:Debug>:YES> + ) + + target_include_directories( + RenderTestAppTests + PUBLIC ${PROJECT_SOURCE_DIR}/render-test/ios + ) + + xctest_add_test(XCTest.RenderTestApp RenderTestAppTests) + + set_target_properties(RenderTestAppTests PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${PROJECT_SOURCE_DIR}/render-test/ios/tests/Info.plist) +endif() + +unset(IOS_DEPLOYMENT_TARGET CACHE) diff --git a/platform/linux/linux.cmake b/platform/linux/linux.cmake new file mode 100644 index 0000000000..bf89601a57 --- /dev/null +++ b/platform/linux/linux.cmake @@ -0,0 +1,134 @@ +find_package(CURL REQUIRED) +find_package(ICU REQUIRED i18n) +find_package(ICU REQUIRED uc) +find_package(JPEG REQUIRED) +find_package(OpenGL REQUIRED GLX) +find_package(PNG REQUIRED) +find_package(PkgConfig REQUIRED) +find_package(X11 REQUIRED) + +pkg_search_module(LIBUV libuv REQUIRED) + +target_sources( + mbgl-core + PRIVATE + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gfx/headless_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gfx/headless_frontend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gl/headless_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/i18n/collator.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/i18n/number_format.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/layermanager/layer_manager.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/asset_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/database_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/file_source_manager.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/file_source_request.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/http_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/local_file_request.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/local_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/main_resource_loader.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline_database.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline_download.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/online_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/sqlite3.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/text/bidi.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/async_task.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/compression.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/image.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/jpeg_reader.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/logging_stderr.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/monotonic_timer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/png_reader.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/png_writer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/run_loop.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/string_stdlib.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/thread.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/thread_local.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/timer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/utf.cpp + ${PROJECT_SOURCE_DIR}/platform/linux/src/gl_functions.cpp + ${PROJECT_SOURCE_DIR}/platform/linux/src/headless_backend_glx.cpp +) + +# FIXME: Should not be needed, but now needed by node because of the headless frontend. +target_include_directories( + mbgl-core + PUBLIC ${PROJECT_SOURCE_DIR}/platform/default/include + PRIVATE + ${CURL_INCLUDE_DIRS} + ${JPEG_INCLUDE_DIRS} + ${LIBUV_INCLUDE_DIRS} + ${X11_INCLUDE_DIRS} +) + +include(${PROJECT_SOURCE_DIR}/vendor/nunicode.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/sqlite.cmake) + +target_link_libraries( + mbgl-core + PRIVATE + ${CURL_LIBRARIES} + ${JPEG_LIBRARIES} + ${LIBUV_LIBRARIES} + ${X11_LIBRARIES} + ICU::i18n + ICU::uc + OpenGL::GLX + PNG::PNG + mbgl-vendor-nunicode + mbgl-vendor-sqlite +) + +add_subdirectory(${PROJECT_SOURCE_DIR}/bin) +add_subdirectory(${PROJECT_SOURCE_DIR}/expression-test) +add_subdirectory(${PROJECT_SOURCE_DIR}/platform/glfw) +add_subdirectory(${PROJECT_SOURCE_DIR}/platform/node) + +add_executable( + mbgl-test-runner + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/test/main.cpp +) + +target_compile_definitions( + mbgl-test-runner + PRIVATE WORK_DIRECTORY=${PROJECT_SOURCE_DIR} +) + +target_link_libraries( + mbgl-test-runner + PRIVATE + mbgl-compiler-options + -Wl,--whole-archive + mbgl-test + -Wl,--no-whole-archive +) + +add_executable( + mbgl-benchmark-runner + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/benchmark/main.cpp +) + +target_link_libraries( + mbgl-benchmark-runner + PRIVATE + mbgl-compiler-options + -Wl,--whole-archive + mbgl-benchmark + -Wl,--no-whole-archive +) + +add_executable( + mbgl-render-test-runner + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/render-test/main.cpp +) + +target_link_libraries( + mbgl-render-test-runner + PRIVATE mbgl-compiler-options mbgl-render-test +) + +add_test(NAME mbgl-benchmark-runner COMMAND mbgl-benchmark-runner WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) +add_test(NAME mbgl-test-runner COMMAND mbgl-test-runner WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) + +install(TARGETS mbgl-render-test-runner RUNTIME DESTINATION bin) diff --git a/platform/macos/macos.cmake b/platform/macos/macos.cmake new file mode 100644 index 0000000000..ddf74bdc59 --- /dev/null +++ b/platform/macos/macos.cmake @@ -0,0 +1,213 @@ +find_package(OpenGL REQUIRED) + +target_compile_definitions( + mbgl-core + PUBLIC GL_SILENCE_DEPRECATION +) + +target_sources( + mbgl-core + PRIVATE + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLAccountManager.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLAttributedExpression.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLAttributionInfo.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLBackgroundStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLCircleStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLClockDirectionFormatter.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLCompassDirectionFormatter.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLComputedShapeSource.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLCoordinateFormatter.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLDistanceFormatter.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLFeature.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLFillExtrusionStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLFillStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLForegroundStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLFoundation.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLGeometry.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLHeatmapStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLHillshadeStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLImageSource.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLLight.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLLineStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLLoggingConfiguration.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLMapCamera.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLMapSnapshotter.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLMultiPoint.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLNetworkConfiguration.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLOfflinePack.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLOfflineStorage.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLOpenGLStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLPointAnnotation.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLPointCollection.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLPolygon.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLPolyline.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLRasterDEMSource.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLRasterStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLRasterTileSource.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLRendererConfiguration.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLSDKMetricsManager.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLShape.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLShapeCollection.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLShapeOfflineRegion.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLShapeSource.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLSource.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLStyle.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLStyleLayerManager.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLStyleValue.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLSymbolStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLTilePyramidOfflineRegion.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLTileSource.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLTypes.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLVectorStyleLayer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLVectorTileSource.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSArray+MGLAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSBundle+MGLAdditions.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSCoder+MGLAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSCompoundPredicate+MGLAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSDate+MGLAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSDictionary+MGLAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSExpression+MGLAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSPredicate+MGLAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSString+MGLAdditions.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSURL+MGLAdditions.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSValue+MGLAdditions.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/NSValue+MGLStyleAttributeAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/async_task.cpp + ${PROJECT_SOURCE_DIR}/platform/darwin/src/collator.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/gl_functions.cpp + ${PROJECT_SOURCE_DIR}/platform/darwin/src/headless_backend_cgl.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/http_file_source.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/image.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/local_glyph_rasterizer.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/logging_nslog.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/nsthread.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/number_format.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/reachability.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/run_loop.cpp + ${PROJECT_SOURCE_DIR}/platform/darwin/src/string_nsstring.mm + ${PROJECT_SOURCE_DIR}/platform/darwin/src/timer.cpp + ${PROJECT_SOURCE_DIR}/platform/darwin/src/native_apple_interface.m + ${PROJECT_SOURCE_DIR}/platform/darwin/src/MGLNetworkIntegrationManager.m + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gfx/headless_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gfx/headless_frontend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gl/headless_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/map/map_snapshotter.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/asset_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/database_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/file_source_manager.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/file_source_request.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/local_file_request.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/local_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/main_resource_loader.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline_database.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline_download.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/online_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/sqlite3.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/text/bidi.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/compression.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/monotonic_timer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/png_writer.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/thread_local.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/utf.cpp + ${PROJECT_SOURCE_DIR}/platform/macos/src/MGLAnnotationImage.m + ${PROJECT_SOURCE_DIR}/platform/macos/src/MGLAttributionButton.mm + ${PROJECT_SOURCE_DIR}/platform/macos/src/MGLCompassCell.m + ${PROJECT_SOURCE_DIR}/platform/macos/src/MGLMapView+IBAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/macos/src/MGLMapView+Impl.mm + ${PROJECT_SOURCE_DIR}/platform/macos/src/MGLMapView+OpenGL.mm + ${PROJECT_SOURCE_DIR}/platform/macos/src/MGLMapView.mm + ${PROJECT_SOURCE_DIR}/platform/macos/src/MGLOpenGLLayer.mm + ${PROJECT_SOURCE_DIR}/platform/macos/src/NSColor+MGLAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/macos/src/NSImage+MGLAdditions.mm + ${PROJECT_SOURCE_DIR}/platform/macos/src/NSProcessInfo+MGLAdditions.m +) + +set_target_properties(mbgl-core PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES) + +target_compile_options(mbgl-core PRIVATE -fobjc-arc) + +# FIXME: Should not be needed, but now needed by node because of the headless frontend. +target_include_directories( + mbgl-core + PUBLIC ${PROJECT_SOURCE_DIR}/platform/default/include +) + +target_include_directories( + mbgl-core + PRIVATE ${PROJECT_SOURCE_DIR}/platform/darwin/include ${PROJECT_SOURCE_DIR}/platform/darwin/src ${PROJECT_SOURCE_DIR}/platform/macos/src +) + +include(${PROJECT_SOURCE_DIR}/vendor/icu.cmake) + +target_link_libraries( + mbgl-core + PRIVATE + "-framework AppKit" + "-framework CoreGraphics" + "-framework CoreLocation" + "-framework SystemConfiguration" + OpenGL::GL + mbgl-vendor-icu + sqlite3 + z +) + +add_subdirectory(${PROJECT_SOURCE_DIR}/bin) +add_subdirectory(${PROJECT_SOURCE_DIR}/expression-test) +add_subdirectory(${PROJECT_SOURCE_DIR}/platform/glfw) +add_subdirectory(${PROJECT_SOURCE_DIR}/platform/node) + +add_executable( + mbgl-test-runner + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/test/main.cpp +) + +target_include_directories( + mbgl-test-runner + PUBLIC ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/test/include +) + +target_compile_definitions( + mbgl-test-runner + PRIVATE WORK_DIRECTORY=${PROJECT_SOURCE_DIR} +) + +target_link_libraries( + mbgl-test-runner + PRIVATE mbgl-compiler-options -Wl,-force_load mbgl-test +) + +add_executable( + mbgl-benchmark-runner + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/benchmark/main.cpp +) + +target_include_directories( + mbgl-benchmark-runner + PUBLIC ${PROJECT_SOURCE_DIR}/benchmark/include +) + +target_link_libraries( + mbgl-benchmark-runner + PRIVATE mbgl-compiler-options -Wl,-force_load mbgl-benchmark +) + +add_executable( + mbgl-render-test-runner + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/render-test/main.cpp +) + +target_link_libraries( + mbgl-render-test-runner + PRIVATE mbgl-compiler-options mbgl-render-test +) + +set_property(TARGET mbgl-benchmark-runner PROPERTY FOLDER Executables) +set_property(TARGET mbgl-test-runner PROPERTY FOLDER Executables) +set_property(TARGET mbgl-render-test-runner PROPERTY FOLDER Executables) + +add_test(NAME mbgl-benchmark-runner COMMAND mbgl-benchmark-runner WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) +add_test(NAME mbgl-test-runner COMMAND mbgl-test-runner WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) diff --git a/platform/node/CMakeLists.txt b/platform/node/CMakeLists.txt new file mode 100644 index 0000000000..9d7d08b07c --- /dev/null +++ b/platform/node/CMakeLists.txt @@ -0,0 +1,52 @@ +if(NOT EXISTS ${PROJECT_SOURCE_DIR}/node_modules/@mapbox/cmake-node-module/module.cmake) + message("-- Not building node bindings, dependencies not found. Run 'npm update'.") + return() +endif() + +set(NODE_MODULE_CACHE_DIR ${CMAKE_SOURCE_DIR}/build/headers) +include(${PROJECT_SOURCE_DIR}/node_modules/@mapbox/cmake-node-module/module.cmake) + +add_node_module( + mbgl-node + INSTALL_PATH ${PROJECT_SOURCE_DIR}/lib/{node_abi}/mbgl.node + NAN_VERSION 2.10.0 + EXCLUDE_NODE_ABIS + 46 + 47 + 48 + 51 + 59 + 67 + 72 + 79 +) + +target_sources( + mbgl-node + INTERFACE + ${PROJECT_SOURCE_DIR}/platform/node/src/node_conversion.hpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_expression.cpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_expression.hpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_feature.cpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_feature.hpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_logging.cpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_logging.hpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_map.cpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_map.hpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_mapbox_gl_native.cpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_request.cpp + ${PROJECT_SOURCE_DIR}/platform/node/src/node_request.hpp + ${PROJECT_SOURCE_DIR}/platform/node/src/util/async_queue.hpp +) + +target_link_libraries( + mbgl-node + INTERFACE Mapbox::Map +) + +# FIXME: Node bindings only run fully on Linux now because it requires libuv RunLoop (which is the default on Linux). Also, Sanitizer will +# not work here because node will do a dlopen(), which is not currently supported. +if(CMAKE_SYSTEM_NAME STREQUAL Linux AND NOT MBGL_WITH_SANITIZER) + add_test(NAME mbgl-node-memory COMMAND npm run test-memory WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) + add_test(NAME mbgl-node-test COMMAND npm run test WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) +endif() diff --git a/platform/qt/qt.cmake b/platform/qt/qt.cmake new file mode 100644 index 0000000000..a7d209a077 --- /dev/null +++ b/platform/qt/qt.cmake @@ -0,0 +1,214 @@ +# Note: Using Sqlite instead of QSqlDatabase for better compatibility. + +find_package(Qt5Gui REQUIRED) +find_package(Qt5Network REQUIRED) +find_package(Qt5OpenGL REQUIRED) +find_package(Qt5Widgets REQUIRED) + +if(CMAKE_SYSTEM_NAME STREQUAL "Windows") + add_definitions("-DQT_COMPILING_QIMAGE_COMPAT_CPP") + add_definitions("-D_USE_MATH_DEFINES") + add_definitions("-Wno-deprecated-declarations") + add_definitions("-Wno-inconsistent-missing-override") + add_definitions("-Wno-macro-redefined") + add_definitions("-Wno-microsoft-exception-spec") + add_definitions("-Wno-unknown-argument") + add_definitions("-Wno-unknown-warning-option") + add_definitions("-Wno-unused-command-line-argument") + add_definitions("-Wno-unused-local-typedef") + add_definitions("-Wno-unused-private-field") +endif() + +target_sources( + mbgl-core + PRIVATE + ${PROJECT_SOURCE_DIR}/platform/$<IF:$<PLATFORM_ID:Windows>,qt/src/bidi.cpp,default/src/mbgl/text/bidi.cpp> + ${PROJECT_SOURCE_DIR}/platform/default/include/mbgl/gfx/headless_backend.hpp + ${PROJECT_SOURCE_DIR}/platform/default/include/mbgl/gfx/headless_frontend.hpp + ${PROJECT_SOURCE_DIR}/platform/default/include/mbgl/gl/headless_backend.hpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gfx/headless_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gfx/headless_frontend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/gl/headless_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/i18n/collator.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/layermanager/layer_manager.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/asset_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/database_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/file_source_manager.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/file_source_request.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/local_file_request.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/local_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/main_resource_loader.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline_database.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/offline_download.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/online_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/storage/sqlite3.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/compression.cpp + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/monotonic_timer.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/async_task.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/async_task_impl.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/number_format.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/gl_functions.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/headless_backend_qt.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/http_file_source.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/http_file_source.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/http_request.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/http_request.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/local_glyph_rasterizer.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qt_image.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qt_logging.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/run_loop.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/run_loop_impl.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/string_stdlib.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/thread.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/thread_local.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/timer.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/timer_impl.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/utf.cpp +) + +target_compile_definitions( + mbgl-core + PRIVATE QT_IMAGE_DECODERS + PUBLIC __QT__ MBGL_USE_GLES2 +) + +target_include_directories( + mbgl-core + PRIVATE ${PROJECT_SOURCE_DIR}/platform/default/include +) + +include(${PROJECT_SOURCE_DIR}/vendor/icu.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/nunicode.cmake) +include(${PROJECT_SOURCE_DIR}/vendor/sqlite.cmake) + +target_link_libraries( + mbgl-core + PRIVATE + $<$<NOT:$<PLATFORM_ID:Windows>>:z> + $<$<NOT:$<PLATFORM_ID:Windows>>:mbgl-vendor-icu> + Qt5::Core + Qt5::Gui + Qt5::Network + Qt5::OpenGL + mbgl-vendor-nunicode + mbgl-vendor-sqlite +) + +add_library( + qmapboxgl SHARED + ${PROJECT_SOURCE_DIR}/platform/qt/include/qmapbox.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/include/qmapboxgl.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapbox.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapboxgl.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapboxgl_map_observer.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapboxgl_map_observer.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapboxgl_map_renderer.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapboxgl_map_renderer.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapboxgl_p.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapboxgl_renderer_backend.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapboxgl_renderer_backend.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapboxgl_scheduler.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qmapboxgl_scheduler.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qt_conversion.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qt_geojson.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/src/qt_geojson.hpp +) + +# FIXME: Because of rapidjson conversion +target_include_directories( + qmapboxgl + PRIVATE ${PROJECT_SOURCE_DIR}/src +) + +target_include_directories( + qmapboxgl + PUBLIC ${PROJECT_SOURCE_DIR}/platform/qt/include +) + +target_compile_definitions( + qmapboxgl + PRIVATE QT_BUILD_MAPBOXGL_LIB +) + +target_link_libraries( + qmapboxgl + PRIVATE + Qt5::Core + Qt5::Gui + mbgl-compiler-options + mbgl-core +) + +add_executable( + mbgl-qt + ${PROJECT_SOURCE_DIR}/platform/qt/app/main.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/app/mapwindow.cpp + ${PROJECT_SOURCE_DIR}/platform/qt/app/mapwindow.hpp + ${PROJECT_SOURCE_DIR}/platform/qt/resources/common.qrc +) + +# Qt public API should keep compatibility with old compilers for legacy systems +set_property(TARGET mbgl-qt PROPERTY CXX_STANDARD 98) + +target_link_libraries( + mbgl-qt + PRIVATE + Qt5::Widgets + Qt5::Gui + mbgl-compiler-options + qmapboxgl +) + +add_executable( + mbgl-test-runner + ${PROJECT_SOURCE_DIR}/platform/qt/test/main.cpp +) + +target_include_directories( + mbgl-test-runner + PUBLIC ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/test/include +) + +target_compile_definitions( + mbgl-test-runner + PRIVATE WORK_DIRECTORY=${PROJECT_SOURCE_DIR} +) + +target_link_libraries( + mbgl-test-runner + PRIVATE + Qt5::Gui + Qt5::OpenGL + mbgl-compiler-options + pthread +) + +if(CMAKE_SYSTEM_NAME STREQUAL Darwin) + target_link_libraries( + mbgl-test-runner + PRIVATE -Wl,-force_load mbgl-test + ) +else() + target_link_libraries( + mbgl-test-runner + PRIVATE -Wl,--whole-archive mbgl-test -Wl,--no-whole-archive + ) +endif() + +find_program(MBGL_QDOC NAMES qdoc) + +if(MBGL_QDOC) + add_custom_target(mbgl-qt-docs) + + add_custom_command( + TARGET mbgl-qt-docs PRE_BUILD + COMMAND + ${MBGL_QDOC} + ${PROJECT_SOURCE_DIR}/platform/qt/config.qdocconf + -outputdir + ${CMAKE_BINARY_DIR}/docs + ) +endif() + +add_test(NAME mbgl-test-runner COMMAND mbgl-test-runner WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) diff --git a/render-test/CMakeLists.txt b/render-test/CMakeLists.txt new file mode 100644 index 0000000000..914199a7a0 --- /dev/null +++ b/render-test/CMakeLists.txt @@ -0,0 +1,52 @@ +add_library( + mbgl-render-test STATIC EXCLUDE_FROM_ALL + ${PROJECT_SOURCE_DIR}/expression-test/test_runner_common.cpp + ${PROJECT_SOURCE_DIR}/expression-test/test_runner_common.hpp + ${PROJECT_SOURCE_DIR}/render-test/allocation_index.cpp + ${PROJECT_SOURCE_DIR}/render-test/allocation_index.hpp + ${PROJECT_SOURCE_DIR}/render-test/file_source.cpp + ${PROJECT_SOURCE_DIR}/render-test/file_source.hpp + ${PROJECT_SOURCE_DIR}/render-test/filesystem.hpp + ${PROJECT_SOURCE_DIR}/render-test/include/mbgl/render_test.hpp + ${PROJECT_SOURCE_DIR}/render-test/manifest_parser.cpp + ${PROJECT_SOURCE_DIR}/render-test/manifest_parser.hpp + ${PROJECT_SOURCE_DIR}/render-test/metadata.hpp + ${PROJECT_SOURCE_DIR}/render-test/parser.cpp + ${PROJECT_SOURCE_DIR}/render-test/parser.hpp + ${PROJECT_SOURCE_DIR}/render-test/render_test.cpp + ${PROJECT_SOURCE_DIR}/render-test/runner.cpp + ${PROJECT_SOURCE_DIR}/render-test/runner.hpp +) + +if(CMAKE_SYSTEM_NAME STREQUAL iOS) + set_target_properties(mbgl-render-test PROPERTIES XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "${IOS_DEPLOYMENT_TARGET}") + set_target_properties(mbgl-render-test PROPERTIES XCODE_ATTRIBUTE_ENABLE_BITCODE "YES") + set_target_properties(mbgl-render-test PROPERTIES XCODE_ATTRIBUTE_BITCODE_GENERATION_MODE bitcode) + set_target_properties(mbgl-render-test PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH $<$<CONFIG:Debug>:YES>) +endif() + +# FIXME: Should not use core private interface +target_include_directories( + mbgl-render-test + PRIVATE ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/platform/default/include +) + +target_include_directories( + mbgl-render-test + PUBLIC ${PROJECT_SOURCE_DIR}/render-test/include ${PROJECT_SOURCE_DIR}/include +) + +include(${PROJECT_SOURCE_DIR}/vendor/boost.cmake) + +target_link_libraries( + mbgl-render-test + PRIVATE + Mapbox::Base::Extras::args + Mapbox::Base::Extras::filesystem + Mapbox::Base::pixelmatch-cpp + mbgl-compiler-options + mbgl-vendor-boost + PUBLIC mbgl-core +) + +set_property(TARGET mbgl-render-test PROPERTY FOLDER Core) diff --git a/render-test/android/app/build.gradle b/render-test/android/app/build.gradle index b4d230381e..5b85ea512c 100644 --- a/render-test/android/app/build.gradle +++ b/render-test/android/app/build.gradle @@ -34,7 +34,7 @@ android { externalNativeBuild { cmake { version '3.10.2' - path '../../../next/CMakeLists.txt' + path '../../../CMakeLists.txt' } } buildTypes { diff --git a/render-test/ios/setup_test_data.sh b/render-test/ios/setup_test_data.sh index fbce92f85f..0461622341 100755 --- a/render-test/ios/setup_test_data.sh +++ b/render-test/ios/setup_test_data.sh @@ -1,16 +1,17 @@ #!/bin/bash -rm -rf ../../test-data -mkdir ../../test-data -mkdir ../../test-data/integration -mkdir ../../test-data/baselines -cp -r ../../mapbox-gl-js/test/integration/render-tests ../../test-data/integration/ -cp -r ../../mapbox-gl-js/test/integration/query-tests ../../test-data/integration/ -cp -r ../../metrics/expectations ../../test-data/ -cp -r ../../metrics/ignores ../../test-data/ -cp -r ../../metrics/tests ../../test-data/ -cp -r ../../metrics/ios-render-test-runner ../../test-data/ -cp -r ../../metrics/ios-render-test-runner-style.json ../../test-data/ -cp -r ../../metrics/ios-render-test-runner-metrics.json ../../test-data/ -cp -r ../../metrics/cache-metrics.db ../../test-data/ -cp -r ../../metrics/cache-style.db ../../test-data/ +rm -rf test-data/ + +mkdir -p test-data/integration/ +mkdir -p test-data/baselines/ + +cp -r mapbox-gl-js/test/integration/render-tests test-data/integration/ +cp -r mapbox-gl-js/test/integration/query-tests test-data/integration/ +cp -r metrics/expectations test-data/ +cp -r metrics/ignores test-data/ +cp -r metrics/tests test-data/ +cp -r metrics/ios-render-test-runner test-data/ +cp -r metrics/ios-render-test-runner-style.json test-data/ +cp -r metrics/ios-render-test-runner-metrics.json test-data/ +cp -r metrics/cache-metrics.db test-data/ +cp -r metrics/cache-style.db test-data/ diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000000..dcde7cd21a --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,188 @@ +add_library( + mbgl-test STATIC EXCLUDE_FROM_ALL + ${PROJECT_SOURCE_DIR}/test/actor/actor.test.cpp + ${PROJECT_SOURCE_DIR}/test/actor/actor_ref.test.cpp + ${PROJECT_SOURCE_DIR}/test/algorithm/update_renderables.test.cpp + ${PROJECT_SOURCE_DIR}/test/algorithm/update_tile_masks.test.cpp + ${PROJECT_SOURCE_DIR}/test/api/annotations.test.cpp + ${PROJECT_SOURCE_DIR}/test/api/api_misuse.test.cpp + ${PROJECT_SOURCE_DIR}/test/api/custom_geometry_source.test.cpp + ${PROJECT_SOURCE_DIR}/test/api/custom_layer.test.cpp + ${PROJECT_SOURCE_DIR}/test/api/query.test.cpp + ${PROJECT_SOURCE_DIR}/test/api/recycle_map.cpp + ${PROJECT_SOURCE_DIR}/test/geometry/dem_data.test.cpp + ${PROJECT_SOURCE_DIR}/test/geometry/line_atlas.test.cpp + ${PROJECT_SOURCE_DIR}/test/gl/bucket.test.cpp + ${PROJECT_SOURCE_DIR}/test/gl/context.test.cpp + ${PROJECT_SOURCE_DIR}/test/gl/gl_functions.test.cpp + ${PROJECT_SOURCE_DIR}/test/gl/object.test.cpp + ${PROJECT_SOURCE_DIR}/test/map/map.test.cpp + ${PROJECT_SOURCE_DIR}/test/map/prefetch.test.cpp + ${PROJECT_SOURCE_DIR}/test/map/transform.test.cpp + ${PROJECT_SOURCE_DIR}/test/math/clamp.test.cpp + ${PROJECT_SOURCE_DIR}/test/math/minmax.test.cpp + ${PROJECT_SOURCE_DIR}/test/math/wrap.test.cpp + ${PROJECT_SOURCE_DIR}/test/platform/settings.test.cpp + ${PROJECT_SOURCE_DIR}/test/programs/symbol_program.test.cpp + ${PROJECT_SOURCE_DIR}/test/renderer/backend_scope.test.cpp + ${PROJECT_SOURCE_DIR}/test/renderer/image_manager.test.cpp + ${PROJECT_SOURCE_DIR}/test/renderer/pattern_atlas.test.cpp + ${PROJECT_SOURCE_DIR}/test/sprite/sprite_loader.test.cpp + ${PROJECT_SOURCE_DIR}/test/sprite/sprite_parser.test.cpp + ${PROJECT_SOURCE_DIR}/test/src/mbgl/test/fixture_log_observer.cpp + ${PROJECT_SOURCE_DIR}/test/src/mbgl/test/getrss.cpp + ${PROJECT_SOURCE_DIR}/test/src/mbgl/test/sqlite3_test_fs.cpp + ${PROJECT_SOURCE_DIR}/test/src/mbgl/test/stub_file_source.cpp + ${PROJECT_SOURCE_DIR}/test/src/mbgl/test/test.cpp + ${PROJECT_SOURCE_DIR}/test/src/mbgl/test/util.cpp + ${PROJECT_SOURCE_DIR}/test/storage/asset_file_source.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/database_file_source.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/headers.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/http_file_source.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/local_file_source.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/main_resource_loader.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/offline.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/offline_database.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/offline_download.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/online_file_source.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/resource.test.cpp + ${PROJECT_SOURCE_DIR}/test/storage/sqlite.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/conversion/conversion_impl.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/conversion/function.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/conversion/geojson_options.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/conversion/layer.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/conversion/light.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/conversion/property_value.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/conversion/stringify.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/conversion/tileset.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/expression/expression.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/expression/util.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/filter.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/properties.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/property_expression.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/source.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/style.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/style_image.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/style_layer.test.cpp + ${PROJECT_SOURCE_DIR}/test/style/style_parser.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/bidi.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/calculate_tile_distances.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/cross_tile_symbol_index.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/formatted.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/get_anchors.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/glyph_manager.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/glyph_pbf.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/language_tag.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/local_glyph_rasterizer.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/quads.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/shaping.test.cpp + ${PROJECT_SOURCE_DIR}/test/text/tagged_string.test.cpp + ${PROJECT_SOURCE_DIR}/test/tile/custom_geometry_tile.test.cpp + ${PROJECT_SOURCE_DIR}/test/tile/geojson_tile.test.cpp + ${PROJECT_SOURCE_DIR}/test/tile/geometry_tile_data.test.cpp + ${PROJECT_SOURCE_DIR}/test/tile/raster_dem_tile.test.cpp + ${PROJECT_SOURCE_DIR}/test/tile/raster_tile.test.cpp + ${PROJECT_SOURCE_DIR}/test/tile/tile_cache.test.cpp + ${PROJECT_SOURCE_DIR}/test/tile/tile_coordinate.test.cpp + ${PROJECT_SOURCE_DIR}/test/tile/tile_id.test.cpp + ${PROJECT_SOURCE_DIR}/test/tile/vector_tile.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/async_task.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/dtoa.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/geo.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/grid_index.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/http_timeout.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/image.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/mapbox.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/memory.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/merge_lines.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/number_conversions.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/offscreen_texture.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/position.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/projection.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/run_loop.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/string.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/text_conversions.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/thread.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/thread_local.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/tile_cover.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/tile_range.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/timer.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/token.test.cpp + ${PROJECT_SOURCE_DIR}/test/util/url.test.cpp +) + +if(MBGL_WITH_OPENGL) + target_compile_definitions( + mbgl-test + PRIVATE MBGL_RENDER_BACKEND_OPENGL=1 + ) +endif() + +if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL Android AND ANDROID_NATIVE_API_LEVEL VERSION_LESS 24) + message("Target platform does not support HTTP tests or dependencies not found.") + + set(MBGL_TEST_HAS_TEST_SERVER 0) +else() + set(MBGL_TEST_HAS_TEST_SERVER 1) + target_sources( + mbgl-test + PRIVATE ${PROJECT_SOURCE_DIR}/test/src/mbgl/test/http_server.cpp + ) + set_source_files_properties( + ${PROJECT_SOURCE_DIR}/test/src/mbgl/test/http_server.cpp + PROPERTIES + COMPILE_FLAGS + -Wno-shadow + ) + target_include_directories( + mbgl-test + PRIVATE ${PROJECT_SOURCE_DIR}/vendor/cpp-httplib + ) +endif() + +if(NOT DEFINED ENV{CI}) + set(MBGL_TEST_BUILD_ON_CI 0) +else() + set(MBGL_TEST_BUILD_ON_CI 1) +endif() + +target_compile_definitions( + mbgl-test + PRIVATE TEST_HAS_SERVER=${MBGL_TEST_HAS_TEST_SERVER} CI_BUILD=${MBGL_TEST_BUILD_ON_CI} +) + +target_include_directories( + mbgl-test + PRIVATE + ${PROJECT_SOURCE_DIR}/platform/default/include + ${PROJECT_SOURCE_DIR}/platform/gfx/gl/src + ${PROJECT_SOURCE_DIR}/src + ${PROJECT_SOURCE_DIR}/test/src +) + +target_include_directories( + mbgl-test + PUBLIC ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/test/include +) + +include(${PROJECT_SOURCE_DIR}/vendor/googletest.cmake) + +# Needed for testing private classes +get_target_property(MBGL_CORE_PRIVATE_LIBRARIES mbgl-core LINK_LIBRARIES) + +target_link_libraries( + mbgl-test + PRIVATE + ${MBGL_CORE_PRIVATE_LIBRARIES} + Mapbox::Base::Extras::args + Mapbox::Base::pixelmatch-cpp + mbgl-compiler-options + PUBLIC mbgl-core +) + +target_link_libraries( + mbgl-test + PUBLIC mbgl-vendor-googletest +) + +set_property(TARGET mbgl-test PROPERTY FOLDER Core) diff --git a/test/android/app/build.gradle b/test/android/app/build.gradle index cadbdf6fd9..5c118d4853 100644 --- a/test/android/app/build.gradle +++ b/test/android/app/build.gradle @@ -33,7 +33,7 @@ android { externalNativeBuild { cmake { version '3.10.2' - path '../../../next/CMakeLists.txt' + path '../../../CMakeLists.txt' } } buildTypes { |