diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2018-10-24 01:53:22 +0300 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2018-10-25 03:15:43 +0300 |
commit | 1b703ed634dc82610ce58c63fbf5a37dc40d9c86 (patch) | |
tree | b9f0b42e5ef5941d5722164feecd8a6038223889 | |
parent | 3e75644a481c6fa3ec7e7d1b8ad44c36ede7dc36 (diff) | |
download | qtlocation-mapboxgl-1b703ed634dc82610ce58c63fbf5a37dc40d9c86.tar.gz |
[build] Add a simple CMake buildsystem for core
The idea is to make core self contained and easy to
build on all the target platforms we support. Core
should produce a self-contained static or shared
library.
-rw-r--r-- | core/CMakeLists.txt | 401 | ||||
-rw-r--r-- | vendor/earcut.hpp.cmake | 5 | ||||
-rw-r--r-- | vendor/expected.cmake | 5 | ||||
-rw-r--r-- | vendor/geojson-vt-cpp.cmake | 5 | ||||
-rw-r--r-- | vendor/geojson.hpp.cmake | 5 | ||||
-rw-r--r-- | vendor/geometry.hpp.cmake | 5 | ||||
-rw-r--r-- | vendor/icu.cmake | 31 | ||||
-rw-r--r-- | vendor/kdbush.hpp.cmake | 5 | ||||
-rw-r--r-- | vendor/nunicode.cmake | 17 | ||||
-rw-r--r-- | vendor/polylabel.cmake | 5 | ||||
-rw-r--r-- | vendor/protozero.cmake | 5 | ||||
-rw-r--r-- | vendor/rapidjson.cmake | 15 | ||||
-rw-r--r-- | vendor/shelf-pack-cpp.cmake | 5 | ||||
-rw-r--r-- | vendor/supercluster.hpp.cmake | 5 | ||||
-rw-r--r-- | vendor/unique_resource.cmake | 5 | ||||
-rw-r--r-- | vendor/variant.cmake | 5 | ||||
-rw-r--r-- | vendor/vector-tile.cmake | 5 | ||||
-rw-r--r-- | vendor/wagyu.cmake | 5 |
18 files changed, 534 insertions, 0 deletions
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt new file mode 100644 index 0000000000..4badc3d426 --- /dev/null +++ b/core/CMakeLists.txt @@ -0,0 +1,401 @@ +cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR) +project(MAPBOX_GL_NATIVE LANGUAGES CXX C) + +set(CMAKE_CONFIGURATION_TYPES Debug Release RelWithDebInfo MinSizeRel) + +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Debug) +endif() + +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_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_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) + +set(GIT_ROOT ${CMAKE_SOURCE_DIR}/..) + +add_library(mapbox-gl-native STATIC + ${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/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/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_custom_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/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_compile_definitions(mapbox-gl-native PRIVATE + MBGL_VERSION_REV="1.0" +) + +# FIXME: Vendor the parts of boost we need. +find_package(Boost 1.65 REQUIRED) + +target_include_directories(mapbox-gl-native PRIVATE + ${GIT_ROOT}/include + ${GIT_ROOT}/src + ${Boost_INCLUDE_DIRS} +) + +include(${GIT_ROOT}/vendor/earcut.hpp.cmake) +include(${GIT_ROOT}/vendor/expected.cmake) +include(${GIT_ROOT}/vendor/geojson-vt-cpp.cmake) +include(${GIT_ROOT}/vendor/geojson.hpp.cmake) +include(${GIT_ROOT}/vendor/geometry.hpp.cmake) +include(${GIT_ROOT}/vendor/icu.cmake) +include(${GIT_ROOT}/vendor/kdbush.hpp.cmake) +include(${GIT_ROOT}/vendor/nunicode.cmake) +include(${GIT_ROOT}/vendor/polylabel.cmake) +include(${GIT_ROOT}/vendor/protozero.cmake) +include(${GIT_ROOT}/vendor/rapidjson.cmake) +include(${GIT_ROOT}/vendor/shelf-pack-cpp.cmake) +include(${GIT_ROOT}/vendor/supercluster.hpp.cmake) +include(${GIT_ROOT}/vendor/unique_resource.cmake) +include(${GIT_ROOT}/vendor/variant.cmake) +include(${GIT_ROOT}/vendor/vector-tile.cmake) +include(${GIT_ROOT}/vendor/wagyu.cmake) + +target_link_libraries(mapbox-gl-native PRIVATE + earcut.hpp + geojson-vt-cpp + kdbush.hpp + polylabel + protozero + rapidjson + shelf-pack-cpp + supercluster.hpp + unique_resource + vector-tile + wagyu +) + +# FIXME: These need to be public because they +# appear in public headers. We should not leak +# any external dependency. +target_link_libraries(mapbox-gl-native PUBLIC + expected + geojson.hpp + geometry.hpp + icu + nunicode + variant +) + +# FIXME: This is need for the GL headers, but +# the build should be self contained. +target_include_directories(mapbox-gl-native PRIVATE + ${GIT_ROOT}/platform/default + ${GIT_ROOT}/platform/linux +) + +if(UNIX) + find_package(Threads REQUIRED) + target_link_libraries(mapbox-gl-native PUBLIC + ${CMAKE_THREAD_LIBS_INIT} + ) +endif() + +if(WIN32) + include(${GIT_ROOT}/deps/optional.cmake) + target_link_libraries(mapbox-gl-native PUBLIC optional) + + target_compile_definitions(mapbox-gl-native PRIVATE + _WINDOWS + ) +endif() + +target_include_directories(mapbox-gl-native SYSTEM INTERFACE + ${GIT_ROOT}/include +) diff --git a/vendor/earcut.hpp.cmake b/vendor/earcut.hpp.cmake new file mode 100644 index 0000000000..69bca82f84 --- /dev/null +++ b/vendor/earcut.hpp.cmake @@ -0,0 +1,5 @@ +add_library(earcut.hpp INTERFACE) + +target_include_directories(earcut.hpp SYSTEM INTERFACE + ${GIT_ROOT}/vendor/earcut.hpp/include +) diff --git a/vendor/expected.cmake b/vendor/expected.cmake new file mode 100644 index 0000000000..d5b15b513f --- /dev/null +++ b/vendor/expected.cmake @@ -0,0 +1,5 @@ +add_library(expected INTERFACE) + +target_include_directories(expected SYSTEM INTERFACE + ${GIT_ROOT}/vendor/expected/include +) diff --git a/vendor/geojson-vt-cpp.cmake b/vendor/geojson-vt-cpp.cmake new file mode 100644 index 0000000000..c1e209f0b8 --- /dev/null +++ b/vendor/geojson-vt-cpp.cmake @@ -0,0 +1,5 @@ +add_library(geojson-vt-cpp INTERFACE) + +target_include_directories(geojson-vt-cpp SYSTEM INTERFACE + ${GIT_ROOT}/vendor/geojson-vt-cpp/include +) diff --git a/vendor/geojson.hpp.cmake b/vendor/geojson.hpp.cmake new file mode 100644 index 0000000000..9b7f7f6b96 --- /dev/null +++ b/vendor/geojson.hpp.cmake @@ -0,0 +1,5 @@ +add_library(geojson.hpp INTERFACE) + +target_include_directories(geojson.hpp SYSTEM INTERFACE + ${GIT_ROOT}/vendor/geojson.hpp/include +) diff --git a/vendor/geometry.hpp.cmake b/vendor/geometry.hpp.cmake new file mode 100644 index 0000000000..cde21473ef --- /dev/null +++ b/vendor/geometry.hpp.cmake @@ -0,0 +1,5 @@ +add_library(geometry.hpp INTERFACE) + +target_include_directories(geometry.hpp SYSTEM INTERFACE + ${GIT_ROOT}/vendor/geometry.hpp/include +) diff --git a/vendor/icu.cmake b/vendor/icu.cmake new file mode 100644 index 0000000000..1b9a2ba3ce --- /dev/null +++ b/vendor/icu.cmake @@ -0,0 +1,31 @@ +add_library(icu STATIC + ${GIT_ROOT}/vendor/icu/src/cmemory.cpp + ${GIT_ROOT}/vendor/icu/src/cstring.cpp + ${GIT_ROOT}/vendor/icu/src/ubidi.cpp + ${GIT_ROOT}/vendor/icu/src/ubidi_props.cpp + ${GIT_ROOT}/vendor/icu/src/ubidiln.cpp + ${GIT_ROOT}/vendor/icu/src/ubidiwrt.cpp + ${GIT_ROOT}/vendor/icu/src/uchar.cpp + ${GIT_ROOT}/vendor/icu/src/udataswp.cpp + ${GIT_ROOT}/vendor/icu/src/uinvchar.cpp + ${GIT_ROOT}/vendor/icu/src/umath.cpp + ${GIT_ROOT}/vendor/icu/src/ushape.cpp + ${GIT_ROOT}/vendor/icu/src/ustring.cpp + ${GIT_ROOT}/vendor/icu/src/utf_impl.cpp + ${GIT_ROOT}/vendor/icu/src/utrie2.cpp + ${GIT_ROOT}/vendor/icu/src/utypes.cpp +) + +target_compile_definitions(icu PRIVATE + UCONFIG_NO_BREAK_ITERATION=1 + UCONFIG_NO_LEGACY_CONVERSION=1 + U_CHARSET_IS_UTF8=1 + U_CHAR_TYPE=uint_least16_t + U_HAVE_ATOMIC=1 + U_HAVE_STRTOD_L=0 + _REENTRANT +) + +target_include_directories(icu SYSTEM PUBLIC + ${GIT_ROOT}/vendor/icu/include +) diff --git a/vendor/kdbush.hpp.cmake b/vendor/kdbush.hpp.cmake new file mode 100644 index 0000000000..4c02f3009a --- /dev/null +++ b/vendor/kdbush.hpp.cmake @@ -0,0 +1,5 @@ +add_library(kdbush.hpp INTERFACE) + +target_include_directories(kdbush.hpp SYSTEM INTERFACE + ${GIT_ROOT}/vendor/kdbush.hpp/include +) diff --git a/vendor/nunicode.cmake b/vendor/nunicode.cmake new file mode 100644 index 0000000000..9d95d2d493 --- /dev/null +++ b/vendor/nunicode.cmake @@ -0,0 +1,17 @@ +add_library(nunicode STATIC + ${GIT_ROOT}/vendor/nunicode/src/libnu/ducet.c + ${GIT_ROOT}/vendor/nunicode/src/libnu/strcoll.c + ${GIT_ROOT}/vendor/nunicode/src/libnu/strings.c + ${GIT_ROOT}/vendor/nunicode/src/libnu/tolower.c + ${GIT_ROOT}/vendor/nunicode/src/libnu/tounaccent.c + ${GIT_ROOT}/vendor/nunicode/src/libnu/toupper.c + ${GIT_ROOT}/vendor/nunicode/src/libnu/utf8.c +) + +target_compile_definitions(nunicode PRIVATE + NU_BUILD_STATIC +) + +target_include_directories(nunicode SYSTEM PUBLIC + ${GIT_ROOT}/vendor/nunicode/include +) diff --git a/vendor/polylabel.cmake b/vendor/polylabel.cmake new file mode 100644 index 0000000000..34960ef6cc --- /dev/null +++ b/vendor/polylabel.cmake @@ -0,0 +1,5 @@ +add_library(polylabel INTERFACE) + +target_include_directories(polylabel SYSTEM INTERFACE + ${GIT_ROOT}/vendor/polylabel/include +) diff --git a/vendor/protozero.cmake b/vendor/protozero.cmake new file mode 100644 index 0000000000..20c9dc873c --- /dev/null +++ b/vendor/protozero.cmake @@ -0,0 +1,5 @@ +add_library(protozero INTERFACE) + +target_include_directories(protozero SYSTEM INTERFACE + ${GIT_ROOT}/vendor/protozero/include +) diff --git a/vendor/rapidjson.cmake b/vendor/rapidjson.cmake new file mode 100644 index 0000000000..98c2769795 --- /dev/null +++ b/vendor/rapidjson.cmake @@ -0,0 +1,15 @@ +add_library(rapidjson INTERFACE) + +target_include_directories(rapidjson SYSTEM INTERFACE + ${GIT_ROOT}/vendor/rapidjson/include +) + +target_compile_definitions(rapidjson INTERFACE + RAPIDJSON_HAS_STDSTRING=1 +) + +if(WIN32) + target_compile_definitions(rapidjson INTERFACE + RAPIDJSON_HAS_CXX11_RVALUE_REFS + ) +endif() diff --git a/vendor/shelf-pack-cpp.cmake b/vendor/shelf-pack-cpp.cmake new file mode 100644 index 0000000000..795d2288f1 --- /dev/null +++ b/vendor/shelf-pack-cpp.cmake @@ -0,0 +1,5 @@ +add_library(shelf-pack-cpp INTERFACE) + +target_include_directories(shelf-pack-cpp SYSTEM INTERFACE + ${GIT_ROOT}/vendor/shelf-pack-cpp/include +) diff --git a/vendor/supercluster.hpp.cmake b/vendor/supercluster.hpp.cmake new file mode 100644 index 0000000000..41ecaf306b --- /dev/null +++ b/vendor/supercluster.hpp.cmake @@ -0,0 +1,5 @@ +add_library(supercluster.hpp INTERFACE) + +target_include_directories(supercluster.hpp SYSTEM INTERFACE + ${GIT_ROOT}/vendor/supercluster.hpp/include +) diff --git a/vendor/unique_resource.cmake b/vendor/unique_resource.cmake new file mode 100644 index 0000000000..ed658f8717 --- /dev/null +++ b/vendor/unique_resource.cmake @@ -0,0 +1,5 @@ +add_library(unique_resource INTERFACE) + +target_include_directories(unique_resource SYSTEM INTERFACE + ${GIT_ROOT}/vendor/unique_resource +) diff --git a/vendor/variant.cmake b/vendor/variant.cmake new file mode 100644 index 0000000000..57f9095353 --- /dev/null +++ b/vendor/variant.cmake @@ -0,0 +1,5 @@ +add_library(variant INTERFACE) + +target_include_directories(variant SYSTEM INTERFACE + ${GIT_ROOT}/vendor/variant/include +) diff --git a/vendor/vector-tile.cmake b/vendor/vector-tile.cmake new file mode 100644 index 0000000000..abca012b8c --- /dev/null +++ b/vendor/vector-tile.cmake @@ -0,0 +1,5 @@ +add_library(vector-tile INTERFACE) + +target_include_directories(vector-tile SYSTEM INTERFACE + ${GIT_ROOT}/vendor/vector-tile/include +) diff --git a/vendor/wagyu.cmake b/vendor/wagyu.cmake new file mode 100644 index 0000000000..9a2b5f0a60 --- /dev/null +++ b/vendor/wagyu.cmake @@ -0,0 +1,5 @@ +add_library(wagyu INTERFACE) + +target_include_directories(wagyu SYSTEM INTERFACE + ${GIT_ROOT}/vendor/wagyu/include +) |