diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2020-01-27 18:15:00 +0200 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2020-01-28 21:16:11 +0200 |
commit | 705518098a7051d1b124e661c6d18f8f44bb6b96 (patch) | |
tree | e1016ba375bfa9f03b872a0d3591c89753f02d6f | |
parent | 0de6ffc383022e3ebfb658a729a0c9d7d7b026c4 (diff) | |
download | qtlocation-mapboxgl-705518098a7051d1b124e661c6d18f8f44bb6b96.tar.gz |
[build] Move to the new buildsystem
59 files changed, 2526 insertions, 4774 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9afded1deb..5209151f88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,210 +1,994 @@ -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) + +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) -# Compiler configuration +if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +endif() + +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> + $<$<COMPILE_LANGUAGE:CXX>:-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_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) - -if (WITH_ERROR) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") -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) +if(MBGL_WITH_QT) + find_package(Qt5Core REQUIRED) + set(CMAKE_AUTOMOC ON) + set(CMAKE_AUTORCC ON) endif() -if($ENV{CI}) - add_compile_options(-DCI_BUILD=1) -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 ) +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.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/gl/renderable_resource.hpp + ${PROJECT_SOURCE_DIR}/include/mbgl/gl/renderer_backend.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/custom_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/gl_functions.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/custom_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/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/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/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/layermanager/background_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/circle_layer_factory.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/layermanager/custom_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/gl_functions.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/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 + ${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_custom_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/renderer/layers/render_custom_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/custom_layer.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/custom_layer_impl.cpp + ${PROJECT_SOURCE_DIR}/src/mbgl/style/layers/custom_layer_impl.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_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(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") -endif() - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") - -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") +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() -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") +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() -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") + message(FATAL_ERROR "Unsupported target platform: " ${CMAKE_SYSTEM_NAME}) 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) - -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) -endif() +set( + MEMORYCHECK_COMMAND_OPTIONS + "--leak-check=full --gen-suppressions=all --error-exitcode=1 --suppressions=${PROJECT_SOURCE_DIR}/scripts/valgrind.sup" +) -include(cmake/core.cmake) +include(CTest) -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) 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 7b062bfd69..2185132a5a 100644 --- a/circle.yml +++ b/circle.yml @@ -225,7 +225,7 @@ commands: - run: name: Configure command: | - cmake next -B build << parameters.config_params >> + cmake . -B build << parameters.config_params >> build: parameters: build_params: @@ -319,7 +319,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: @@ -340,7 +340,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 @@ -521,7 +521,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/cmake/benchmark.cmake b/cmake/benchmark.cmake deleted file mode 100644 index 7bca681f86..0000000000 --- a/cmake/benchmark.cmake +++ /dev/null @@ -1,30 +0,0 @@ -# Run scripts/generate-file-lists.js to change the source files for this target. -load_sources_list(MBGL_BENCHMARK_FILES benchmark/benchmark-files.json) -add_executable(mbgl-benchmark ${MBGL_BENCHMARK_FILES}) - -target_include_directories(mbgl-benchmark - PRIVATE src - PRIVATE benchmark/include - PRIVATE benchmark/src - PRIVATE platform/default/include -) - -target_link_libraries(mbgl-benchmark - PRIVATE mbgl-core - PRIVATE mbgl-vendor-benchmark -) - -mbgl_platform_benchmark() - -create_source_groups(mbgl-benchmark) - -set_target_properties(mbgl-benchmark PROPERTIES FOLDER "Executables") - -initialize_xcode_cxx_build_settings(mbgl-benchmark) - -xcode_create_scheme( - TARGET mbgl-benchmark - OPTIONAL_ARGS - "--benchmark_filter=Category.*" - "--benchmark_repetitions=1" -) diff --git a/cmake/core.cmake b/cmake/core.cmake deleted file mode 100644 index d3b72a5000..0000000000 --- a/cmake/core.cmake +++ /dev/null @@ -1,46 +0,0 @@ -# scripts/generate-file-lists.js to change the source files for this target. -load_sources_list(MBGL_CORE_FILES src/core-files.json) -add_library(mbgl-core STATIC ${MBGL_CORE_FILES}) - -target_include_directories(mbgl-core - PUBLIC include - PRIVATE src -) - -target_link_libraries(mbgl-core PRIVATE - mbgl-vendor-earcut.hpp - mbgl-vendor-eternal - mbgl-vendor-geojson-vt-cpp - mbgl-vendor-shelf-pack-cpp - mbgl-vendor-unique_resource - mbgl-vendor-wagyu -) - -# linux uses ICU from mason, other platforms use vendored ICU -if(NOT MBGL_PLATFORM STREQUAL "linux") - set(ICU_LIBRARY "mbgl-vendor-icu") -endif() - -# FIXME: We should not leak these many -# libraries in our public interface. -target_link_libraries(mbgl-core PUBLIC - mbgl-vendor-boost - mapbox-base-extras - mapbox-base - ${ICU_LIBRARY} - mbgl-vendor-polylabel - mbgl-vendor-protozero - Mapbox::Base::Extras::rapidjson - Mapbox::Base::Extras::expected-lite - mbgl-vendor-vector-tile -) - -mbgl_platform_core() - -create_source_groups(mbgl-core) - -set_target_properties(mbgl-core PROPERTIES FOLDER "Core") - -xcode_create_scheme(TARGET mbgl-core) - -initialize_xcode_cxx_build_settings(mbgl-core) diff --git a/cmake/doxygen.cmake b/cmake/doxygen.cmake deleted file mode 100644 index b61e878f88..0000000000 --- a/cmake/doxygen.cmake +++ /dev/null @@ -1,18 +0,0 @@ -find_package(Doxygen) -if(DOXYGEN_FOUND) - set(DOXYGEN_PROJECT_NAME "Mapbox GL Native") - set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/docs") - set(DOXYGEN_GENERATE_XML TRUE) - set(DOXYGEN_QUIET YES) - set(DOXYGEN_WARN_LOGFILE ${CMAKE_BINARY_DIR}/doxygen_warn.log) - - doxygen_add_docs(generate_xml_doxygen - ${CMAKE_SOURCE_DIR}/include - ) - - add_custom_target(doxygen_coverage - COMMAND ${CMAKE_SOURCE_DIR}/scripts/doxy-coverage.py --quiet --noerror --json="${CMAKE_BINARY_DIR}/doxygen-coverage.json" "${CMAKE_BINARY_DIR}/docs/xml" - COMMENT "Checking documentation coverage" - DEPENDS generate_xml_doxygen - ) -endif() diff --git a/cmake/empty.cpp b/cmake/empty.cpp deleted file mode 100644 index e69de29bb2..0000000000 --- a/cmake/empty.cpp +++ /dev/null diff --git a/cmake/executable.xcscheme b/cmake/executable.xcscheme deleted file mode 100644 index 44146a621d..0000000000 --- a/cmake/executable.xcscheme +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Scheme - LastUpgradeVersion = "0830" - version = "1.3"> - <BuildAction - parallelizeBuildables = "YES" - buildImplicitDependencies = "YES"> - <BuildActionEntries> - <BuildActionEntry - buildForTesting = "YES" - buildForRunning = "YES" - buildForProfiling = "YES" - buildForArchiving = "YES" - buildForAnalyzing = "YES"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "${XCSCHEME_BLUEPRINT_ID}" - BuildableName = "${XCSCHEME_BUILDABLE_NAME}" - BlueprintName = "${XCSCHEME_BLUEPRINT_NAME}" - ReferencedContainer = "container:${XCSCHEME_CONTAINER}"> - </BuildableReference> - </BuildActionEntry> - </BuildActionEntries> - </BuildAction> - <TestAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> - <Testables> - </Testables> - <MacroExpansion> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "${XCSCHEME_BLUEPRINT_ID}" - BuildableName = "${XCSCHEME_BUILDABLE_NAME}" - BlueprintName = "${XCSCHEME_BLUEPRINT_NAME}" - ReferencedContainer = "container:${XCSCHEME_CONTAINER}"> - </BuildableReference> - </MacroExpansion> - <AdditionalOptions> - </AdditionalOptions> - </TestAction> - <LaunchAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - launchStyle = "0" - useCustomWorkingDirectory = "YES" - customWorkingDirectory = "${XCSCHEME_WORKING_DIRECTORY}" - ignoresPersistentStateOnLaunch = "NO" - debugDocumentVersioning = "YES" - debugServiceExtension = "internal" - allowLocationSimulation = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "${XCSCHEME_BLUEPRINT_ID}" - BuildableName = "${XCSCHEME_BUILDABLE_NAME}" - BlueprintName = "${XCSCHEME_BLUEPRINT_NAME}" - ReferencedContainer = "container:${XCSCHEME_CONTAINER}"> - </BuildableReference> - </BuildableProductRunnable> - <CommandLineArguments>${XCSCHEME_COMMAND_LINE_ARGS} - </CommandLineArguments> - <EnvironmentVariables> - <EnvironmentVariable - key = "MAPBOX_ACCESS_TOKEN" - value = "$ENV{MAPBOX_ACCESS_TOKEN}" - isEnabled = "YES"> - </EnvironmentVariable> - </EnvironmentVariables> - <AdditionalOptions> - </AdditionalOptions> - </LaunchAction> - <ProfileAction - buildConfiguration = "Release" - shouldUseLaunchSchemeArgsEnv = "YES" - savedToolIdentifier = "" - useCustomWorkingDirectory = "YES" - customWorkingDirectory = "${XCSCHEME_WORKING_DIRECTORY}" - debugDocumentVersioning = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "${XCSCHEME_BLUEPRINT_ID}" - BuildableName = "${XCSCHEME_BUILDABLE_NAME}" - BlueprintName = "${XCSCHEME_BLUEPRINT_NAME}" - ReferencedContainer = "container:${XCSCHEME_CONTAINER}"> - </BuildableReference> - </BuildableProductRunnable> - </ProfileAction> - <AnalyzeAction - buildConfiguration = "Debug"> - </AnalyzeAction> - <ArchiveAction - buildConfiguration = "Release" - revealArchiveInOrganizer = "YES"> - </ArchiveAction> -</Scheme> diff --git a/cmake/expression-test.cmake b/cmake/expression-test.cmake deleted file mode 100644 index da4f90d751..0000000000 --- a/cmake/expression-test.cmake +++ /dev/null @@ -1,29 +0,0 @@ -add_executable(mbgl-expression-test - expression-test/main.cpp - expression-test/expression_test_parser.cpp - expression-test/expression_test_runner.cpp - expression-test/expression_test_logger.cpp - expression-test/test_runner_common.cpp - expression-test/test_runner_common.hpp -) - -if(APPLE) - target_link_libraries(mbgl-expression-test PRIVATE mbgl-loop-darwin) -else() - target_link_libraries(mbgl-expression-test PRIVATE mbgl-loop-uv) -endif() - -target_include_directories(mbgl-expression-test - PRIVATE src - PRIVATE expression-test - PRIVATE render-test -) - -target_link_libraries(mbgl-expression-test PRIVATE - mbgl-core - Mapbox::Base::Extras::args - Mapbox::Base::Extras::filesystem - Mapbox::Base::Extras::rapidjson -) - -add_definitions(-DTEST_RUNNER_ROOT_PATH="${CMAKE_SOURCE_DIR}") diff --git a/cmake/filesource.cmake b/cmake/filesource.cmake deleted file mode 100644 index aca8b1c962..0000000000 --- a/cmake/filesource.cmake +++ /dev/null @@ -1,24 +0,0 @@ -# Modify platform/default/filesource-files.json to change the source files for this target. -load_sources_list(MBGL_FILESOURCE_FILES platform/default/filesource-files.json) -add_library(mbgl-filesource STATIC ${MBGL_FILESOURCE_FILES}) - -target_include_directories(mbgl-filesource - PRIVATE include - PRIVATE src - PRIVATE platform/default/include -) - -target_link_libraries(mbgl-filesource - PUBLIC mbgl-core - PUBLIC Mapbox::Base::Extras::expected-lite -) - -mbgl_filesource() - -create_source_groups(mbgl-filesource) - -set_target_properties(mbgl-filesource PROPERTIES FOLDER "Core") - -xcode_create_scheme(TARGET mbgl-filesource) - -initialize_xcode_cxx_build_settings(mbgl-filesource) diff --git a/cmake/glfw.cmake b/cmake/glfw.cmake deleted file mode 100644 index d595518954..0000000000 --- a/cmake/glfw.cmake +++ /dev/null @@ -1,51 +0,0 @@ -add_executable(mbgl-glfw - platform/glfw/main.cpp -) - -target_sources(mbgl-glfw - PRIVATE platform/glfw/glfw_view.hpp - PRIVATE platform/glfw/glfw_view.cpp - PRIVATE platform/glfw/glfw_backend.hpp - PRIVATE platform/glfw/glfw_gl_backend.hpp - PRIVATE platform/glfw/glfw_gl_backend.cpp - PRIVATE platform/glfw/glfw_renderer_frontend.hpp - PRIVATE platform/glfw/glfw_renderer_frontend.cpp - PRIVATE platform/glfw/settings_json.hpp - PRIVATE platform/glfw/settings_json.cpp - PRIVATE platform/glfw/test_writer.hpp - PRIVATE platform/glfw/test_writer.cpp -) - -target_include_directories(mbgl-glfw - PRIVATE platform/default/include -) - -target_link_libraries(mbgl-glfw - PRIVATE mbgl-core - PRIVATE glfw - PRIVATE mbgl-vendor-cheap-ruler-cpp - PRIVATE Mapbox::Base::Extras::args -) - -mbgl_platform_glfw() - -create_source_groups(mbgl-glfw) - -set_target_properties(mbgl-glfw PROPERTIES FOLDER "Executables") - -initialize_xcode_cxx_build_settings(mbgl-glfw) - -xcode_create_scheme( - TARGET mbgl-glfw - OPTIONAL_ARGS - "--style=file.json" - "--cache=/tmp/mbgl-cache.db" - "--lon=0" - "--lat=0" - "--zoom=1" - "--bearing=0" - "--pitch=0" - "--fullscreen" - "--offline" - "--benchmark" -) diff --git a/cmake/library.xcscheme b/cmake/library.xcscheme deleted file mode 100644 index 320a2f851f..0000000000 --- a/cmake/library.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Scheme - LastUpgradeVersion = "0830" - version = "1.3"> - <BuildAction - parallelizeBuildables = "YES" - buildImplicitDependencies = "YES"> - <BuildActionEntries> - <BuildActionEntry - buildForTesting = "YES" - buildForRunning = "YES" - buildForProfiling = "YES" - buildForArchiving = "YES" - buildForAnalyzing = "YES"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "${XCSCHEME_BLUEPRINT_ID}" - BuildableName = "${XCSCHEME_BUILDABLE_NAME}" - BlueprintName = "${XCSCHEME_BLUEPRINT_NAME}" - ReferencedContainer = "container:${XCSCHEME_CONTAINER}"> - </BuildableReference> - </BuildActionEntry> - </BuildActionEntries> - </BuildAction> - <TestAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> - <Testables> - </Testables> - <AdditionalOptions> - </AdditionalOptions> - </TestAction> - <LaunchAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - launchStyle = "0" - useCustomWorkingDirectory = "NO" - ignoresPersistentStateOnLaunch = "NO" - debugDocumentVersioning = "YES" - debugServiceExtension = "internal" - allowLocationSimulation = "YES"> - <MacroExpansion> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "${XCSCHEME_BLUEPRINT_ID}" - BuildableName = "${XCSCHEME_BUILDABLE_NAME}" - BlueprintName = "${XCSCHEME_BLUEPRINT_NAME}" - ReferencedContainer = "container:${XCSCHEME_CONTAINER}"> - </BuildableReference> - </MacroExpansion> - <AdditionalOptions> - </AdditionalOptions> - </LaunchAction> - <ProfileAction - buildConfiguration = "Release" - shouldUseLaunchSchemeArgsEnv = "YES" - savedToolIdentifier = "" - useCustomWorkingDirectory = "NO" - debugDocumentVersioning = "YES"> - <MacroExpansion> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "${XCSCHEME_BLUEPRINT_ID}" - BuildableName = "${XCSCHEME_BUILDABLE_NAME}" - BlueprintName = "${XCSCHEME_BLUEPRINT_NAME}" - ReferencedContainer = "container:${XCSCHEME_CONTAINER}"> - </BuildableReference> - </MacroExpansion> - </ProfileAction> - <AnalyzeAction - buildConfiguration = "Debug"> - </AnalyzeAction> - <ArchiveAction - buildConfiguration = "Release" - revealArchiveInOrganizer = "YES"> - </ArchiveAction> -</Scheme> diff --git a/cmake/loop-darwin.cmake b/cmake/loop-darwin.cmake deleted file mode 100644 index 9e52639c52..0000000000 --- a/cmake/loop-darwin.cmake +++ /dev/null @@ -1,20 +0,0 @@ -# Modify platform/darwin/loop-files.json to change the source files for this target. -load_sources_list(MBGL_LOOP_DARWIN_FILES platform/darwin/loop-files.json) -add_library(mbgl-loop-darwin STATIC ${MBGL_LOOP_DARWIN_FILES}) - -target_include_directories(mbgl-loop-darwin - PRIVATE include - PRIVATE src -) - -target_link_libraries(mbgl-loop-darwin PUBLIC - mapbox-base -) - -create_source_groups(mbgl-loop-darwin) - -set_target_properties(mbgl-loop-darwin PROPERTIES FOLDER "Core") - -initialize_xcode_cxx_build_settings(mbgl-loop-darwin) - -xcode_create_scheme(TARGET mbgl-loop-darwin) diff --git a/cmake/loop-uv.cmake b/cmake/loop-uv.cmake deleted file mode 100644 index 320545b3c3..0000000000 --- a/cmake/loop-uv.cmake +++ /dev/null @@ -1,14 +0,0 @@ -add_library(mbgl-loop-uv INTERFACE) - -target_sources(mbgl-loop-uv INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/platform/default/src/mbgl/util/async_task.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/default/src/mbgl/util/run_loop.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/default/src/mbgl/util/timer.cpp -) - -target_include_directories(mbgl-loop-uv INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${CMAKE_CURRENT_SOURCE_DIR}/src -) - -create_source_groups(mbgl-loop-uv) diff --git a/cmake/mason-dependencies.cmake b/cmake/mason-dependencies.cmake deleted file mode 100644 index 5ec6a44a79..0000000000 --- a/cmake/mason-dependencies.cmake +++ /dev/null @@ -1,25 +0,0 @@ -# All dependencies in a single separate file so its checksum can be used in a CI cache key name - -if(MBGL_PLATFORM STREQUAL "android") - # noop -elseif(MBGL_PLATFORM STREQUAL "ios") - # noop -elseif(MBGL_PLATFORM STREQUAL "linux") - mason_use(libuv VERSION 1.9.1) - mason_use(libpng VERSION 1.6.25) - mason_use(libjpeg-turbo VERSION 1.5.0) - mason_use(icu VERSION 63.1-min-static-data) - - if(WITH_EGL) - mason_use(swiftshader VERSION 2018-05-31) - endif() -elseif(MBGL_PLATFORM STREQUAL "macos") - if(WITH_EGL) - mason_use(swiftshader VERSION 2018-05-31) - endif() -elseif(MBGL_PLATFORM STREQUAL "qt") - if(NOT WITH_QT_DECODERS) - mason_use(libjpeg-turbo VERSION 1.5.0) - mason_use(libpng VERSION 1.6.25) - endif() -endif() diff --git a/cmake/mason.cmake b/cmake/mason.cmake deleted file mode 100644 index c0795d962c..0000000000 --- a/cmake/mason.cmake +++ /dev/null @@ -1,227 +0,0 @@ -# Mason CMake - -include(CMakeParseArguments) - -function(mason_detect_platform) - # Determine platform - if(NOT MASON_PLATFORM) - # we call uname -s manually here since - # CMAKE_HOST_SYSTEM_NAME will not be defined before the project() call - execute_process( - COMMAND uname -s - OUTPUT_VARIABLE UNAME - OUTPUT_STRIP_TRAILING_WHITESPACE) - - if (UNAME STREQUAL "Darwin") - set(MASON_PLATFORM "osx" PARENT_SCOPE) - else() - set(MASON_PLATFORM "linux" PARENT_SCOPE) - endif() - endif() - - # Determine platform version string - if(NOT MASON_PLATFORM_VERSION) - # Android Studio only passes ANDROID_ABI, but we need to adjust that to the Mason - if(MASON_PLATFORM STREQUAL "android" AND NOT MASON_PLATFORM_VERSION) - if (ANDROID_ABI STREQUAL "armeabi-v7a") - set(MASON_PLATFORM_VERSION "arm-v7-14" PARENT_SCOPE) - elseif (ANDROID_ABI STREQUAL "arm64-v8a") - set(MASON_PLATFORM_VERSION "arm-v8-21" PARENT_SCOPE) - elseif (ANDROID_ABI STREQUAL "x86") - set(MASON_PLATFORM_VERSION "x86-14" PARENT_SCOPE) - elseif (ANDROID_ABI STREQUAL "x86_64") - set(MASON_PLATFORM_VERSION "x86-64-21" PARENT_SCOPE) - else() - message(FATAL_ERROR "Unknown ANDROID_ABI '${ANDROID_ABI}'.") - endif() - elseif(MASON_PLATFORM STREQUAL "ios") - set(MASON_PLATFORM_VERSION "8.0" PARENT_SCOPE) - else() - execute_process( - COMMAND uname -m - OUTPUT_VARIABLE MASON_PLATFORM_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(MASON_PLATFORM_VERSION "${MASON_PLATFORM_VERSION}" PARENT_SCOPE) - endif() - endif() -endfunction() - -function(mason_use _PACKAGE) - if(NOT _PACKAGE) - message(FATAL_ERROR "[Mason] No package name given") - endif() - - cmake_parse_arguments("" "HEADER_ONLY" "VERSION" "" ${ARGN}) - - if(_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "[Mason] mason_use() called with unrecognized arguments: ${_UNPARSED_ARGUMENTS}") - endif() - - if(NOT _VERSION) - message(FATAL_ERROR "[Mason] Specifying a version is required") - endif() - - if(MASON_PACKAGE_${_PACKAGE}_INVOCATION STREQUAL "${MASON_INVOCATION}") - # Check that the previous invocation of mason_use didn't select another version of this package - if(NOT MASON_PACKAGE_${_PACKAGE}_VERSION STREQUAL ${_VERSION}) - message(FATAL_ERROR "[Mason] Already using ${_PACKAGE} ${MASON_PACKAGE_${_PACKAGE}_VERSION}. Cannot select version ${_VERSION}.") - endif() - else() - if(_HEADER_ONLY) - set(_PLATFORM_ID "headers") - else() - set(_PLATFORM_ID "${MASON_PLATFORM}-${MASON_PLATFORM_VERSION}") - endif() - - set(_SLUG "${_PLATFORM_ID}/${_PACKAGE}/${_VERSION}") - set(_INSTALL_PATH "${MASON_PACKAGE_DIR}/${_SLUG}") - file(RELATIVE_PATH _INSTALL_PATH_RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${_INSTALL_PATH}") - - if(NOT EXISTS "${_INSTALL_PATH}") - set(_CACHE_PATH "${MASON_PACKAGE_DIR}/.binaries/${_SLUG}.tar.gz") - if (NOT EXISTS "${_CACHE_PATH}") - # Download the package - set(_URL "${MASON_REPOSITORY}/${_SLUG}.tar.gz") - message("[Mason] Downloading package ${_URL}...") - - set(_STATUS) - get_filename_component(_CACHE_DIR "${_CACHE_PATH}" DIRECTORY) - file(MAKE_DIRECTORY "${_CACHE_DIR}") - file(DOWNLOAD "${_URL}" "${_CACHE_PATH}.tmp" STATUS _STATUS TLS_VERIFY ON) - - list(GET _STATUS 0 _STATUS_CODE) - list(GET _STATUS 1 _STATUS_STRING) - if(NOT _STATUS_CODE EQUAL 0) - message(FATAL_ERROR "[Mason] Failed to download ${_URL}: ${_STATUS_STRING}") - else() - # We downloaded to a temporary file to prevent half-finished downloads - file(RENAME "${_CACHE_PATH}.tmp" "${_CACHE_PATH}") - endif() - endif() - - # Unpack the package - message("[Mason] Unpacking package to ${_INSTALL_PATH_RELATIVE}...") - file(MAKE_DIRECTORY "${_INSTALL_PATH}") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar xzf "${_CACHE_PATH}" - WORKING_DIRECTORY "${_INSTALL_PATH}") - endif() - - # Error out if there is no config file. - if(NOT EXISTS "${_INSTALL_PATH}/mason.ini") - message(FATAL_ERROR "[Mason] Could not find mason.ini for package ${_PACKAGE} ${_VERSION}") - endif() - - set(MASON_PACKAGE_${_PACKAGE}_PREFIX "${_INSTALL_PATH}" CACHE STRING "${_PACKAGE} ${_INSTALL_PATH}" FORCE) - mark_as_advanced(MASON_PACKAGE_${_PACKAGE}_PREFIX) - - # Load the configuration from the ini file - file(STRINGS "${_INSTALL_PATH}/mason.ini" _CONFIG_FILE) - foreach(_LINE IN LISTS _CONFIG_FILE) - string(REGEX MATCH "^([a-z_]+) *= *" _KEY "${_LINE}") - if (_KEY) - string(LENGTH "${_KEY}" _KEY_LENGTH) - string(SUBSTRING "${_LINE}" ${_KEY_LENGTH} -1 _VALUE) - string(REGEX REPLACE ";.*$" "" _VALUE "${_VALUE}") # Trim trailing commas - string(REPLACE "{prefix}" "${_INSTALL_PATH}" _VALUE "${_VALUE}") - string(STRIP "${_VALUE}" _VALUE) - string(REPLACE "=" "" _KEY "${_KEY}") - string(STRIP "${_KEY}" _KEY) - string(TOUPPER "${_KEY}" _KEY) - if(_KEY STREQUAL "INCLUDE_DIRS" OR _KEY STREQUAL "STATIC_LIBS" ) - separate_arguments(_VALUE) - endif() - set(MASON_PACKAGE_${_PACKAGE}_${_KEY} "${_VALUE}" CACHE STRING "${_PACKAGE} ${_KEY}" FORCE) - mark_as_advanced(MASON_PACKAGE_${_PACKAGE}_${_KEY}) - endif() - endforeach() - - # Compare version in the package to catch errors early on - if(NOT _VERSION STREQUAL MASON_PACKAGE_${_PACKAGE}_VERSION) - message(FATAL_ERROR "[Mason] Package at ${_INSTALL_PATH_RELATIVE} has version '${MASON_PACKAGE_${_PACKAGE}_VERSION}', but required '${_VERSION}'") - endif() - - if(NOT _PACKAGE STREQUAL MASON_PACKAGE_${_PACKAGE}_NAME) - message(FATAL_ERROR "[Mason] Package at ${_INSTALL_PATH_RELATIVE} has name '${MASON_PACKAGE_${_PACKAGE}_NAME}', but required '${_NAME}'") - endif() - - if(NOT _HEADER_ONLY) - if(NOT MASON_PLATFORM STREQUAL MASON_PACKAGE_${_PACKAGE}_PLATFORM) - message(FATAL_ERROR "[Mason] Package at ${_INSTALL_PATH_RELATIVE} has platform '${MASON_PACKAGE_${_PACKAGE}_PLATFORM}', but required '${MASON_PLATFORM}'") - endif() - - if(NOT MASON_PLATFORM_VERSION STREQUAL MASON_PACKAGE_${_PACKAGE}_PLATFORM_VERSION) - message(FATAL_ERROR "[Mason] Package at ${_INSTALL_PATH_RELATIVE} has platform version '${MASON_PACKAGE_${_PACKAGE}_PLATFORM_VERSION}', but required '${MASON_PLATFORM_VERSION}'") - endif() - endif() - - # Concatenate the static libs and libraries - set(_LIBRARIES) - list(APPEND _LIBRARIES ${MASON_PACKAGE_${_PACKAGE}_STATIC_LIBS} ${MASON_PACKAGE_${_PACKAGE}_LDFLAGS}) - set(MASON_PACKAGE_${_PACKAGE}_LIBRARIES "${_LIBRARIES}" CACHE STRING "${_PACKAGE} _LIBRARIES" FORCE) - mark_as_advanced(MASON_PACKAGE_${_PACKAGE}_LIBRARIES) - - if(NOT _HEADER_ONLY) - string(REGEX MATCHALL "(^| +)-L *([^ ]+)" MASON_PACKAGE_${_PACKAGE}_LIBRARY_DIRS "${MASON_PACKAGE_${_PACKAGE}_LDFLAGS}") - string(REGEX REPLACE "(^| +)-L *" "\\1" MASON_PACKAGE_${_PACKAGE}_LIBRARY_DIRS "${MASON_PACKAGE_${_PACKAGE}_LIBRARY_DIRS}") - set(MASON_PACKAGE_${_PACKAGE}_LIBRARY_DIRS "${MASON_PACKAGE_${_PACKAGE}_LIBRARY_DIRS}" CACHE STRING "${_PACKAGE} ${MASON_PACKAGE_${_PACKAGE}_LIBRARY_DIRS}" FORCE) - mark_as_advanced(MASON_PACKAGE_${_PACKAGE}_LIBRARY_DIRS) - endif() - - # Store invocation ID to prevent different versions of the same package in one invocation - set(MASON_PACKAGE_${_PACKAGE}_INVOCATION "${MASON_INVOCATION}" CACHE INTERNAL "${_PACKAGE} invocation ID" FORCE) - endif() -endfunction() - -macro(target_add_mason_package _TARGET _VISIBILITY _PACKAGE) - if (NOT MASON_PACKAGE_${_PACKAGE}_INVOCATION) - message(FATAL_ERROR "[Mason] Package ${_PACKAGE} has not been initialized yet") - endif() - - target_include_directories(${_TARGET} ${_VISIBILITY} "${MASON_PACKAGE_${_PACKAGE}_INCLUDE_DIRS}") - target_compile_definitions(${_TARGET} ${_VISIBILITY} "${MASON_PACKAGE_${_PACKAGE}_DEFINITIONS}") - target_compile_options(${_TARGET} ${_VISIBILITY} "${MASON_PACKAGE_${_PACKAGE}_OPTIONS}") - target_link_libraries(${_TARGET} ${_VISIBILITY} "${MASON_PACKAGE_${_PACKAGE}_LIBRARIES}") -endmacro() - -# Setup - -string(RANDOM LENGTH 16 MASON_INVOCATION) - -# Read environment variables if CMake is run in command mode -if (CMAKE_ARGC) - set(MASON_PLATFORM "$ENV{MASON_PLATFORM}") - set(MASON_PLATFORM_VERSION "$ENV{MASON_PLATFORM_VERSION}") - set(MASON_PACKAGE_DIR "$ENV{MASON_PACKAGE_DIR}") - set(MASON_REPOSITORY "$ENV{MASON_REPOSITORY}") -endif() - -# Directory where Mason packages are located; typically ends with mason_packages -if (NOT MASON_PACKAGE_DIR) - set(MASON_PACKAGE_DIR "${CMAKE_SOURCE_DIR}/mason_packages") -endif() - -# URL prefix of where packages are located. -if (NOT MASON_REPOSITORY) - set(MASON_REPOSITORY "https://mason-binaries.s3.amazonaws.com") -endif() - -mason_detect_platform() - -# Execute commands if CMake is run in command mode\ -if (CMAKE_ARGC AND "${CMAKE_SCRIPT_MODE_FILE}" STREQUAL "${CMAKE_CURRENT_LIST_DIR}/mason.cmake") - # Collect remaining arguments for passing to mason_use - set(_MASON_ARGS) - foreach(I RANGE 4 ${CMAKE_ARGC}) - list(APPEND _MASON_ARGS "${CMAKE_ARGV${I}}") - endforeach() - - # Install the package - mason_use(${_MASON_ARGS}) - - # Optionally print variables - if(DEFINED MASON_PACKAGE_${CMAKE_ARGV4}_${CMAKE_ARGV3}) - # CMake can't write to stdout with message() - execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${MASON_PACKAGE_${CMAKE_ARGV4}_${CMAKE_ARGV3}}") - endif() -endif() diff --git a/cmake/mbgl.cmake b/cmake/mbgl.cmake deleted file mode 100644 index 1b4338a0bb..0000000000 --- a/cmake/mbgl.cmake +++ /dev/null @@ -1,232 +0,0 @@ -if (NOT MBGL_PLATFORM) - if (CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") - set(MBGL_PLATFORM "macos") - else() - set(MBGL_PLATFORM "linux") - endif() -endif() - -if(WITH_NODEJS) - find_program(NodeJS_EXECUTABLE NAMES nodejs node) - if (NOT NodeJS_EXECUTABLE) - message(FATAL_ERROR "Could not find Node.js") - endif() - - find_program(npm_EXECUTABLE NAMES npm) - if (NOT npm_EXECUTABLE) - message(FATAL_ERROR "Could not find npm") - endif() - - execute_process( - COMMAND "${NodeJS_EXECUTABLE}" -e "process.stdout.write(process.versions.node)" - RESULT_VARIABLE _STATUS_CODE - OUTPUT_VARIABLE NodeJS_VERSION - ERROR_VARIABLE _STATUS_MESSAGE - ) - if(NOT _STATUS_CODE EQUAL 0) - message(FATAL_ERROR "Could not detect Node.js version: ${_STATUS_MESSAGE}") - endif() - - execute_process( - COMMAND "${NodeJS_EXECUTABLE}" -e "process.stdout.write(process.versions.modules)" - RESULT_VARIABLE _STATUS_CODE - OUTPUT_VARIABLE NodeJS_ABI - ERROR_VARIABLE _STATUS_MESSAGE - ) - if(NOT _STATUS_CODE EQUAL 0) - message(FATAL_ERROR "Could not detect Node.js ABI version: ${_STATUS_MESSAGE}") - endif() - - function(_npm_install DIRECTORY NAME ADDITIONAL_DEPS) - SET(NPM_INSTALL_FAILED FALSE) - if("${DIRECTORY}/package.json" IS_NEWER_THAN "${DIRECTORY}/node_modules/.${NAME}.stamp") - message(STATUS "Running 'npm install' for ${NAME}...") - execute_process( - COMMAND "${NodeJS_EXECUTABLE}" "${npm_EXECUTABLE}" install --verbose --ignore-scripts - WORKING_DIRECTORY "${DIRECTORY}" - RESULT_VARIABLE NPM_INSTALL_FAILED - OUTPUT_VARIABLE NPM_OUTPUT - ERROR_VARIABLE NPM_OUTPUT) - message(STATUS "Finished 'npm install' for ${NAME}...") - if(NOT NPM_INSTALL_FAILED) - execute_process(COMMAND ${CMAKE_COMMAND} -E touch "${DIRECTORY}/node_modules/.${NAME}.stamp") - else() - message(FATAL_ERROR "NPM install failed:\n${NPM_OUTPUT}") - endif() - endif() - - add_custom_command( - OUTPUT "${DIRECTORY}/node_modules/.${NAME}.stamp" - COMMAND "${NodeJS_EXECUTABLE}" "${npm_EXECUTABLE}" install --ignore-scripts - COMMAND ${CMAKE_COMMAND} -E touch "${DIRECTORY}/node_modules/.${NAME}.stamp" - WORKING_DIRECTORY "${DIRECTORY}" - DEPENDS ${ADDITIONAL_DEPS} "${DIRECTORY}/package.json" - COMMENT "Running 'npm install' for ${NAME}...") - endfunction() - - # Run submodule update - set(MBGL_SUBMODULES mapbox-gl-js) - if(MBGL_PLATFORM STREQUAL "ios") - list(APPEND MBGL_SUBMODULES platform/ios/vendor/mapbox-events-ios) - endif() - if(MBGL_PLATFORM STREQUAL "ios" OR MBGL_PLATFORM STREQUAL "macos") - list(APPEND MBGL_SUBMODULES platform/darwin/docs/theme) - endif() - - message(STATUS "Updating submodules...") - execute_process( - COMMAND git submodule update --init ${MBGL_SUBMODULES} - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") - - if(NOT EXISTS "${CMAKE_SOURCE_DIR}/mapbox-gl-js/node_modules") - # Symlink mapbox-gl-js/node_modules so that the modules that are - # about to be installed get cached between CI runs. - execute_process( - COMMAND ln -sF ../node_modules . - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/mapbox-gl-js") - endif() - - # Add target for running submodule update during builds - add_custom_target( - update-submodules ALL - COMMAND git submodule update --init ${MBGL_SUBMODULES} - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" - COMMENT "Updating submodules..." - ) - set_target_properties(update-submodules PROPERTIES FOLDER "Misc") - - # Run npm install for both directories, and add custom commands, and a target that depends on them. - _npm_install("${CMAKE_SOURCE_DIR}" mapbox-gl-native update-submodules) - _npm_install("${CMAKE_SOURCE_DIR}/mapbox-gl-js/test/integration" mapbox-gl-js "${CMAKE_SOURCE_DIR}/node_modules/.mapbox-gl-native.stamp") - add_custom_target( - npm-install ALL - DEPENDS "${CMAKE_SOURCE_DIR}/node_modules/.mapbox-gl-js.stamp" - ) - set_target_properties(npm-install PROPERTIES FOLDER "Misc") -endif() - -# Generate source groups so the files are properly sorted in IDEs like Xcode. -function(create_source_groups target) - get_target_property(type ${target} TYPE) - if(type AND type STREQUAL "INTERFACE_LIBRARY") - get_target_property(sources ${target} INTERFACE_SOURCES) - else() - get_target_property(sources ${target} SOURCES) - endif() - foreach(file ${sources}) - get_filename_component(file "${file}" ABSOLUTE) - string(REGEX REPLACE "^${CMAKE_SOURCE_DIR}/" "" group "${file}") - get_filename_component(group "${group}" DIRECTORY) - string(REPLACE "/" "\\" group "${group}") - source_group("${group}" FILES "${file}") - endforeach() -endfunction() - -function(load_sources_list VAR FILELIST) - set(_FILES) - file(READ "${FILELIST}" _LINES) - # Note: this isn't really parsing JSON, but it's good enough for our purposes. - set(_REGEX "(^|\n) *(\"([^\"]+)\" *: *)?\"([^\"]+)\",?(\n|$)") - string(REGEX MATCHALL "${_REGEX}" _MATCHES "${_LINES}") - foreach(_MATCH IN LISTS _MATCHES) - string(REGEX MATCH "${_REGEX}" _FILE "${_MATCH}") - if (_FILE AND NOT CMAKE_MATCH_3 STREQUAL "//") - list(APPEND _FILES "${CMAKE_SOURCE_DIR}/${CMAKE_MATCH_4}") - endif() - endforeach() - set(${VAR} "${_FILES}" PARENT_SCOPE) - set_property(DIRECTORY "${CMAKE_SOURCE_DIR}" APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${FILELIST}") -endfunction() - -function(target_sources_from_file TARGET TYPE FILELIST) - load_sources_list(_FILELIST "${FILELIST}") - target_sources(${TARGET} ${TYPE} "${_FILELIST}") -endfunction() - -# Creates a library target for a vendored dependency -function(add_vendor_target NAME TYPE) - set(INCLUDE_TYPE "INTERFACE") - set(SOURCE_TYPE "INTERFACE") - if (TYPE STREQUAL "STATIC" OR TYPE STREQUAL "SHARED") - add_library(${NAME} ${TYPE} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/empty.cpp") - set(INCLUDE_TYPE "PUBLIC") - set(SOURCE_TYPE "PRIVATE") - set_target_properties(${NAME} PROPERTIES SOURCES "") - else() - add_library(${NAME} ${TYPE}) - endif() - set_target_properties(${NAME} PROPERTIES INTERFACE_SOURCES "") - file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/vendor/${NAME}/files.txt" FILES) - foreach(FILE IN LISTS FILES) - target_sources(${NAME} ${SOURCE_TYPE} "${CMAKE_CURRENT_SOURCE_DIR}/vendor/${NAME}/${FILE}") - endforeach() - target_include_directories(${NAME} SYSTEM ${INCLUDE_TYPE} "${CMAKE_CURRENT_SOURCE_DIR}/vendor/${NAME}/include") - create_source_groups(${NAME}) -endfunction() - -# This little macro lets you set any XCode specific property -macro(set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE) - set_property(TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE}) -endmacro (set_xcode_property) - -function(set_xcconfig_target_properties target) - # Create a list of linked libraries for use in the xcconfig generation script. - get_property(result TARGET ${target} PROPERTY INTERFACE_LINK_LIBRARIES) - string(GENEX_STRIP "${result}" result) - # Remove target names from the list of linker flags, since Xcode can't deal with them. - set(link_flags) - foreach(item IN LISTS result) - if (NOT TARGET ${item}) - list(APPEND link_flags ${item}) - endif() - endforeach() - string(REGEX REPLACE "(^|;)-framework " "\\1-framework;" link_flags "${link_flags}") - string(REPLACE ";" "\" \"" link_flags "${link_flags}") - set_xcode_property(${target} XCCONFIG_LINK_LIBRARIES "${link_flags}") -endfunction() - -# Set Xcode project build settings to be consistent with the CXX flags we're -# using. (Otherwise, Xcode's defaults may override some of these.) -function(initialize_xcode_cxx_build_settings target) - # -Wall - set_xcode_property(${target} GCC_WARN_SIGN_COMPARE YES) - set_xcode_property(${target} GCC_WARN_UNINITIALIZED_AUTOS YES) - set_xcode_property(${target} GCC_WARN_UNKNOWN_PRAGMAS YES) - set_xcode_property(${target} GCC_WARN_UNUSED_FUNCTION YES) - set_xcode_property(${target} GCC_WARN_UNUSED_LABEL YES) - set_xcode_property(${target} GCC_WARN_UNUSED_PARAMETER YES) - set_xcode_property(${target} GCC_WARN_UNUSED_VARIABLE YES) - - # -Wextra - set_xcode_property(${target} CLANG_WARN_EMPTY_BODY YES) - set_xcode_property(${target} GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS YES) - - # -Wshadow - set_xcode_property(${target} GCC_WARN_SHADOW YES) - - # -Wnon-virtual-dtor - set_xcode_property(${target} GCC_WARN_NON_VIRTUAL_DESTRUCTOR YES) - - # -Wnon-literal-conversion - set_xcode_property(${target} CLANG_WARN_NON_LITERAL_NULL_CONVERSION YES) - - # -Wrange-loop-analysis - set_xcode_property(${target} CLANG_WARN_RANGE_LOOP_ANALYSIS YES) - - # -flto - set_xcode_property(${target} LLVM_LTO $<$<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>:YES>) - - # Make all build configurations debuggable — except Release. - set_xcode_property(${target} GCC_GENERATE_DEBUGGING_SYMBOLS $<$<NOT:$<CONFIG:Release>>:YES>) - - # -Wunguarded-availability - set_xcode_property(${target} CLANG_WARN_UNGUARDED_AVAILABILITY YES_AGGRESSIVE) - - if (DEFINED ENV{CI}) - set_xcode_property(${target} COMPILER_INDEX_STORE_ENABLE NO) - endif() -endfunction() - -# CMake 3.1 does not have this yet. -set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14") -set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14") diff --git a/cmake/node.cmake b/cmake/node.cmake deleted file mode 100644 index dba1a5499d..0000000000 --- a/cmake/node.cmake +++ /dev/null @@ -1,145 +0,0 @@ -# Load Node.js -set(NODE_MODULE_CACHE_DIR "${CMAKE_SOURCE_DIR}/build/headers") -include(node_modules/@mapbox/cmake-node-module/module.cmake) - -add_library(mbgl-loop-node INTERFACE) - -target_sources(mbgl-loop-node INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/platform/default/src/mbgl/util/async_task.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/default/src/mbgl/util/run_loop.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/default/src/mbgl/util/timer.cpp -) - -target_include_directories(mbgl-loop-node INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${CMAKE_CURRENT_SOURCE_DIR}/src -) - -create_source_groups(mbgl-loop-node) - - -add_node_module(mbgl-node - INSTALL_PATH "lib/{node_abi}/mbgl.node" - NAN_VERSION "2.14.0" - - # Don't build for Node 4.x, 5.x, 7.x, 9.x, 11.x, 12.x and 13.x - # See https://nodejs.org/en/download/releases/ for mapping of Node version to ABI number. - # Changes to this property should happen in tandem with updates to the version targets - # in platform/node/scripts/publish.sh and the "node" engines property in package.json. - EXCLUDE_NODE_ABIS 46 47 51 59 67 72 79 -) - -target_sources(mbgl-node INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_mapbox_gl_native.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_mapbox_gl_native.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_logging.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_logging.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_conversion.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_map.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_map.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_request.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_request.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_feature.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_feature.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_expression.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/node_expression.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/platform/node/src/util/async_queue.hpp -) - -target_include_directories(mbgl-node INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/platform/default/include -) - -target_link_libraries(mbgl-node INTERFACE - mbgl-core - mbgl-loop-node - # link against default filesource code, so that the node map - # can register it's default resource loader. - mbgl-filesource -) - -set_target_properties(mbgl-node.all PROPERTIES FOLDER "Node.js") - -add_custom_target(mbgl-node.active DEPENDS mbgl-node.abi-${NodeJS_ABI}) -set_target_properties(mbgl-node.active PROPERTIES FOLDER "Node.js") - -mbgl_platform_node() - -create_source_groups(mbgl-node) - -foreach(ABI IN LISTS mbgl-node::abis) - initialize_xcode_cxx_build_settings(mbgl-node.abi-${ABI}) - set_target_properties(mbgl-node.abi-${ABI} PROPERTIES FOLDER "Node.js") - xcode_create_scheme( - TARGET mbgl-node.abi-${ABI} - NAME "mbgl-node (ABI ${ABI})" - ) -endforeach() - -xcode_create_scheme( - TARGET mbgl-node.active - TYPE library - NAME "mbgl-node (Active ABI)" -) - -xcode_create_scheme( - TARGET mbgl-node.all - TYPE library - NAME "mbgl-node (All ABIs)" -) - -xcode_create_scheme( - TARGET mbgl-node.active - TYPE node - NAME "node tests (Active ABI)" - ARGS - "node_modules/.bin/tape platform/node/test/js/**/*.test.js" -) - -xcode_create_scheme( - TARGET mbgl-node.active - TYPE node - NAME "node render tests (Active ABI)" - ARGS - "-r esm" - "platform/node/test/render.test.js" - OPTIONAL_ARGS - "group" - "test" -) - -xcode_create_scheme( - TARGET mbgl-node.active - TYPE node - NAME "node query tests (Active ABI)" - ARGS - "-r esm" - "platform/node/test/query.test.js" - OPTIONAL_ARGS - "group" - "test" -) - -xcode_create_scheme( - TARGET mbgl-node.active - TYPE node - NAME "node expression tests (Active ABI)" - ARGS - "-r esm" - "platform/node/test/expression.test.js" - OPTIONAL_ARGS - "group" - "test" -) - -xcode_create_scheme( - TARGET mbgl-node.active - TYPE node - NAME "node-benchmark (Active ABI)" - ARGS - "-r esm" - "platform/node/test/benchmark.js" - OPTIONAL_ARGS - "group" - "test" -) diff --git a/cmake/node.xcscheme b/cmake/node.xcscheme deleted file mode 100644 index d873a3d615..0000000000 --- a/cmake/node.xcscheme +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Scheme - LastUpgradeVersion = "0810" - version = "1.3"> - <BuildAction - parallelizeBuildables = "YES" - buildImplicitDependencies = "YES"> - <BuildActionEntries> - <BuildActionEntry - buildForTesting = "YES" - buildForRunning = "YES" - buildForProfiling = "YES" - buildForArchiving = "YES" - buildForAnalyzing = "YES"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "${XCSCHEME_BLUEPRINT_ID}" - BuildableName = "${XCSCHEME_BUILDABLE_NAME}" - BlueprintName = "${XCSCHEME_BLUEPRINT_NAME}" - ReferencedContainer = "container:${XCSCHEME_CONTAINER}"> - </BuildableReference> - </BuildActionEntry> - </BuildActionEntries> - </BuildAction> - <TestAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> - <Testables> - </Testables> - <AdditionalOptions> - </AdditionalOptions> - </TestAction> - <LaunchAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - launchStyle = "0" - useCustomWorkingDirectory = "YES" - customWorkingDirectory = "${XCSCHEME_WORKING_DIRECTORY}" - ignoresPersistentStateOnLaunch = "NO" - debugDocumentVersioning = "YES" - debugServiceExtension = "internal" - allowLocationSimulation = "YES"> - <PathRunnable - runnableDebuggingMode = "0" - FilePath = "${XCSCHEME_NODE_EXECUTABLE}"> - </PathRunnable> - <MacroExpansion> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "${XCSCHEME_BLUEPRINT_ID}" - BuildableName = "${XCSCHEME_BUILDABLE_NAME}" - BlueprintName = "${XCSCHEME_BLUEPRINT_NAME}" - ReferencedContainer = "container:${XCSCHEME_CONTAINER}"> - </BuildableReference> - </MacroExpansion> - <CommandLineArguments>${XCSCHEME_COMMAND_LINE_ARGS} - </CommandLineArguments> - <EnvironmentVariables> - <EnvironmentVariable - key = "PATH" - value = "${XCSCHEME_NODE_PATH}:$PATH" - isEnabled = "YES"> - </EnvironmentVariable> - </EnvironmentVariables> - </LaunchAction> - <ProfileAction - buildConfiguration = "Release" - shouldUseLaunchSchemeArgsEnv = "YES" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - launchStyle = "0" - useCustomWorkingDirectory = "YES" - customWorkingDirectory = "${XCSCHEME_WORKING_DIRECTORY}" - ignoresPersistentStateOnLaunch = "NO" - debugServiceExtension = "internal" - allowLocationSimulation = "YES" - debugDocumentVersioning = "YES"> - <PathRunnable - runnableDebuggingMode = "0" - FilePath = "${XCSCHEME_NODE_EXECUTABLE}"> - </PathRunnable> - <MacroExpansion> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "${XCSCHEME_BLUEPRINT_ID}" - BuildableName = "${XCSCHEME_BUILDABLE_NAME}" - BlueprintName = "${XCSCHEME_BLUEPRINT_NAME}" - ReferencedContainer = "container:${XCSCHEME_CONTAINER}"> - </BuildableReference> - </MacroExpansion> - </ProfileAction> - <AnalyzeAction - buildConfiguration = "Debug"> - </AnalyzeAction> - <ArchiveAction - buildConfiguration = "Release" - revealArchiveInOrganizer = "YES"> - </ArchiveAction> -</Scheme> diff --git a/cmake/offline.cmake b/cmake/offline.cmake deleted file mode 100644 index 5a6d4e04cb..0000000000 --- a/cmake/offline.cmake +++ /dev/null @@ -1,35 +0,0 @@ -add_executable(mbgl-offline - bin/offline.cpp -) - -target_include_directories(mbgl-offline - PRIVATE platform/default/include -) - -target_link_libraries(mbgl-offline - PRIVATE mbgl-core - PRIVATE Mapbox::Base::Extras::args -) - -mbgl_platform_offline() - -create_source_groups(mbgl-offline) - -initialize_xcode_cxx_build_settings(mbgl-offline) - -set_target_properties(mbgl-offline PROPERTIES FOLDER "Executables") - -xcode_create_scheme( - TARGET mbgl-offline - OPTIONAL_ARGS - "--style=file.json" - "--north=37.2" - "--west=-122.8" - "--south=38.1" - "--east=-121.7" - "--minZoom=0.0" - "--maxZoom=15.0" - "--pixelRatio=1.0" - "--token=" - "--output=offline.db" -) diff --git a/cmake/render-test.cmake b/cmake/render-test.cmake deleted file mode 100644 index 87f9acefe6..0000000000 --- a/cmake/render-test.cmake +++ /dev/null @@ -1,64 +0,0 @@ -add_executable( - mbgl-render-test - expression-test/test_runner_common.cpp - expression-test/test_runner_common.hpp - platform/default/src/mbgl/render-test/main.cpp - render-test/file_source.cpp - render-test/file_source.hpp - render-test/allocation_index.cpp - render-test/allocation_index.hpp - render-test/filesystem.hpp - render-test/filesystem.hpp - render-test/include/mbgl/render_test.hpp - render-test/manifest_parser.cpp - render-test/manifest_parser.hpp - render-test/metadata.hpp - render-test/parser.cpp - render-test/parser.hpp - render-test/render_test.cpp - render-test/runner.cpp - render-test/runner.hpp -) - -if(APPLE) - target_link_libraries( - mbgl-render-test - PRIVATE mbgl-loop-darwin - ) -else() - target_link_libraries( - mbgl-render-test - PRIVATE mbgl-loop-uv - ) -endif() - -target_include_directories( - mbgl-render-test - PRIVATE src - PRIVATE platform/default/include - PRIVATE render-test -) - -target_include_directories( - mbgl-render-test - PUBLIC render-test/include - PUBLIC include -) - -target_link_libraries( - mbgl-render-test - PRIVATE - mbgl-core - mbgl-filesource - Mapbox::Base::Extras::args - Mapbox::Base::Extras::expected-lite - Mapbox::Base::Extras::filesystem - Mapbox::Base::pixelmatch-cpp - Mapbox::Base::Extras::rapidjson -) - -create_source_groups(mbgl-render-test) - -set_target_properties(mbgl-render-test PROPERTIES FOLDER "Executables") - -add_definitions(-DTEST_RUNNER_ROOT_PATH="${CMAKE_SOURCE_DIR}") diff --git a/cmake/render.cmake b/cmake/render.cmake deleted file mode 100644 index e9c6d89c8e..0000000000 --- a/cmake/render.cmake +++ /dev/null @@ -1,39 +0,0 @@ -add_executable(mbgl-render - bin/render.cpp -) - -target_include_directories(mbgl-render - PRIVATE platform/default/include -) - -target_link_libraries(mbgl-render - PRIVATE mbgl-core - PRIVATE Mapbox::Base::Extras::args -) - -mbgl_platform_render() - -create_source_groups(mbgl-render) - -initialize_xcode_cxx_build_settings(mbgl-render) - -set_target_properties(mbgl-render PROPERTIES FOLDER "Executables") - -xcode_create_scheme( - TARGET mbgl-render - OPTIONAL_ARGS - "--style=file.json" - "--lon=0" - "--lat=0" - "--zoom=0" - "--bearing=0" - "--pitch=0" - "--width=512" - "--height=512" - "--ratio=1" - "--token=" - "--debug" - "--output=out.png" - "--cache=cache.sqlite" - "--assets=." -) diff --git a/cmake/sqlite.cmake b/cmake/sqlite.cmake deleted file mode 100644 index cc579b22ac..0000000000 --- a/cmake/sqlite.cmake +++ /dev/null @@ -1,47 +0,0 @@ -add_vendor_target(sqlite STATIC) - -target_compile_definitions(sqlite - PRIVATE "-DVERSION=\"3.24.0\"" - PRIVATE "-DSTDC_HEADERS=int" - PRIVATE "-DHAVE_SYS_TYPES_H=1" - PRIVATE "-DHAVE_SYS_STAT_H=1" - PRIVATE "-DHAVE_STDLIB_H=1" - PRIVATE "-DHAVE_STRING_H=1" - PRIVATE "-DHAVE_MEMORY_H=1" - PRIVATE "-DHAVE_STRINGS_H=1" - PRIVATE "-DHAVE_INTTYPES_H=1" - PRIVATE "-DHAVE_STDINT_H=1" - PRIVATE "-DHAVE_UNISTD_H=1" - PRIVATE "-DHAVE_DLFCN_H=1" - PRIVATE "-DHAVE_FDATASYNC=1" - PRIVATE "-DHAVE_USLEEP=1" - PRIVATE "-DHAVE_LOCALTIME_R=1" - PRIVATE "-DHAVE_GMTIME_R=1" - PRIVATE "-DHAVE_DECL_STRERROR_R=1" - PRIVATE "-DHAVE_STRERROR_R=1" - PRIVATE "-DHAVE_ZLIB_H=1" - PRIVATE "-D_REENTRANT=1" - PRIVATE "-DSQLITE_THREADSAFE=1" - PRIVATE "-DSQLITE_HAVE_ZLIB" - - # These are disabled on purpose, since we're not using these features. - # PRIVATE "-DSQLITE_ENABLE_FTS5" - # PRIVATE "-DSQLITE_ENABLE_JSON1" - # PRIVATE "-DSQLITE_ENABLE_FTS3" - # PRIVATE "-DSQLITE_ENABLE_RTREE" -) - -target_compile_options(sqlite - PRIVATE "-Wno-int-conversion" - PRIVATE "-Wno-implicit-fallthrough" -) - -if(CMAKE_COMPILER_IS_GNUCXX) - if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0) - target_compile_options(sqlite PRIVATE "-Wno-cast-function-type") - else() - target_compile_options(sqlite PRIVATE "-Wno-bad-function-cast") - endif() -elseif(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang") - target_compile_options(sqlite PRIVATE "-Wno-cast-function-type") -endif() diff --git a/cmake/test.cmake b/cmake/test.cmake deleted file mode 100644 index 405552423c..0000000000 --- a/cmake/test.cmake +++ /dev/null @@ -1,51 +0,0 @@ -# scripts/generate-file-lists.js to change the source files for this target. -load_sources_list(MBGL_TEST_FILES test/test-files.json) -if (MBGL_TEST_TARGET_TYPE STREQUAL "library") - add_library(mbgl-test SHARED ${MBGL_TEST_FILES}) -else() - add_executable(mbgl-test ${MBGL_TEST_FILES}) -endif() - -# GCC 8+ trips over GTest's way of defining Test functions -target_compile_options(mbgl-test PRIVATE -Wno-shadow) - -if(NOT WITH_NODEJS) - target_compile_definitions(mbgl-test PRIVATE "-DTEST_HAS_SERVER=0") -endif() - -set_source_files_properties(test/src/mbgl/test/util.cpp PROPERTIES COMPILE_FLAGS -DNODE_EXECUTABLE="${NodeJS_EXECUTABLE}") - -target_include_directories(mbgl-test - PRIVATE src - PRIVATE test/include - PRIVATE test/src - PRIVATE platform/default/include -) - -target_link_libraries(mbgl-test PRIVATE - mbgl-vendor-googletest - Mapbox::Base::Extras::args - mbgl-core - mbgl-vendor-shelf-pack-cpp - mbgl-vendor-unique_resource - Mapbox::Base::pixelmatch-cpp -) - -mbgl_platform_test() - -create_source_groups(mbgl-test) - -initialize_xcode_cxx_build_settings(mbgl-test) - -set_target_properties(mbgl-test PROPERTIES FOLDER "Executables") - -xcode_create_scheme( - TARGET mbgl-test - OPTIONAL_ARGS - "--gtest_filter=Category.*" - "--gtest_repeat=0" - "--gtest_shuffle=0" - "--gtest_break_on_failure=0" - "--gtest_throw_on_failure=0" - "--gtest_catch_exceptions=0" - ) diff --git a/cmake/vendor.cmake b/cmake/vendor.cmake deleted file mode 100644 index e87a2e5c41..0000000000 --- a/cmake/vendor.cmake +++ /dev/null @@ -1,28 +0,0 @@ -execute_process( - COMMAND git submodule update --init . - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/vendor -) - -include(${CMAKE_SOURCE_DIR}/vendor/benchmark.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/boost.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/cheap-ruler-cpp.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/earcut.hpp.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/eternal.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/geojson-vt-cpp.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/googletest.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/icu.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/nunicode.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/polylabel.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/protozero.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/shelf-pack-cpp.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/unique_resource.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/vector-tile.cmake) -include(${CMAKE_SOURCE_DIR}/vendor/wagyu.cmake) - -if(NOT TARGET mapbox-base) - add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/vendor/mapbox-base ${CMAKE_BINARY_DIR}/.build-mapbox-gl-native-mapbox-base EXCLUDE_FROM_ALL) -endif() - -if(MBGL_PLATFORM STREQUAL "linux" OR MBGL_PLATFORM STREQUAL "macos") - include(${CMAKE_SOURCE_DIR}/vendor/glfw.cmake) -endif() diff --git a/cmake/xcode.cmake b/cmake/xcode.cmake deleted file mode 100644 index 3537009330..0000000000 --- a/cmake/xcode.cmake +++ /dev/null @@ -1,75 +0,0 @@ -function(get_target_filename OUTPUT TARGET) - get_target_property(_TYPE "${TARGET}" TYPE) - get_target_property(_PREFIX "${TARGET}" PREFIX) - if(NOT _PREFIX AND NOT _PREFIX STREQUAL "") - set(_PREFIX "${CMAKE_${_TYPE}_PREFIX}") - endif() - get_target_property(_BASENAME "${TARGET}" OUTPUT_NAME) - if(NOT _BASENAME) - get_target_property(_BASENAME "${TARGET}" NAME) - endif() - get_target_property(_SUFFIX "${TARGET}" SUFFIX) - if(NOT _SUFFIX AND NOT _SUFFIX STREQUAL "") - set(_SUFFIX "${CMAKE_${_TYPE}_SUFFIX}") - endif() - set(${OUTPUT} "${_PREFIX}${_BASENAME}${_SUFFIX}" PARENT_SCOPE) -endfunction() - -function(xcode_create_scheme) - if (NOT CMAKE_GENERATOR STREQUAL "Xcode") - return() - endif() - - cmake_parse_arguments(XCSCHEME "" "TARGET;TYPE;NAME" "ARGS;OPTIONAL_ARGS" ${ARGN}) - - if(XCSCHEME_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "xcode_create_scheme() called with unrecognized arguments: ${XCSCHEME_UNPARSED_ARGUMENTS}") - endif() - - if(NOT XCSCHEME_TARGET) - message(FATAL_ERROR "xcode_create_scheme() called without required argument TARGET") - endif() - - if(NOT XCSCHEME_TYPE) - get_target_property(_TYPE "${XCSCHEME_TARGET}" TYPE) - if (_TYPE MATCHES "^.*_LIBRARY$") - set(XCSCHEME_TYPE "library") - elseif(_TYPE STREQUAL "EXECUTABLE") - set(XCSCHEME_TYPE "executable") - else() - message(FATAL_ERROR "xcode_create_scheme() could not determine type of ${XCSCHEME_TARGET}") - endif() - endif() - - if(NOT XCSCHEME_NAME) - set(XCSCHEME_NAME "${XCSCHEME_TARGET}") - endif() - - set(XCODEPROJ_PATH "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.xcodeproj") - set(XCSCHEME_OUTPUT_FILE "${XCODEPROJ_PATH}/xcshareddata/xcschemes/${XCSCHEME_NAME}.xcscheme") - - # Prevent overwriting of the scheme file on every CMake rerun. - if (EXISTS "${XCSCHEME_OUTPUT_FILE}") - return() - endif() - - file(RELATIVE_PATH XCSCHEME_CONTAINER "${CMAKE_SOURCE_DIR}" "${XCODEPROJ_PATH}") - string(RANDOM LENGTH 24 ALPHABET "0123456789ABCDEF" XCSCHEME_BLUEPRINT_ID) - get_target_filename(XCSCHEME_BUILDABLE_NAME "${XCSCHEME_TARGET}") - set(XCSCHEME_BLUEPRINT_NAME "${XCSCHEME_TARGET}") - set(XCSCHEME_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") - set(XCSCHEME_NODE_EXECUTABLE "${NodeJS_EXECUTABLE}") - get_filename_component(XCSCHEME_NODE_PATH "${NodeJS_EXECUTABLE}" DIRECTORY) - - set(XCSCHEME_COMMAND_LINE_ARGS "") - foreach(_ARG IN LISTS XCSCHEME_ARGS) - set(XCSCHEME_COMMAND_LINE_ARGS "${XCSCHEME_COMMAND_LINE_ARGS}\n <CommandLineArgument\n argument = \"${_ARG}\"\n isEnabled = \"YES\">\n </CommandLineArgument>") - endforeach() - foreach(_ARG IN LISTS XCSCHEME_OPTIONAL_ARGS) - set(XCSCHEME_COMMAND_LINE_ARGS "${XCSCHEME_COMMAND_LINE_ARGS}\n <CommandLineArgument\n argument = \"${_ARG}\"\n isEnabled = \"NO\">\n </CommandLineArgument>") - endforeach() - - configure_file( - "${CMAKE_SOURCE_DIR}/cmake/${XCSCHEME_TYPE}.xcscheme" - "${XCSCHEME_OUTPUT_FILE}") -endfunction() diff --git a/expression-test/CMakeLists.txt b/expression-test/CMakeLists.txt new file mode 100644 index 0000000000..e9e5847d41 --- /dev/null +++ b/expression-test/CMakeLists.txt @@ -0,0 +1,42 @@ +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 1950a1144a..0000000000 --- a/next/CMakeLists.txt +++ /dev/null @@ -1,991 +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) - -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> - $<$<COMPILE_LANGUAGE:CXX>:-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.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/gl/renderable_resource.hpp - ${MBGL_ROOT}/include/mbgl/gl/renderer_backend.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/background_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/circle_layer_factory.hpp - ${MBGL_ROOT}/include/mbgl/layermanager/custom_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/gl_functions.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/custom_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/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/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/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/layermanager/background_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/circle_layer_factory.cpp - ${MBGL_ROOT}/src/mbgl/layermanager/custom_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/gl_functions.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/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 - ${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_custom_layer.cpp - ${MBGL_ROOT}/src/mbgl/renderer/layers/render_custom_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/custom_layer.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/custom_layer_impl.cpp - ${MBGL_ROOT}/src/mbgl/style/layers/custom_layer_impl.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_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(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 454e11bcd2..0000000000 --- a/next/platform/android/android.cmake +++ /dev/null @@ -1,461 +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 - ${MBGL_ROOT}/platform/android/src/test/http_file_source_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 -) - -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 29cf4a5ca0..0000000000 --- a/next/platform/ios/ios.cmake +++ /dev/null @@ -1,187 +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") - 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 - ) - - 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 2b28b7e1e5..0000000000 --- a/next/platform/macos/macos.cmake +++ /dev/null @@ -1,203 +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_compile_definitions( - mbgl-test-runner - PRIVATE WORK_DIRECTORY=${MBGL_ROOT} -) - -target_link_libraries( - mbgl-test-runner - PRIVATE mbgl-compiler-options mbgl-test -) - -add_executable( - mbgl-benchmark-runner - ${MBGL_ROOT}/platform/default/src/mbgl/benchmark/main.cpp -) - -target_link_libraries( - mbgl-benchmark-runner - PRIVATE mbgl-compiler-options 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 74cea29efb..0000000000 --- a/next/platform/qt/qt.cmake +++ /dev/null @@ -1,198 +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_compile_definitions( - mbgl-test-runner - PRIVATE WORK_DIRECTORY=${MBGL_ROOT} -) - -target_link_libraries( - mbgl-test-runner - PRIVATE - Qt5::Gui - Qt5::OpenGL - mbgl-compiler-options - mbgl-test - pthread -) - -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 cb0519ade9..0000000000 --- a/next/test/CMakeLists.txt +++ /dev/null @@ -1,169 +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/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 -) - -find_program(MBGL_TEST_NODEJS NAMES nodejs node) -find_program(MBGL_TEST_NPM NAMES npm) - -if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL Android OR NOT MBGL_TEST_NODEJS OR NOT MBGL_TEST_NPM) - 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) -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 NODE_EXECUTABLE=${MBGL_TEST_NODEJS} 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..cab2d2b769 --- /dev/null +++ b/platform/android/android.cmake @@ -0,0 +1,461 @@ +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 + ${PROJECT_SOURCE_DIR}/platform/android/src/test/http_file_source_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 +) + +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/config.cmake b/platform/ios/config.cmake deleted file mode 100644 index 7f15355876..0000000000 --- a/platform/ios/config.cmake +++ /dev/null @@ -1,53 +0,0 @@ -set(USE_GLES2 ON) - -macro(initialize_ios_target target) - set_xcode_property(${target} IPHONEOS_DEPLOYMENT_TARGET "9.0") - set_xcode_property(${target} ENABLE_BITCODE "YES") - set_xcode_property(${target} BITCODE_GENERATION_MODE bitcode) - set_xcode_property(${target} ONLY_ACTIVE_ARCH $<$<CONFIG:Debug>:YES>) - - target_compile_options(${target} - PRIVATE -fobjc-arc - ) -endmacro() - - -include(cmake/loop-darwin.cmake) -initialize_ios_target(mbgl-vendor-icu) -initialize_ios_target(mbgl-loop-darwin) - - -macro(mbgl_platform_core) - initialize_ios_target(mbgl-core) - - target_sources_from_file(mbgl-core PRIVATE platform/ios/core-files.json) - - target_include_directories(mbgl-core - PUBLIC platform/darwin/include - PUBLIC platform/default/include - ) - - target_link_libraries(mbgl-core - PUBLIC "-lz" - PUBLIC "-framework Foundation" - PUBLIC "-framework CoreText" - PUBLIC "-framework CoreGraphics" - PUBLIC "-framework OpenGLES" - PUBLIC "-framework ImageIO" - PUBLIC "-framework MobileCoreServices" - PUBLIC "-framework SystemConfiguration" - ) -endmacro() - - -macro(mbgl_filesource) - initialize_ios_target(mbgl-filesource) - - # Modify platform/darwin/filesource-files.json to change the source files for this target. - target_sources_from_file(mbgl-filesource PRIVATE platform/darwin/filesource-files.json) - - target_link_libraries(mbgl-filesource - PUBLIC "-lsqlite3" - PUBLIC "-framework Foundation" - ) -endmacro() diff --git a/platform/ios/ios.cmake b/platform/ios/ios.cmake new file mode 100644 index 0000000000..993384b5fc --- /dev/null +++ b/platform/ios/ios.cmake @@ -0,0 +1,189 @@ +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") + 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) + 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 + ) + + 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/ios/toolchain.cmake b/platform/ios/toolchain.cmake deleted file mode 100644 index 8299d624d0..0000000000 --- a/platform/ios/toolchain.cmake +++ /dev/null @@ -1,129 +0,0 @@ -# From https://github.com/OtherLevels/ios-cmake -# This file is based off of the Platform/Darwin.cmake and Platform/UnixPaths.cmake -# files which are included with CMake 2.8.4 -# It has been altered for iOS development - -# Options: -# -# IOS_PLATFORM = OS (default) or SIMULATOR or SIMULATOR64 -# This decides if SDKS will be selected from the iPhoneOS.platform or iPhoneSimulator.platform folders -# OS - the default, used to build for iPhone and iPad physical devices, which have an arm arch. -# SIMULATOR - used to build for the Simulator platforms, which have an x86 arch. -# -# CMAKE_IOS_DEVELOPER_ROOT = automatic(default) or /path/to/platform/Developer folder -# By default this location is automatcially chosen based on the IOS_PLATFORM value above. -# If set manually, it will override the default location and force the user of a particular Developer Platform -# -# CMAKE_IOS_SDK_ROOT = automatic(default) or /path/to/platform/Developer/SDKs/SDK folder -# By default this location is automatcially chosen based on the CMAKE_IOS_DEVELOPER_ROOT value. -# In this case it will always be the most up-to-date SDK found in the CMAKE_IOS_DEVELOPER_ROOT path. -# If set manually, this will force the use of a specific SDK version - -# Macros: -# -# set_xcode_property (TARGET XCODE_PROPERTY XCODE_VALUE) -# A convenience macro for setting xcode specific properties on targets -# example: set_xcode_property (myioslib IPHONEOS_DEPLOYMENT_TARGET "3.1") -# -# find_host_package (PROGRAM ARGS) -# A macro used to find executable programs on the host system, not within the iOS environment. -# Thanks to the android-cmake project for providing the command - -# Standard settings -set (CMAKE_SYSTEM_NAME Darwin) -set (CMAKE_SYSTEM_VERSION 1) -set (UNIX True) -set (APPLE True) -set (IOS True) - -# Required as of cmake 2.8.10 -set (CMAKE_OSX_DEPLOYMENT_TARGET "" CACHE STRING "Force unset of the deployment target for iOS" FORCE) - -# Determine the cmake host system version so we know where to find the iOS SDKs -find_program (CMAKE_UNAME uname /bin /usr/bin /usr/local/bin) -if (CMAKE_UNAME) - exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION) - string (REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_HOST_SYSTEM_VERSION}") -endif (CMAKE_UNAME) - -# Force the compilers to gcc for iOS -include (CMakeForceCompiler) -set(XCODE_TOOLCHAIN /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain) -set(XCODE_BIN ${XCODE_TOOLCHAIN}/usr/bin) -set(CMAKE_C_COMPILER ${XCODE_BIN}/clang) -set(CMAKE_CXX_COMPILER ${XCODE_BIN}/clang++) -set(CMAKE_FIND_ROOT_PATH ${XCODE_TOOLCHAIN_ROOT}) -set(CMAKE_AR ar CACHE FILEPATH "" FORCE) - -# Skip the platform compiler checks for cross compiling -set (CMAKE_CXX_COMPILER_WORKS TRUE) -set (CMAKE_C_COMPILER_WORKS TRUE) - -# All iOS/Darwin specific settings - some may be redundant -set (CMAKE_SHARED_LIBRARY_PREFIX "lib") -set (CMAKE_SHARED_LIBRARY_SUFFIX ".dylib") -set (CMAKE_SHARED_MODULE_PREFIX "lib") -set (CMAKE_SHARED_MODULE_SUFFIX ".so") -set (CMAKE_MODULE_EXISTS 1) -set (CMAKE_DL_LIBS "") - -set (CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ") -set (CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ") -set (CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}") -set (CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}") - - -# This was required for Other C++ Flags to be set for enabling bitcode in a static lib. -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fembed-bitcode") - - -set (CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}") -set (CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}") - -set (CMAKE_PLATFORM_HAS_INSTALLNAME 1) -set (CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -headerpad_max_install_names") -set (CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -headerpad_max_install_names") -set (CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,") -set (CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,") -set (CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a") - - -# Point to the latest SDK. -set (CMAKE_OSX_SYSROOT "iphoneos" CACHE STRING "Sysroot used for iOS support") - - - -set (CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD)" CACHE STRING "Build architecture for iOS") - -# Set the find root to the iOS developer roots and to user defined paths -set (CMAKE_FIND_ROOT_PATH ${CMAKE_IOS_DEVELOPER_ROOT} ${CMAKE_IOS_SDK_ROOT} ${CMAKE_PREFIX_PATH} CACHE STRING "iOS find search path root") - -# default to searching for frameworks first -set (CMAKE_FIND_FRAMEWORK FIRST) - -# set up the default search directories for frameworks -set (CMAKE_SYSTEM_FRAMEWORK_PATH - ${CMAKE_IOS_SDK_ROOT}/System/Library/Frameworks - ${CMAKE_IOS_SDK_ROOT}/System/Library/PrivateFrameworks - ${CMAKE_IOS_SDK_ROOT}/Developer/Library/Frameworks -) - -# only search the iOS sdks, not the remainder of the host filesystem -set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) -set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) - -# This macro lets you find executable programs on the host system -macro (find_host_package) - set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) - set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER) - set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER) - set (IOS FALSE) - - find_package(${ARGN}) - - set (IOS TRUE) - set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) - set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) - set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -endmacro (find_host_package) diff --git a/platform/linux/config.cmake b/platform/linux/config.cmake deleted file mode 100644 index 75070ad7d6..0000000000 --- a/platform/linux/config.cmake +++ /dev/null @@ -1,188 +0,0 @@ -include(cmake/sqlite.cmake) - -add_library(mbgl-loop-uv STATIC - platform/default/src/mbgl/util/async_task.cpp - platform/default/src/mbgl/util/run_loop.cpp - platform/default/src/mbgl/util/timer.cpp -) - -target_include_directories(mbgl-loop-uv - PRIVATE include - PRIVATE src -) - -target_link_libraries(mbgl-loop-uv - PRIVATE mbgl-core -) - -target_add_mason_package(mbgl-loop-uv PUBLIC libuv) - -macro(mbgl_platform_core) - if(WITH_OSMESA) - target_sources(mbgl-core - PRIVATE platform/default/src/mbgl/gl/headless_backend_osmesa.cpp - ) - target_link_libraries(mbgl-core - PUBLIC -lOSMesa - ) - elseif(WITH_EGL) - target_sources(mbgl-core - PRIVATE platform/linux/src/headless_backend_egl.cpp - ) - target_add_mason_package(mbgl-core PUBLIC swiftshader) - else() - target_sources(mbgl-core - PRIVATE platform/linux/src/headless_backend_glx.cpp - ) - target_link_libraries(mbgl-core - PUBLIC -lGL - PUBLIC -lX11 - ) - endif() - - target_sources(mbgl-core - # GL - PRIVATE platform/linux/src/gl_functions.cpp - - # Misc - PRIVATE platform/default/src/mbgl/i18n/collator.cpp - PRIVATE platform/default/src/mbgl/i18n/number_format.cpp - PRIVATE platform/default/src/mbgl/text/bidi.cpp - PRIVATE platform/default/src/mbgl/text/local_glyph_rasterizer.cpp - PRIVATE platform/default/src/mbgl/layermanager/layer_manager.cpp - PRIVATE platform/default/src/mbgl/util/compression.cpp - PRIVATE platform/default/src/mbgl/util/logging_stderr.cpp - PRIVATE platform/default/src/mbgl/util/monotonic_timer.cpp - PRIVATE platform/default/src/mbgl/util/string_stdlib.cpp - PRIVATE platform/default/src/mbgl/util/thread.cpp - PRIVATE platform/default/src/mbgl/util/thread_local.cpp - PRIVATE platform/default/src/mbgl/util/utf.cpp - - # Image handling - PRIVATE platform/default/src/mbgl/util/image.cpp - PRIVATE platform/default/src/mbgl/util/jpeg_reader.cpp - PRIVATE platform/default/src/mbgl/util/png_writer.cpp - PRIVATE platform/default/src/mbgl/util/png_reader.cpp - - # Headless view - PRIVATE platform/default/src/mbgl/gfx/headless_frontend.cpp - PRIVATE platform/default/include/mbgl/gfx/headless_frontend.hpp - PRIVATE platform/default/src/mbgl/gfx/headless_backend.cpp - PRIVATE platform/default/include/mbgl/gfx/headless_backend.hpp - PRIVATE platform/default/src/mbgl/gl/headless_backend.cpp - PRIVATE platform/default/include/mbgl/gl/headless_backend.hpp - - # Snapshotting - PRIVATE platform/default/src/mbgl/map/map_snapshotter.cpp - PRIVATE platform/default/include/mbgl/map/map_snapshotter.hpp - ) - - target_include_directories(mbgl-core - PRIVATE platform/default/include - PRIVATE platform/linux - ) - - target_add_mason_package(mbgl-core PUBLIC libpng) - target_add_mason_package(mbgl-core PUBLIC libjpeg-turbo) - target_add_mason_package(mbgl-core PRIVATE icu) - - # Ignore warning caused by ICU header unistr.h in some CI environments - set_source_files_properties(platform/default/src/mbgl/i18n/number_format.cpp PROPERTIES COMPILE_FLAGS -Wno-error=shadow) - - # Link all ICU libraries (by default only libicuuc is linked) - find_library(LIBICUI18N NAMES icui18n HINTS ${MASON_PACKAGE_icu_INCLUDE_DIRS}/../lib) - find_library(LIBICUUC NAMES icuuc HINTS ${MASON_PACKAGE_icu_INCLUDE_DIRS}/../lib) - find_library(LIBICUDATA NAMES icudata HINTS ${MASON_PACKAGE_icu_INCLUDE_DIRS}/../lib) - - target_link_libraries(mbgl-core - PRIVATE ${LIBICUI18N} - PRIVATE ${LIBICUUC} - PRIVATE ${LIBICUDATA} - PRIVATE mbgl-vendor-nunicode - PUBLIC -lz - ) -endmacro() - - -macro(mbgl_filesource) - # Modify platform/linux/filesource-files.json to change the source files for this target. - target_sources_from_file(mbgl-filesource PRIVATE platform/linux/filesource-files.json) - - # We're not referencing any cURL symbols since we're dynamically loading it. However, we want to - # link the library anyway since we're definitely going to load it on startup anyway. - target_link_libraries(mbgl-filesource - PUBLIC sqlite - PUBLIC -Wl,--no-as-needed -lcurl -Wl,--as-needed - ) -endmacro() - - -macro(mbgl_platform_glfw) - target_link_libraries(mbgl-glfw - PRIVATE mbgl-filesource - PRIVATE mbgl-loop-uv - ) -endmacro() - - -macro(mbgl_platform_render) - target_link_libraries(mbgl-render - PRIVATE mbgl-filesource - PRIVATE mbgl-loop-uv - ) -endmacro() - - -macro(mbgl_platform_offline) - target_link_libraries(mbgl-offline - PRIVATE mbgl-filesource - PRIVATE mbgl-loop-uv - ) -endmacro() - - -macro(mbgl_platform_test) - target_sources(mbgl-test - PRIVATE platform/default/src/mbgl/test/main.cpp - ) - - target_include_directories(mbgl-test - PRIVATE platform/linux - ) - - set_source_files_properties( - platform/default/src/mbgl/test/main.cpp - PROPERTIES - COMPILE_FLAGS -DWORK_DIRECTORY="${CMAKE_SOURCE_DIR}" - ) - - target_link_libraries(mbgl-test - PRIVATE mbgl-filesource - PRIVATE mbgl-loop-uv - ) -endmacro() - - -macro(mbgl_platform_benchmark) - target_sources(mbgl-benchmark - PRIVATE platform/default/src/mbgl/benchmark/main.cpp - ) - - set_source_files_properties( - platform/default/src/mbgl/benchmark/main.cpp - PROPERTIES - COMPILE_FLAGS -DWORK_DIRECTORY="${CMAKE_SOURCE_DIR}" - ) - - target_link_libraries(mbgl-benchmark - PRIVATE mbgl-filesource - PRIVATE mbgl-loop-uv - ) -endmacro() - - -macro(mbgl_platform_node) - target_link_libraries(mbgl-node INTERFACE - -Wl,--version-script=${CMAKE_SOURCE_DIR}/platform/node/version-script - ) -endmacro() 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/config.cmake b/platform/macos/config.cmake deleted file mode 100644 index 28c3610634..0000000000 --- a/platform/macos/config.cmake +++ /dev/null @@ -1,132 +0,0 @@ -include(cmake/loop-darwin.cmake) - -macro(mbgl_platform_core) - target_sources_from_file(mbgl-core PRIVATE platform/macos/core-files.json) - - if(WITH_EGL) - target_sources(mbgl-core - PRIVATE platform/linux/src/headless_backend_egl.cpp - ) - target_add_mason_package(mbgl-core PUBLIC swiftshader) - else() - target_sources(mbgl-core - PRIVATE platform/darwin/src/headless_backend_cgl.mm - ) - target_link_libraries(mbgl-core - PUBLIC "-framework OpenGL" - ) - endif() - - target_compile_options(mbgl-core - PRIVATE -fobjc-arc - ) - - target_include_directories(mbgl-core - PUBLIC platform/darwin/include - PUBLIC platform/default/include - ) - - target_link_libraries(mbgl-core - PUBLIC "-lz" - PUBLIC "-framework Foundation" - PUBLIC "-framework CoreText" - PUBLIC "-framework CoreGraphics" - PUBLIC "-framework ImageIO" - PUBLIC "-framework CoreServices" - PUBLIC "-framework SystemConfiguration" - ) -endmacro() - - -macro(mbgl_filesource) - # Modify platform/darwin/filesource-files.json to change the source files for this target. - target_sources_from_file(mbgl-filesource PRIVATE platform/darwin/filesource-files.json) - - target_compile_options(mbgl-filesource - PRIVATE -fobjc-arc - ) - - target_link_libraries(mbgl-filesource - PUBLIC "-lsqlite3" - PUBLIC "-framework Foundation" - ) -endmacro() - - -macro(mbgl_platform_glfw) - target_link_libraries(mbgl-glfw - PRIVATE mbgl-filesource - PRIVATE mbgl-loop-darwin - ) -endmacro() - - -macro(mbgl_platform_render) - target_link_libraries(mbgl-render - PRIVATE mbgl-filesource - PRIVATE mbgl-loop-darwin - ) -endmacro() - - -macro(mbgl_platform_offline) - target_sources(mbgl-offline - PRIVATE platform/default/src/mbgl/layermanager/layer_manager.cpp - ) - - target_link_libraries(mbgl-offline - PRIVATE mbgl-filesource - PRIVATE mbgl-loop-darwin - ) -endmacro() - - -macro(mbgl_platform_test) - target_sources(mbgl-test - PRIVATE platform/default/src/mbgl/layermanager/layer_manager.cpp - PRIVATE platform/default/src/mbgl/test/main.cpp - ) - - target_include_directories(mbgl-test - PRIVATE platform/macos - ) - - set_source_files_properties( - platform/default/src/mbgl/test/main.cpp - PROPERTIES - COMPILE_FLAGS -DWORK_DIRECTORY="${CMAKE_SOURCE_DIR}" - ) - - target_link_libraries(mbgl-test - PRIVATE mbgl-filesource - PRIVATE mbgl-loop-darwin - ) -endmacro() - -macro(mbgl_platform_benchmark) - target_sources(mbgl-benchmark - PRIVATE platform/default/src/mbgl/layermanager/layer_manager.cpp - PRIVATE platform/default/src/mbgl/benchmark/main.cpp - ) - - set_source_files_properties( - platform/default/src/mbgl/benchmark/main.cpp - PROPERTIES - COMPILE_FLAGS -DWORK_DIRECTORY="${CMAKE_SOURCE_DIR}" - ) - - target_link_libraries(mbgl-benchmark - PRIVATE mbgl-filesource - PRIVATE mbgl-loop-darwin - ) -endmacro() - -macro(mbgl_platform_node) - target_sources(mbgl-core - PRIVATE platform/default/src/mbgl/layermanager/layer_manager.cpp - ) - target_link_libraries(mbgl-node INTERFACE - -exported_symbols_list ${CMAKE_SOURCE_DIR}/platform/node/symbol-list - -dead_strip - ) -endmacro() diff --git a/platform/macos/macos.cmake b/platform/macos/macos.cmake new file mode 100644 index 0000000000..03d903b1ed --- /dev/null +++ b/platform/macos/macos.cmake @@ -0,0 +1,204 @@ +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_compile_definitions( + mbgl-test-runner + PRIVATE WORK_DIRECTORY=${PROJECT_SOURCE_DIR} +) + +target_link_libraries( + mbgl-test-runner + PRIVATE mbgl-compiler-options mbgl-test +) + +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 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..0d2cf81b01 --- /dev/null +++ b/platform/qt/qt.cmake @@ -0,0 +1,198 @@ +# 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_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 + mbgl-test + pthread +) + +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/scripts/standalone.cmake b/scripts/standalone.cmake deleted file mode 100644 index b8bcbfa03f..0000000000 --- a/scripts/standalone.cmake +++ /dev/null @@ -1,18 +0,0 @@ -include(cmake/mason.cmake) - -# include once for every platform to get all dependency defines -set(MBGL_PLATFORM "android") -include(cmake/mason-dependencies.cmake) -set(MBGL_PLATFORM "ios") -include(cmake/mason-dependencies.cmake) - -get_cmake_property(_VARS VARIABLES) -foreach (_VAR ${_VARS}) - if (_VAR MATCHES "^MASON_PACKAGE_.+_NAME$") - set(_PACKAGE "${${_VAR}}") - if (MASON_PACKAGE_${_PACKAGE}_HEADER_ONLY) - file(RELATIVE_PATH _PREFIX "${CMAKE_CURRENT_LIST_DIR}/.." "${MASON_PACKAGE_${_PACKAGE}_PREFIX}") - message("${_PACKAGE} ${_PREFIX} ${MASON_PACKAGE_${_PACKAGE}_VERSION}") - endif() - endif() -endforeach() diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000000..f28fa7ac7a --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,169 @@ +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/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 +) + +find_program(MBGL_TEST_NODEJS NAMES nodejs node) +find_program(MBGL_TEST_NPM NAMES npm) + +if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL Android OR NOT MBGL_TEST_NODEJS OR NOT MBGL_TEST_NPM) + 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) +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 NODE_EXECUTABLE=${MBGL_TEST_NODEJS} 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 9f915bbbd0..eb97eaa5bb 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 { |