summaryrefslogtreecommitdiff
path: root/vendor
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 /vendor
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 'vendor')
-rw-r--r--vendor/earcut.hpp.cmake5
-rw-r--r--vendor/expected.cmake5
-rw-r--r--vendor/geojson-vt-cpp.cmake5
-rw-r--r--vendor/geojson.hpp.cmake5
-rw-r--r--vendor/geometry.hpp.cmake5
-rw-r--r--vendor/icu.cmake35
-rw-r--r--vendor/kdbush.hpp.cmake5
-rw-r--r--vendor/nunicode.cmake21
-rw-r--r--vendor/optional.cmake10
-rw-r--r--vendor/polylabel.cmake5
-rw-r--r--vendor/protozero.cmake5
-rw-r--r--vendor/rapidjson.cmake15
-rw-r--r--vendor/shelf-pack-cpp.cmake5
-rw-r--r--vendor/supercluster.hpp.cmake5
-rw-r--r--vendor/unique_resource.cmake5
-rw-r--r--vendor/variant.cmake5
-rw-r--r--vendor/vector-tile.cmake5
-rw-r--r--vendor/wagyu.cmake5
18 files changed, 151 insertions, 0 deletions
diff --git a/vendor/earcut.hpp.cmake b/vendor/earcut.hpp.cmake
new file mode 100644
index 0000000000..d7992cda50
--- /dev/null
+++ b/vendor/earcut.hpp.cmake
@@ -0,0 +1,5 @@
+add_library(earcut.hpp INTERFACE)
+
+target_include_directories(earcut.hpp SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/earcut.hpp/include
+)
diff --git a/vendor/expected.cmake b/vendor/expected.cmake
new file mode 100644
index 0000000000..ebe63e1a10
--- /dev/null
+++ b/vendor/expected.cmake
@@ -0,0 +1,5 @@
+add_library(expected INTERFACE)
+
+target_include_directories(expected SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/expected/include
+)
diff --git a/vendor/geojson-vt-cpp.cmake b/vendor/geojson-vt-cpp.cmake
new file mode 100644
index 0000000000..c8d955f64b
--- /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
+ ${CMAKE_SOURCE_DIR}/vendor/geojson-vt-cpp/include
+)
diff --git a/vendor/geojson.hpp.cmake b/vendor/geojson.hpp.cmake
new file mode 100644
index 0000000000..261650388f
--- /dev/null
+++ b/vendor/geojson.hpp.cmake
@@ -0,0 +1,5 @@
+add_library(geojson.hpp INTERFACE)
+
+target_include_directories(geojson.hpp SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/geojson.hpp/include
+)
diff --git a/vendor/geometry.hpp.cmake b/vendor/geometry.hpp.cmake
new file mode 100644
index 0000000000..d97c2a9f6c
--- /dev/null
+++ b/vendor/geometry.hpp.cmake
@@ -0,0 +1,5 @@
+add_library(geometry.hpp INTERFACE)
+
+target_include_directories(geometry.hpp SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/geometry.hpp/include
+)
diff --git a/vendor/icu.cmake b/vendor/icu.cmake
new file mode 100644
index 0000000000..3d29b799ed
--- /dev/null
+++ b/vendor/icu.cmake
@@ -0,0 +1,35 @@
+add_library(icu STATIC
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/cmemory.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/cstring.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/ubidi.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/ubidi_props.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/ubidiln.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/ubidiwrt.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/uchar.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/udataswp.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/uinvchar.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/umath.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/ushape.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/ustring.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/utf_impl.cpp
+ ${CMAKE_SOURCE_DIR}/vendor/icu/src/utrie2.cpp
+ ${CMAKE_SOURCE_DIR}/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_compile_options(icu PRIVATE
+ -Wno-error
+)
+
+target_include_directories(icu SYSTEM PUBLIC
+ ${CMAKE_SOURCE_DIR}/vendor/icu/include
+)
diff --git a/vendor/kdbush.hpp.cmake b/vendor/kdbush.hpp.cmake
new file mode 100644
index 0000000000..450530b7c6
--- /dev/null
+++ b/vendor/kdbush.hpp.cmake
@@ -0,0 +1,5 @@
+add_library(kdbush.hpp INTERFACE)
+
+target_include_directories(kdbush.hpp SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/kdbush.hpp/include
+)
diff --git a/vendor/nunicode.cmake b/vendor/nunicode.cmake
new file mode 100644
index 0000000000..d318b8a265
--- /dev/null
+++ b/vendor/nunicode.cmake
@@ -0,0 +1,21 @@
+add_library(nunicode STATIC
+ ${CMAKE_SOURCE_DIR}/vendor/nunicode/src/libnu/ducet.c
+ ${CMAKE_SOURCE_DIR}/vendor/nunicode/src/libnu/strcoll.c
+ ${CMAKE_SOURCE_DIR}/vendor/nunicode/src/libnu/strings.c
+ ${CMAKE_SOURCE_DIR}/vendor/nunicode/src/libnu/tolower.c
+ ${CMAKE_SOURCE_DIR}/vendor/nunicode/src/libnu/tounaccent.c
+ ${CMAKE_SOURCE_DIR}/vendor/nunicode/src/libnu/toupper.c
+ ${CMAKE_SOURCE_DIR}/vendor/nunicode/src/libnu/utf8.c
+)
+
+target_compile_definitions(nunicode PRIVATE
+ NU_BUILD_STATIC
+)
+
+target_compile_options(nunicode PRIVATE
+ -Wno-error
+)
+
+target_include_directories(nunicode SYSTEM PUBLIC
+ ${CMAKE_SOURCE_DIR}/vendor/nunicode/include
+)
diff --git a/vendor/optional.cmake b/vendor/optional.cmake
new file mode 100644
index 0000000000..157ccc991d
--- /dev/null
+++ b/vendor/optional.cmake
@@ -0,0 +1,10 @@
+add_library(optional INTERFACE)
+
+# This polyfill is really only needed for
+# Windows. We need to be careful to not leak
+# it into any of our public interfaces.
+if(WIN32)
+ target_include_directories(optional SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/optional/include
+ )
+endif()
diff --git a/vendor/polylabel.cmake b/vendor/polylabel.cmake
new file mode 100644
index 0000000000..d732723a89
--- /dev/null
+++ b/vendor/polylabel.cmake
@@ -0,0 +1,5 @@
+add_library(polylabel INTERFACE)
+
+target_include_directories(polylabel SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/polylabel/include
+)
diff --git a/vendor/protozero.cmake b/vendor/protozero.cmake
new file mode 100644
index 0000000000..e4f32f1ace
--- /dev/null
+++ b/vendor/protozero.cmake
@@ -0,0 +1,5 @@
+add_library(protozero INTERFACE)
+
+target_include_directories(protozero SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/protozero/include
+)
diff --git a/vendor/rapidjson.cmake b/vendor/rapidjson.cmake
new file mode 100644
index 0000000000..40b5c31895
--- /dev/null
+++ b/vendor/rapidjson.cmake
@@ -0,0 +1,15 @@
+add_library(rapidjson INTERFACE)
+
+target_include_directories(rapidjson SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/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..0d8e850723
--- /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
+ ${CMAKE_SOURCE_DIR}/vendor/shelf-pack-cpp/include
+)
diff --git a/vendor/supercluster.hpp.cmake b/vendor/supercluster.hpp.cmake
new file mode 100644
index 0000000000..90d0becade
--- /dev/null
+++ b/vendor/supercluster.hpp.cmake
@@ -0,0 +1,5 @@
+add_library(supercluster.hpp INTERFACE)
+
+target_include_directories(supercluster.hpp SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/supercluster.hpp/include
+)
diff --git a/vendor/unique_resource.cmake b/vendor/unique_resource.cmake
new file mode 100644
index 0000000000..ad450066eb
--- /dev/null
+++ b/vendor/unique_resource.cmake
@@ -0,0 +1,5 @@
+add_library(unique_resource INTERFACE)
+
+target_include_directories(unique_resource SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/unique_resource
+)
diff --git a/vendor/variant.cmake b/vendor/variant.cmake
new file mode 100644
index 0000000000..f4827f41c6
--- /dev/null
+++ b/vendor/variant.cmake
@@ -0,0 +1,5 @@
+add_library(variant INTERFACE)
+
+target_include_directories(variant SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/variant/include
+)
diff --git a/vendor/vector-tile.cmake b/vendor/vector-tile.cmake
new file mode 100644
index 0000000000..ec4552afcc
--- /dev/null
+++ b/vendor/vector-tile.cmake
@@ -0,0 +1,5 @@
+add_library(vector-tile INTERFACE)
+
+target_include_directories(vector-tile SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/vector-tile/include
+)
diff --git a/vendor/wagyu.cmake b/vendor/wagyu.cmake
new file mode 100644
index 0000000000..7cf3397b89
--- /dev/null
+++ b/vendor/wagyu.cmake
@@ -0,0 +1,5 @@
+add_library(wagyu INTERFACE)
+
+target_include_directories(wagyu SYSTEM INTERFACE
+ ${CMAKE_SOURCE_DIR}/vendor/wagyu/include
+)