summaryrefslogtreecommitdiff
path: root/cmake/core.cmake
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <tmpsantos@gmail.com>2018-10-24 01:53:22 +0300
committerThiago Marcos P. Santos <tmpsantos@gmail.com>2018-10-31 18:19:28 +0200
commit69960afb8db0444ec11cb46b47e877cc34f61fc7 (patch)
tree37bcc19f033aadd8c3c158fad02b8c5e4a9437ed /cmake/core.cmake
parent3a3c05bd8aeabf179084bd9a0137edd2abf41e4c (diff)
downloadqtlocation-mapboxgl-69960afb8db0444ec11cb46b47e877cc34f61fc7.tar.gz
[build] Add build system for submodules
Vendorize the submodules and a simple CMake build system for all them. The dependencies will inherit compilation options for core. The goal is to make Mapbox GL Core completely self contained with a simple offline build.
Diffstat (limited to 'cmake/core.cmake')
-rw-r--r--cmake/core.cmake39
1 files changed, 25 insertions, 14 deletions
diff --git a/cmake/core.cmake b/cmake/core.cmake
index 32e77f5d55..04b5f9ea18 100644
--- a/cmake/core.cmake
+++ b/cmake/core.cmake
@@ -7,21 +7,32 @@ target_include_directories(mbgl-core
PRIVATE src
)
-target_add_mason_package(mbgl-core PUBLIC geometry)
-target_add_mason_package(mbgl-core PUBLIC variant)
-target_add_mason_package(mbgl-core PRIVATE unique_resource)
-target_add_mason_package(mbgl-core PRIVATE rapidjson)
+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
+ geojson.hpp
+ geometry.hpp
+ icu
+ optional
+ polylabel
+ protozero
+ rapidjson
+ variant
+ vector-tile
+)
+
target_add_mason_package(mbgl-core PRIVATE boost)
-target_add_mason_package(mbgl-core PRIVATE geojson)
-target_add_mason_package(mbgl-core PRIVATE geojsonvt)
-target_add_mason_package(mbgl-core PRIVATE supercluster)
-target_add_mason_package(mbgl-core PRIVATE kdbush)
-target_add_mason_package(mbgl-core PRIVATE earcut)
-target_add_mason_package(mbgl-core PRIVATE protozero)
-target_add_mason_package(mbgl-core PRIVATE polylabel)
-target_add_mason_package(mbgl-core PRIVATE wagyu)
-target_add_mason_package(mbgl-core PRIVATE shelf-pack)
-target_add_mason_package(mbgl-core PRIVATE vector-tile)
mbgl_platform_core()