From 7ae6ddc3ff60482d67c9c491e945ee3717e45015 Mon Sep 17 00:00:00 2001 From: "Thiago Marcos P. Santos" Date: Fri, 2 Nov 2018 20:37:17 +0200 Subject: wip --- CMakeLists.txt | 14 +- cmake/core.cmake | 44 --- include/mbgl/util/default_thread_pool.hpp | 27 ++ include/mbgl/util/shared_thread_pool.hpp | 9 + platform/android/config.cmake | 1 - platform/default/mbgl/util/default_thread_pool.hpp | 27 -- platform/default/mbgl/util/shared_thread_pool.hpp | 9 - platform/ios/config.cmake | 1 - platform/linux/config.cmake | 1 - platform/macos/config.cmake | 1 - src/CMakeLists.txt | 362 +++++++++++++++++++++ 11 files changed, 399 insertions(+), 97 deletions(-) delete mode 100644 cmake/core.cmake create mode 100644 include/mbgl/util/default_thread_pool.hpp create mode 100644 include/mbgl/util/shared_thread_pool.hpp delete mode 100644 platform/default/mbgl/util/default_thread_pool.hpp delete mode 100644 platform/default/mbgl/util/shared_thread_pool.hpp create mode 100644 src/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index a48e2c2b01..f54ebef63e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,18 +57,6 @@ 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 ) -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) @@ -167,7 +155,7 @@ if (COMMAND mbgl_filesource) include(cmake/filesource.cmake) endif() -include(cmake/core.cmake) +add_subdirectory(src) if(COMMAND mbgl_platform_test) include(cmake/test.cmake) diff --git a/cmake/core.cmake b/cmake/core.cmake deleted file mode 100644 index c5961cd904..0000000000 --- a/cmake/core.cmake +++ /dev/null @@ -1,44 +0,0 @@ -# Modify cmake/core-files.txt to change the source files for this target. -load_sources_list(MBGL_CORE_FILES cmake/core-files.txt) -add_library(mbgl-core STATIC ${MBGL_CORE_FILES}) - -target_include_directories(mbgl-core - PUBLIC include - PRIVATE src -) - -target_link_libraries(mbgl-core PRIVATE - earcut.hpp - expected - geojson-vt-cpp - kdbush.hpp - shelf-pack-cpp - supercluster.hpp - unique_resource - wagyu -) - -# FIXME: We should not leak these many -# libraries in our public interface. -target_link_libraries(mbgl-core PUBLIC - boost - geojson.hpp - geometry.hpp - icu - optional - polylabel - protozero - rapidjson - variant - 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/include/mbgl/util/default_thread_pool.hpp b/include/mbgl/util/default_thread_pool.hpp new file mode 100644 index 0000000000..a14d16d771 --- /dev/null +++ b/include/mbgl/util/default_thread_pool.hpp @@ -0,0 +1,27 @@ +#pragma once + +#include + +#include +#include +#include +#include + +namespace mbgl { + +class ThreadPool : public Scheduler { +public: + ThreadPool(std::size_t count); + ~ThreadPool() override; + + void schedule(std::weak_ptr) override; + +private: + std::vector threads; + std::queue> queue; + std::mutex mutex; + std::condition_variable cv; + bool terminate { false }; +}; + +} // namespace mbgl diff --git a/include/mbgl/util/shared_thread_pool.hpp b/include/mbgl/util/shared_thread_pool.hpp new file mode 100644 index 0000000000..04a3cb58d5 --- /dev/null +++ b/include/mbgl/util/shared_thread_pool.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include + +namespace mbgl { + +std::shared_ptr sharedThreadPool(); + +} // namespace mbgl diff --git a/platform/android/config.cmake b/platform/android/config.cmake index 0e10e2af10..56a5d1a319 100644 --- a/platform/android/config.cmake +++ b/platform/android/config.cmake @@ -52,7 +52,6 @@ macro(mbgl_platform_core) PUBLIC -lGLESv2 PUBLIC -lstdc++ PUBLIC -latomic - PUBLIC -lz ) endmacro() diff --git a/platform/default/mbgl/util/default_thread_pool.hpp b/platform/default/mbgl/util/default_thread_pool.hpp deleted file mode 100644 index a14d16d771..0000000000 --- a/platform/default/mbgl/util/default_thread_pool.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include - -#include -#include -#include -#include - -namespace mbgl { - -class ThreadPool : public Scheduler { -public: - ThreadPool(std::size_t count); - ~ThreadPool() override; - - void schedule(std::weak_ptr) override; - -private: - std::vector threads; - std::queue> queue; - std::mutex mutex; - std::condition_variable cv; - bool terminate { false }; -}; - -} // namespace mbgl diff --git a/platform/default/mbgl/util/shared_thread_pool.hpp b/platform/default/mbgl/util/shared_thread_pool.hpp deleted file mode 100644 index 04a3cb58d5..0000000000 --- a/platform/default/mbgl/util/shared_thread_pool.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include - -namespace mbgl { - -std::shared_ptr sharedThreadPool(); - -} // namespace mbgl diff --git a/platform/ios/config.cmake b/platform/ios/config.cmake index 320ef7e73b..9a2e7e98ab 100644 --- a/platform/ios/config.cmake +++ b/platform/ios/config.cmake @@ -66,7 +66,6 @@ macro(mbgl_platform_core) ) target_link_libraries(mbgl-core - PUBLIC "-lz" PUBLIC "-framework Foundation" PUBLIC "-framework CoreText" PUBLIC "-framework CoreGraphics" diff --git a/platform/linux/config.cmake b/platform/linux/config.cmake index cfbf4ef8a2..3a0aa09240 100644 --- a/platform/linux/config.cmake +++ b/platform/linux/config.cmake @@ -86,7 +86,6 @@ macro(mbgl_platform_core) target_link_libraries(mbgl-core PRIVATE nunicode PRIVATE icu - PUBLIC -lz ) if(WITH_CXX11ABI) diff --git a/platform/macos/config.cmake b/platform/macos/config.cmake index 3b5b2a8529..616846b709 100644 --- a/platform/macos/config.cmake +++ b/platform/macos/config.cmake @@ -63,7 +63,6 @@ macro(mbgl_platform_core) ) target_link_libraries(mbgl-core - PUBLIC "-lz" PUBLIC "-framework Foundation" PUBLIC "-framework CoreText" PUBLIC "-framework CoreGraphics" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000000..ef30e2ed23 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,362 @@ +cmake_minimum_required(VERSION 3.4) +project(mbgl-core LANGUAGES CXX C) + +set(CMAKE_CONFIGURATION_TYPES Debug Release RelWithDebInfo Sanitize) + +# Compiler configuration +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_C_EXTENSIONS OFF) +set(CMAKE_C_STANDARD 99) +set(CMAKE_C_STANDARD_REQUIRED 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_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) + +set(GIT_ROOT ${CMAKE_CURRENT_LIST_DIR}/..) + +add_library(mbgl-core STATIC + #${GIT_ROOT}/src/mbgl/renderer/layers/render_custom_layer.cpp + #${GIT_ROOT}/src/mbgl/gl/attribute.cpp + #${GIT_ROOT}/src/mbgl/gl/color_mode.cpp + #${GIT_ROOT}/src/mbgl/gl/context.cpp + #${GIT_ROOT}/src/mbgl/gl/cull_face_mode.cpp + #${GIT_ROOT}/src/mbgl/gl/debugging.cpp + #${GIT_ROOT}/src/mbgl/gl/debugging_extension.cpp + #${GIT_ROOT}/src/mbgl/gl/depth_mode.cpp + #${GIT_ROOT}/src/mbgl/gl/gl.cpp + #${GIT_ROOT}/src/mbgl/gl/object.cpp + #${GIT_ROOT}/src/mbgl/gl/stencil_mode.cpp + #${GIT_ROOT}/src/mbgl/gl/uniform.cpp + #${GIT_ROOT}/src/mbgl/gl/value.cpp + #${GIT_ROOT}/src/mbgl/gl/vertex_array.cpp + ${GIT_ROOT}/src/csscolorparser/csscolorparser.cpp + ${GIT_ROOT}/src/mbgl/actor/mailbox.cpp + ${GIT_ROOT}/src/mbgl/actor/scheduler.cpp + ${GIT_ROOT}/src/mbgl/algorithm/generate_clip_ids.cpp + ${GIT_ROOT}/src/mbgl/annotation/annotation_manager.cpp + ${GIT_ROOT}/src/mbgl/annotation/annotation_source.cpp + ${GIT_ROOT}/src/mbgl/annotation/annotation_tile.cpp + ${GIT_ROOT}/src/mbgl/annotation/fill_annotation_impl.cpp + ${GIT_ROOT}/src/mbgl/annotation/line_annotation_impl.cpp + ${GIT_ROOT}/src/mbgl/annotation/render_annotation_source.cpp + ${GIT_ROOT}/src/mbgl/annotation/shape_annotation_impl.cpp + ${GIT_ROOT}/src/mbgl/annotation/symbol_annotation_impl.cpp + ${GIT_ROOT}/src/mbgl/geometry/dem_data.cpp + ${GIT_ROOT}/src/mbgl/geometry/feature_index.cpp + ${GIT_ROOT}/src/mbgl/geometry/line_atlas.cpp + ${GIT_ROOT}/src/mbgl/layout/clip_lines.cpp + ${GIT_ROOT}/src/mbgl/layout/merge_lines.cpp + ${GIT_ROOT}/src/mbgl/layout/symbol_instance.cpp + ${GIT_ROOT}/src/mbgl/layout/symbol_layout.cpp + ${GIT_ROOT}/src/mbgl/layout/symbol_projection.cpp + ${GIT_ROOT}/src/mbgl/map/map.cpp + ${GIT_ROOT}/src/mbgl/map/transform.cpp + ${GIT_ROOT}/src/mbgl/map/transform_state.cpp + ${GIT_ROOT}/src/mbgl/math/log2.cpp + ${GIT_ROOT}/src/mbgl/programs/background_program.cpp + ${GIT_ROOT}/src/mbgl/programs/binary_program.cpp + ${GIT_ROOT}/src/mbgl/programs/circle_program.cpp + ${GIT_ROOT}/src/mbgl/programs/collision_box_program.cpp + ${GIT_ROOT}/src/mbgl/programs/extrusion_texture_program.cpp + ${GIT_ROOT}/src/mbgl/programs/fill_extrusion_program.cpp + ${GIT_ROOT}/src/mbgl/programs/fill_program.cpp + ${GIT_ROOT}/src/mbgl/programs/heatmap_program.cpp + ${GIT_ROOT}/src/mbgl/programs/heatmap_texture_program.cpp + ${GIT_ROOT}/src/mbgl/programs/hillshade_prepare_program.cpp + ${GIT_ROOT}/src/mbgl/programs/hillshade_program.cpp + ${GIT_ROOT}/src/mbgl/programs/line_program.cpp + ${GIT_ROOT}/src/mbgl/programs/program_parameters.cpp + ${GIT_ROOT}/src/mbgl/programs/raster_program.cpp + ${GIT_ROOT}/src/mbgl/programs/symbol_program.cpp + ${GIT_ROOT}/src/mbgl/renderer/backend_scope.cpp + ${GIT_ROOT}/src/mbgl/renderer/bucket_parameters.cpp + ${GIT_ROOT}/src/mbgl/renderer/buckets/circle_bucket.cpp + ${GIT_ROOT}/src/mbgl/renderer/buckets/debug_bucket.cpp + ${GIT_ROOT}/src/mbgl/renderer/buckets/fill_bucket.cpp + ${GIT_ROOT}/src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp + ${GIT_ROOT}/src/mbgl/renderer/buckets/heatmap_bucket.cpp + ${GIT_ROOT}/src/mbgl/renderer/buckets/hillshade_bucket.cpp + ${GIT_ROOT}/src/mbgl/renderer/buckets/line_bucket.cpp + ${GIT_ROOT}/src/mbgl/renderer/buckets/raster_bucket.cpp + ${GIT_ROOT}/src/mbgl/renderer/buckets/symbol_bucket.cpp + ${GIT_ROOT}/src/mbgl/renderer/cross_faded_property_evaluator.cpp + ${GIT_ROOT}/src/mbgl/renderer/group_by_layout.cpp + ${GIT_ROOT}/src/mbgl/renderer/image_atlas.cpp + ${GIT_ROOT}/src/mbgl/renderer/image_manager.cpp + ${GIT_ROOT}/src/mbgl/renderer/layers/render_background_layer.cpp + ${GIT_ROOT}/src/mbgl/renderer/layers/render_circle_layer.cpp + ${GIT_ROOT}/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp + ${GIT_ROOT}/src/mbgl/renderer/layers/render_fill_layer.cpp + ${GIT_ROOT}/src/mbgl/renderer/layers/render_heatmap_layer.cpp + ${GIT_ROOT}/src/mbgl/renderer/layers/render_hillshade_layer.cpp + ${GIT_ROOT}/src/mbgl/renderer/layers/render_line_layer.cpp + ${GIT_ROOT}/src/mbgl/renderer/layers/render_raster_layer.cpp + ${GIT_ROOT}/src/mbgl/renderer/layers/render_symbol_layer.cpp + ${GIT_ROOT}/src/mbgl/renderer/paint_parameters.cpp + ${GIT_ROOT}/src/mbgl/renderer/render_layer.cpp + ${GIT_ROOT}/src/mbgl/renderer/render_light.cpp + ${GIT_ROOT}/src/mbgl/renderer/render_source.cpp + ${GIT_ROOT}/src/mbgl/renderer/render_static_data.cpp + ${GIT_ROOT}/src/mbgl/renderer/render_tile.cpp + ${GIT_ROOT}/src/mbgl/renderer/renderer.cpp + ${GIT_ROOT}/src/mbgl/renderer/renderer_backend.cpp + ${GIT_ROOT}/src/mbgl/renderer/renderer_impl.cpp + ${GIT_ROOT}/src/mbgl/renderer/renderer_state.cpp + ${GIT_ROOT}/src/mbgl/renderer/sources/render_custom_geometry_source.cpp + ${GIT_ROOT}/src/mbgl/renderer/sources/render_geojson_source.cpp + ${GIT_ROOT}/src/mbgl/renderer/sources/render_image_source.cpp + ${GIT_ROOT}/src/mbgl/renderer/sources/render_raster_dem_source.cpp + ${GIT_ROOT}/src/mbgl/renderer/sources/render_raster_source.cpp + ${GIT_ROOT}/src/mbgl/renderer/sources/render_vector_source.cpp + ${GIT_ROOT}/src/mbgl/renderer/style_diff.cpp + ${GIT_ROOT}/src/mbgl/renderer/tile_pyramid.cpp + ${GIT_ROOT}/src/mbgl/shaders/background.cpp + ${GIT_ROOT}/src/mbgl/shaders/background_pattern.cpp + ${GIT_ROOT}/src/mbgl/shaders/circle.cpp + ${GIT_ROOT}/src/mbgl/shaders/clipping_mask.cpp + ${GIT_ROOT}/src/mbgl/shaders/collision_box.cpp + ${GIT_ROOT}/src/mbgl/shaders/collision_circle.cpp + ${GIT_ROOT}/src/mbgl/shaders/debug.cpp + ${GIT_ROOT}/src/mbgl/shaders/extrusion_texture.cpp + ${GIT_ROOT}/src/mbgl/shaders/fill.cpp + ${GIT_ROOT}/src/mbgl/shaders/fill_extrusion.cpp + ${GIT_ROOT}/src/mbgl/shaders/fill_extrusion_pattern.cpp + ${GIT_ROOT}/src/mbgl/shaders/fill_outline.cpp + ${GIT_ROOT}/src/mbgl/shaders/fill_outline_pattern.cpp + ${GIT_ROOT}/src/mbgl/shaders/fill_pattern.cpp + ${GIT_ROOT}/src/mbgl/shaders/heatmap.cpp + ${GIT_ROOT}/src/mbgl/shaders/heatmap_texture.cpp + ${GIT_ROOT}/src/mbgl/shaders/hillshade.cpp + ${GIT_ROOT}/src/mbgl/shaders/hillshade_prepare.cpp + ${GIT_ROOT}/src/mbgl/shaders/line.cpp + ${GIT_ROOT}/src/mbgl/shaders/line_gradient.cpp + ${GIT_ROOT}/src/mbgl/shaders/line_pattern.cpp + ${GIT_ROOT}/src/mbgl/shaders/line_sdf.cpp + ${GIT_ROOT}/src/mbgl/shaders/preludes.cpp + ${GIT_ROOT}/src/mbgl/shaders/raster.cpp + ${GIT_ROOT}/src/mbgl/shaders/shaders.cpp + ${GIT_ROOT}/src/mbgl/shaders/source.cpp + ${GIT_ROOT}/src/mbgl/shaders/symbol_icon.cpp + ${GIT_ROOT}/src/mbgl/shaders/symbol_sdf.cpp + ${GIT_ROOT}/src/mbgl/sprite/sprite_loader.cpp + ${GIT_ROOT}/src/mbgl/sprite/sprite_loader_worker.cpp + ${GIT_ROOT}/src/mbgl/sprite/sprite_parser.cpp + ${GIT_ROOT}/src/mbgl/storage/network_status.cpp + ${GIT_ROOT}/src/mbgl/storage/resource.cpp + ${GIT_ROOT}/src/mbgl/storage/resource_transform.cpp + ${GIT_ROOT}/src/mbgl/storage/response.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/color_ramp_property_value.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/constant.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/coordinate.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/custom_geometry_source_options.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/filter.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/function.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/geojson.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/geojson_options.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/get_json_type.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/layer.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/light.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/position.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/property_value.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/source.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/tileset.cpp + ${GIT_ROOT}/src/mbgl/style/conversion/transition_options.cpp + ${GIT_ROOT}/src/mbgl/style/custom_tile_loader.cpp + ${GIT_ROOT}/src/mbgl/style/expression/assertion.cpp + ${GIT_ROOT}/src/mbgl/style/expression/at.cpp + ${GIT_ROOT}/src/mbgl/style/expression/boolean_operator.cpp + ${GIT_ROOT}/src/mbgl/style/expression/case.cpp + ${GIT_ROOT}/src/mbgl/style/expression/check_subtype.cpp + ${GIT_ROOT}/src/mbgl/style/expression/coalesce.cpp + ${GIT_ROOT}/src/mbgl/style/expression/coercion.cpp + ${GIT_ROOT}/src/mbgl/style/expression/collator_expression.cpp + ${GIT_ROOT}/src/mbgl/style/expression/comparison.cpp + ${GIT_ROOT}/src/mbgl/style/expression/compound_expression.cpp + ${GIT_ROOT}/src/mbgl/style/expression/dsl.cpp + ${GIT_ROOT}/src/mbgl/style/expression/expression.cpp + ${GIT_ROOT}/src/mbgl/style/expression/find_zoom_curve.cpp + ${GIT_ROOT}/src/mbgl/style/expression/format_expression.cpp + ${GIT_ROOT}/src/mbgl/style/expression/formatted.cpp + ${GIT_ROOT}/src/mbgl/style/expression/get_covering_stops.cpp + ${GIT_ROOT}/src/mbgl/style/expression/interpolate.cpp + ${GIT_ROOT}/src/mbgl/style/expression/is_constant.cpp + ${GIT_ROOT}/src/mbgl/style/expression/is_expression.cpp + ${GIT_ROOT}/src/mbgl/style/expression/length.cpp + ${GIT_ROOT}/src/mbgl/style/expression/let.cpp + ${GIT_ROOT}/src/mbgl/style/expression/literal.cpp + ${GIT_ROOT}/src/mbgl/style/expression/match.cpp + ${GIT_ROOT}/src/mbgl/style/expression/parsing_context.cpp + ${GIT_ROOT}/src/mbgl/style/expression/step.cpp + ${GIT_ROOT}/src/mbgl/style/expression/util.cpp + ${GIT_ROOT}/src/mbgl/style/expression/value.cpp + ${GIT_ROOT}/src/mbgl/style/filter.cpp + ${GIT_ROOT}/src/mbgl/style/image.cpp + ${GIT_ROOT}/src/mbgl/style/image_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layer.cpp + ${GIT_ROOT}/src/mbgl/style/layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/background_layer.cpp + ${GIT_ROOT}/src/mbgl/style/layers/background_layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/background_layer_properties.cpp + ${GIT_ROOT}/src/mbgl/style/layers/circle_layer.cpp + ${GIT_ROOT}/src/mbgl/style/layers/circle_layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/circle_layer_properties.cpp + ${GIT_ROOT}/src/mbgl/style/layers/custom_layer.cpp + ${GIT_ROOT}/src/mbgl/style/layers/custom_layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/fill_extrusion_layer.cpp + ${GIT_ROOT}/src/mbgl/style/layers/fill_extrusion_layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/fill_extrusion_layer_properties.cpp + ${GIT_ROOT}/src/mbgl/style/layers/fill_layer.cpp + ${GIT_ROOT}/src/mbgl/style/layers/fill_layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/fill_layer_properties.cpp + ${GIT_ROOT}/src/mbgl/style/layers/heatmap_layer.cpp + ${GIT_ROOT}/src/mbgl/style/layers/heatmap_layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/heatmap_layer_properties.cpp + ${GIT_ROOT}/src/mbgl/style/layers/hillshade_layer.cpp + ${GIT_ROOT}/src/mbgl/style/layers/hillshade_layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/hillshade_layer_properties.cpp + ${GIT_ROOT}/src/mbgl/style/layers/line_layer.cpp + ${GIT_ROOT}/src/mbgl/style/layers/line_layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/line_layer_properties.cpp + ${GIT_ROOT}/src/mbgl/style/layers/raster_layer.cpp + ${GIT_ROOT}/src/mbgl/style/layers/raster_layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/raster_layer_properties.cpp + ${GIT_ROOT}/src/mbgl/style/layers/symbol_layer.cpp + ${GIT_ROOT}/src/mbgl/style/layers/symbol_layer_impl.cpp + ${GIT_ROOT}/src/mbgl/style/layers/symbol_layer_properties.cpp + ${GIT_ROOT}/src/mbgl/style/light.cpp + ${GIT_ROOT}/src/mbgl/style/light_impl.cpp + ${GIT_ROOT}/src/mbgl/style/parser.cpp + ${GIT_ROOT}/src/mbgl/style/source.cpp + ${GIT_ROOT}/src/mbgl/style/source_impl.cpp + ${GIT_ROOT}/src/mbgl/style/sources/custom_geometry_source.cpp + ${GIT_ROOT}/src/mbgl/style/sources/custom_geometry_source_impl.cpp + ${GIT_ROOT}/src/mbgl/style/sources/geojson_source.cpp + ${GIT_ROOT}/src/mbgl/style/sources/geojson_source_impl.cpp + ${GIT_ROOT}/src/mbgl/style/sources/image_source.cpp + ${GIT_ROOT}/src/mbgl/style/sources/image_source_impl.cpp + ${GIT_ROOT}/src/mbgl/style/sources/raster_dem_source.cpp + ${GIT_ROOT}/src/mbgl/style/sources/raster_source.cpp + ${GIT_ROOT}/src/mbgl/style/sources/raster_source_impl.cpp + ${GIT_ROOT}/src/mbgl/style/sources/vector_source.cpp + ${GIT_ROOT}/src/mbgl/style/sources/vector_source_impl.cpp + ${GIT_ROOT}/src/mbgl/style/style.cpp + ${GIT_ROOT}/src/mbgl/style/style_impl.cpp + ${GIT_ROOT}/src/mbgl/style/types.cpp + ${GIT_ROOT}/src/mbgl/text/check_max_angle.cpp + ${GIT_ROOT}/src/mbgl/text/collision_feature.cpp + ${GIT_ROOT}/src/mbgl/text/collision_index.cpp + ${GIT_ROOT}/src/mbgl/text/cross_tile_symbol_index.cpp + ${GIT_ROOT}/src/mbgl/text/get_anchors.cpp + ${GIT_ROOT}/src/mbgl/text/glyph.cpp + ${GIT_ROOT}/src/mbgl/text/glyph_atlas.cpp + ${GIT_ROOT}/src/mbgl/text/glyph_manager.cpp + ${GIT_ROOT}/src/mbgl/text/glyph_pbf.cpp + ${GIT_ROOT}/src/mbgl/text/language_tag.cpp + ${GIT_ROOT}/src/mbgl/text/placement.cpp + ${GIT_ROOT}/src/mbgl/text/quads.cpp + ${GIT_ROOT}/src/mbgl/text/shaping.cpp + ${GIT_ROOT}/src/mbgl/text/tagged_string.cpp + ${GIT_ROOT}/src/mbgl/tile/custom_geometry_tile.cpp + ${GIT_ROOT}/src/mbgl/tile/geojson_tile.cpp + ${GIT_ROOT}/src/mbgl/tile/geometry_tile.cpp + ${GIT_ROOT}/src/mbgl/tile/geometry_tile_data.cpp + ${GIT_ROOT}/src/mbgl/tile/geometry_tile_worker.cpp + ${GIT_ROOT}/src/mbgl/tile/raster_dem_tile.cpp + ${GIT_ROOT}/src/mbgl/tile/raster_dem_tile_worker.cpp + ${GIT_ROOT}/src/mbgl/tile/raster_tile.cpp + ${GIT_ROOT}/src/mbgl/tile/raster_tile_worker.cpp + ${GIT_ROOT}/src/mbgl/tile/tile.cpp + ${GIT_ROOT}/src/mbgl/tile/tile_cache.cpp + ${GIT_ROOT}/src/mbgl/tile/tile_id_hash.cpp + ${GIT_ROOT}/src/mbgl/tile/tile_id_io.cpp + ${GIT_ROOT}/src/mbgl/tile/vector_tile.cpp + ${GIT_ROOT}/src/mbgl/tile/vector_tile_data.cpp + ${GIT_ROOT}/src/mbgl/util/chrono.cpp + ${GIT_ROOT}/src/mbgl/util/clip_id.cpp + ${GIT_ROOT}/src/mbgl/util/color.cpp + ${GIT_ROOT}/src/mbgl/util/compression.cpp + ${GIT_ROOT}/src/mbgl/util/constants.cpp + ${GIT_ROOT}/src/mbgl/util/convert.cpp + ${GIT_ROOT}/src/mbgl/util/dtoa.cpp + ${GIT_ROOT}/src/mbgl/util/event.cpp + ${GIT_ROOT}/src/mbgl/util/font_stack.cpp + ${GIT_ROOT}/src/mbgl/util/geo.cpp + ${GIT_ROOT}/src/mbgl/util/geojson_impl.cpp + ${GIT_ROOT}/src/mbgl/util/grid_index.cpp + ${GIT_ROOT}/src/mbgl/util/http_header.cpp + ${GIT_ROOT}/src/mbgl/util/http_timeout.cpp + ${GIT_ROOT}/src/mbgl/util/i18n.cpp + ${GIT_ROOT}/src/mbgl/util/interpolate.cpp + ${GIT_ROOT}/src/mbgl/util/intersection_tests.cpp + ${GIT_ROOT}/src/mbgl/util/io.cpp + ${GIT_ROOT}/src/mbgl/util/logging.cpp + ${GIT_ROOT}/src/mbgl/util/mapbox.cpp + ${GIT_ROOT}/src/mbgl/util/mat2.cpp + ${GIT_ROOT}/src/mbgl/util/mat3.cpp + ${GIT_ROOT}/src/mbgl/util/mat4.cpp + ${GIT_ROOT}/src/mbgl/util/offscreen_texture.cpp + ${GIT_ROOT}/src/mbgl/util/premultiply.cpp + ${GIT_ROOT}/src/mbgl/util/rapidjson.cpp + ${GIT_ROOT}/src/mbgl/util/stopwatch.cpp + ${GIT_ROOT}/src/mbgl/util/string.cpp + ${GIT_ROOT}/src/mbgl/util/tile_cover.cpp + ${GIT_ROOT}/src/mbgl/util/tile_cover_impl.cpp + ${GIT_ROOT}/src/mbgl/util/tiny_sdf.cpp + ${GIT_ROOT}/src/mbgl/util/url.cpp + ${GIT_ROOT}/src/mbgl/util/version.cpp + ${GIT_ROOT}/src/mbgl/util/work_request.cpp + ${GIT_ROOT}/src/parsedate/parsedate.cpp +) + +target_include_directories(mbgl-core + PUBLIC ${GIT_ROOT}/include + PRIVATE ${GIT_ROOT}/src +) + +target_link_libraries(mbgl-core PRIVATE + earcut.hpp + expected + geojson-vt-cpp + kdbush.hpp + shelf-pack-cpp + supercluster.hpp + unique_resource + wagyu +) + +# FIXME: We should not leak these many +# libraries in our public interface. +target_link_libraries(mbgl-core PUBLIC + boost + geojson.hpp + geometry.hpp + icu + optional + polylabel + protozero + rapidjson + variant + vector-tile +) + +if(EXISTS ${GIT_ROOT}/.git/HEAD) + execute_process( + COMMAND git rev-parse --short=8 HEAD + OUTPUT_VARIABLE MBGL_VERSION_REV + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${GIT_ROOT} + ) +else() + set(MBGL_VERSION_REV 00000000) +endif() + +set_source_files_properties(${GIT_ROOT}/src/mbgl/util/version.cpp + PROPERTIES COMPILE_DEFINITIONS MBGL_VERSION_REV="${MBGL_VERSION_REV}" +) -- cgit v1.2.1