summaryrefslogtreecommitdiff
path: root/cmake/core.cmake
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2016-06-03 18:05:04 +0200
committerKonstantin Käfer <mail@kkaefer.com>2016-08-05 11:42:22 +0200
commit692fe1f3ffc8f4364b39c14aa7d90cec2ff5c0a6 (patch)
tree1d08af7d56e986dba2b548ff9b9a7e1a77c713ed /cmake/core.cmake
parente3ee55b28d0b230d054c9718f79a1f6d685cd62b (diff)
downloadqtlocation-mapboxgl-692fe1f3ffc8f4364b39c14aa7d90cec2ff5c0a6.tar.gz
[build] switch to CMake
This is very much a work in progress.
Diffstat (limited to 'cmake/core.cmake')
-rw-r--r--cmake/core.cmake52
1 files changed, 52 insertions, 0 deletions
diff --git a/cmake/core.cmake b/cmake/core.cmake
new file mode 100644
index 0000000000..266a5c92a2
--- /dev/null
+++ b/cmake/core.cmake
@@ -0,0 +1,52 @@
+set(MBGL_VERSION_DEPS package.json)
+if(EXISTS ${CMAKE_SOURCE_DIR}/.git/HEAD)
+ set(MBGL_VERSION_DEPS ${MBGL_VERSION_DEPS} .git/HEAD)
+endif()
+
+add_custom_command(
+ OUTPUT ${MBGL_GENERATED}/include/mbgl/util/version.hpp
+ DEPENDS ${MBGL_VERSION_DEPS}
+ COMMAND ${CMAKE_SOURCE_DIR}/scripts/build-version.py ${MBGL_GENERATED}
+ VERBATIM
+)
+
+add_custom_target(mbgl-headers DEPENDS
+ ${MBGL_GENERATED}/include/mbgl/util/version.hpp
+ ${MBGL_SHADER_FILES}
+)
+
+add_library(mbgl-core STATIC
+ ${MBGL_CORE_FILES}
+)
+
+add_dependencies(mbgl-core
+ mbgl-headers
+)
+
+target_compile_options(mbgl-core
+ PRIVATE -fPIC
+ PRIVATE -fvisibility-inlines-hidden
+)
+
+target_include_directories(mbgl-core
+ PUBLIC include
+ PUBLIC src # TODO: make private
+ PRIVATE ${MBGL_GENERATED}/include
+)
+
+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_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)
+
+mbgl_platform_core()
+
+create_source_groups(mbgl-core)
+target_append_xcconfig(mbgl-core)