summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <tmpsantos@gmail.com>2019-07-23 17:35:43 +0300
committerThiago Marcos P. Santos <tmpsantos@gmail.com>2019-08-15 20:41:07 +0300
commit794a71942263e36679c03de5cbd8543866659771 (patch)
tree50d09882c0d9d0e9452eb0ccabba6344ee06a050
parent8e1bd18eae73ffbe14aa9297a039e2431d40bd36 (diff)
downloadqtlocation-mapboxgl-794a71942263e36679c03de5cbd8543866659771.tar.gz
[build] Cosmetics on vendor packages
- Add include guards on all the files - Add a vendor package for sqlite and gtest - Use relative paths to all the files
-rw-r--r--vendor/args.cmake10
-rw-r--r--vendor/benchmark.cmake44
-rw-r--r--vendor/boost.cmake10
-rw-r--r--vendor/cheap-ruler-cpp.cmake10
-rw-r--r--vendor/earcut.hpp.cmake10
-rw-r--r--vendor/eternal.cmake10
-rw-r--r--vendor/expected.cmake10
-rw-r--r--vendor/filesystem.cmake10
-rw-r--r--vendor/geojson-vt-cpp.cmake10
-rw-r--r--vendor/geojson.hpp.cmake10
-rw-r--r--vendor/googletest.cmake12
-rw-r--r--vendor/icu.cmake46
-rw-r--r--vendor/jni.hpp.cmake10
-rw-r--r--vendor/kdbush.hpp.cmake10
m---------vendor/mapbox-base0
-rw-r--r--vendor/nunicode.cmake28
-rw-r--r--vendor/pixelmatch-cpp.cmake10
-rw-r--r--vendor/polylabel.cmake10
-rw-r--r--vendor/protozero.cmake10
-rw-r--r--vendor/rapidjson.cmake14
-rw-r--r--vendor/shelf-pack-cpp.cmake10
-rw-r--r--vendor/sqlite.cmake26
-rw-r--r--vendor/supercluster.hpp.cmake10
-rw-r--r--vendor/unique_resource.cmake10
-rw-r--r--vendor/vector-tile.cmake10
-rw-r--r--vendor/wagyu.cmake10
26 files changed, 244 insertions, 116 deletions
diff --git a/vendor/args.cmake b/vendor/args.cmake
index b5839943c2..6e68318026 100644
--- a/vendor/args.cmake
+++ b/vendor/args.cmake
@@ -1,5 +1,9 @@
-add_library(args INTERFACE)
+if(TARGET mbgl-vendor-args)
+ return()
+endif()
-target_include_directories(args SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/args
+add_library(mbgl-vendor-args INTERFACE)
+
+target_include_directories(mbgl-vendor-args SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/args
)
diff --git a/vendor/benchmark.cmake b/vendor/benchmark.cmake
index 516e3cd333..44c0672971 100644
--- a/vendor/benchmark.cmake
+++ b/vendor/benchmark.cmake
@@ -1,25 +1,31 @@
-add_library(benchmark STATIC
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/commandlineflags.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/console_reporter.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/complexity.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/csv_reporter.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/colorprint.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/sleep.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/benchmark.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/counter.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/benchmark_register.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/statistics.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/json_reporter.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/reporter.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/string_util.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/sysinfo.cc
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/src/timers.cc
+if(TARGET mbgl-vendor-benchmark)
+ return()
+endif()
+
+add_library(mbgl-vendor-benchmark STATIC EXCLUDE_FROM_ALL
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/commandlineflags.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/console_reporter.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/complexity.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/csv_reporter.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/colorprint.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/sleep.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/benchmark.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/counter.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/benchmark_register.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/statistics.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/json_reporter.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/reporter.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/string_util.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/sysinfo.cc
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/src/timers.cc
)
-target_compile_definitions(benchmark PRIVATE
+target_compile_definitions(mbgl-vendor-benchmark PRIVATE
HAVE_STEADY_CLOCK
)
-target_include_directories(benchmark SYSTEM PUBLIC
- ${CMAKE_SOURCE_DIR}/vendor/benchmark/include
+target_include_directories(mbgl-vendor-benchmark SYSTEM PUBLIC
+ ${CMAKE_CURRENT_LIST_DIR}/benchmark/include
)
+
+set_property(TARGET mbgl-vendor-benchmark PROPERTY FOLDER Core)
diff --git a/vendor/boost.cmake b/vendor/boost.cmake
index 7c30a8d90e..33b203368e 100644
--- a/vendor/boost.cmake
+++ b/vendor/boost.cmake
@@ -1,5 +1,9 @@
-add_library(boost INTERFACE)
+if(TARGET mbgl-vendor-boost)
+ return()
+endif()
-target_include_directories(boost SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/boost/include
+add_library(mbgl-vendor-boost INTERFACE)
+
+target_include_directories(mbgl-vendor-boost SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/boost/include
)
diff --git a/vendor/cheap-ruler-cpp.cmake b/vendor/cheap-ruler-cpp.cmake
index 8d98cde63c..741a7b2ec2 100644
--- a/vendor/cheap-ruler-cpp.cmake
+++ b/vendor/cheap-ruler-cpp.cmake
@@ -1,6 +1,10 @@
-add_library(cheap-ruler-cpp INTERFACE)
+if(TARGET mbgl-vendor-cheap-ruler-cpp)
+ return()
+endif()
-target_include_directories(cheap-ruler-cpp SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/cheap-ruler-cpp/include
+add_library(mbgl-vendor-cheap-ruler-cpp INTERFACE)
+
+target_include_directories(mbgl-vendor-cheap-ruler-cpp SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/cheap-ruler-cpp/include
)
diff --git a/vendor/earcut.hpp.cmake b/vendor/earcut.hpp.cmake
index d7992cda50..e5459f16ce 100644
--- a/vendor/earcut.hpp.cmake
+++ b/vendor/earcut.hpp.cmake
@@ -1,5 +1,9 @@
-add_library(earcut.hpp INTERFACE)
+if(TARGET mbgl-vendor-earcut.hpp)
+ return()
+endif()
-target_include_directories(earcut.hpp SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/earcut.hpp/include
+add_library(mbgl-vendor-earcut.hpp INTERFACE)
+
+target_include_directories(mbgl-vendor-earcut.hpp SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/earcut.hpp/include
)
diff --git a/vendor/eternal.cmake b/vendor/eternal.cmake
index 1239a8a43d..5a429db4fa 100644
--- a/vendor/eternal.cmake
+++ b/vendor/eternal.cmake
@@ -1,5 +1,9 @@
-add_library(eternal INTERFACE)
+if(TARGET mbgl-vendor-eternal)
+ return()
+endif()
-target_include_directories(eternal SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/eternal/include
+add_library(mbgl-vendor-eternal INTERFACE)
+
+target_include_directories(mbgl-vendor-eternal SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/eternal/include
)
diff --git a/vendor/expected.cmake b/vendor/expected.cmake
index ebe63e1a10..f87f057386 100644
--- a/vendor/expected.cmake
+++ b/vendor/expected.cmake
@@ -1,5 +1,9 @@
-add_library(expected INTERFACE)
+if(TARGET mbgl-vendor-expected)
+ return()
+endif()
-target_include_directories(expected SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/expected/include
+add_library(mbgl-vendor-expected INTERFACE)
+
+target_include_directories(mbgl-vendor-expected SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/expected/include
)
diff --git a/vendor/filesystem.cmake b/vendor/filesystem.cmake
index fe2701890d..e6ea17d895 100644
--- a/vendor/filesystem.cmake
+++ b/vendor/filesystem.cmake
@@ -1,5 +1,9 @@
-add_library(filesystem INTERFACE)
+if(TARGET mbgl-vendor-filesystem)
+ return()
+endif()
-target_include_directories(filesystem SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/filesystem/include
+add_library(mbgl-vendor-filesystem INTERFACE)
+
+target_include_directories(mbgl-vendor-filesystem SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/filesystem/include
)
diff --git a/vendor/geojson-vt-cpp.cmake b/vendor/geojson-vt-cpp.cmake
index c8d955f64b..f2646336b3 100644
--- a/vendor/geojson-vt-cpp.cmake
+++ b/vendor/geojson-vt-cpp.cmake
@@ -1,5 +1,9 @@
-add_library(geojson-vt-cpp INTERFACE)
+if(TARGET mbgl-vendor-geojson-vt-cpp)
+ return()
+endif()
-target_include_directories(geojson-vt-cpp SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/geojson-vt-cpp/include
+add_library(mbgl-vendor-geojson-vt-cpp INTERFACE)
+
+target_include_directories(mbgl-vendor-geojson-vt-cpp SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/geojson-vt-cpp/include
)
diff --git a/vendor/geojson.hpp.cmake b/vendor/geojson.hpp.cmake
index 261650388f..27b17726f3 100644
--- a/vendor/geojson.hpp.cmake
+++ b/vendor/geojson.hpp.cmake
@@ -1,5 +1,9 @@
-add_library(geojson.hpp INTERFACE)
+if(TARGET mbgl-vendor-geojson.hpp)
+ return()
+endif()
-target_include_directories(geojson.hpp SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/geojson.hpp/include
+add_library(mbgl-vendor-geojson.hpp INTERFACE)
+
+target_include_directories(mbgl-vendor-geojson.hpp SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/geojson.hpp/include
)
diff --git a/vendor/googletest.cmake b/vendor/googletest.cmake
index edf8ebd82e..fd62354108 100644
--- a/vendor/googletest.cmake
+++ b/vendor/googletest.cmake
@@ -1,16 +1,22 @@
-add_library(googletest STATIC
+if(TARGET mbgl-vendor-googletest)
+ return()
+endif()
+
+add_library(mbgl-vendor-googletest STATIC EXCLUDE_FROM_ALL
${CMAKE_SOURCE_DIR}/vendor/googletest/googletest/src/gtest-all.cc
${CMAKE_SOURCE_DIR}/vendor/googletest/googlemock/src/gmock-all.cc
)
-target_include_directories(googletest PRIVATE
+target_include_directories(mbgl-vendor-googletest PRIVATE
${CMAKE_SOURCE_DIR}/vendor/googletest/googletest
${CMAKE_SOURCE_DIR}/vendor/googletest/googletest/include
${CMAKE_SOURCE_DIR}/vendor/googletest/googlemock
${CMAKE_SOURCE_DIR}/vendor/googletest/googlemock/include
)
-target_include_directories(googletest SYSTEM INTERFACE
+target_include_directories(mbgl-vendor-googletest SYSTEM INTERFACE
${CMAKE_SOURCE_DIR}/vendor/googletest/googletest/include
${CMAKE_SOURCE_DIR}/vendor/googletest/googlemock/include
)
+
+set_property(TARGET mbgl-vendor-googletest PROPERTY FOLDER Core)
diff --git a/vendor/icu.cmake b/vendor/icu.cmake
index 419b78333a..c3a05fe44b 100644
--- a/vendor/icu.cmake
+++ b/vendor/icu.cmake
@@ -1,22 +1,26 @@
-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
+if(TARGET mbgl-vendor-icu)
+ return()
+endif()
+
+add_library(mbgl-vendor-icu STATIC
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/cmemory.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/cstring.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/ubidi.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/ubidi_props.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/ubidiln.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/ubidiwrt.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/uchar.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/udataswp.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/uinvchar.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/umath.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/ushape.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/ustring.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/utf_impl.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/utrie2.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/icu/src/utypes.cpp
)
-target_compile_definitions(icu PRIVATE
+target_compile_definitions(mbgl-vendor-icu PRIVATE
UCONFIG_NO_BREAK_ITERATION=1
UCONFIG_NO_LEGACY_CONVERSION=1
U_CHARSET_IS_UTF8=1
@@ -26,11 +30,13 @@ target_compile_definitions(icu PRIVATE
_REENTRANT
)
-target_compile_options(icu PRIVATE
+target_compile_options(mbgl-vendor-icu PRIVATE
-Wno-error
-Wno-shorten-64-to-32
)
-target_include_directories(icu SYSTEM PUBLIC
- ${CMAKE_SOURCE_DIR}/vendor/icu/include
+target_include_directories(mbgl-vendor-icu SYSTEM PUBLIC
+ ${CMAKE_CURRENT_LIST_DIR}/icu/include
)
+
+set_property(TARGET mbgl-vendor-icu PROPERTY FOLDER Core)
diff --git a/vendor/jni.hpp.cmake b/vendor/jni.hpp.cmake
index bf3c129858..b64e0997d2 100644
--- a/vendor/jni.hpp.cmake
+++ b/vendor/jni.hpp.cmake
@@ -1,5 +1,9 @@
-add_library(jni.hpp INTERFACE)
+if(TARGET mbgl-vendor-jni.hpp)
+ return()
+endif()
-target_include_directories(jni.hpp SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/jni.hpp/include
+add_library(mbgl-vendor-jni.hpp INTERFACE)
+
+target_include_directories(mbgl-vendor-jni.hpp SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/jni.hpp/include
)
diff --git a/vendor/kdbush.hpp.cmake b/vendor/kdbush.hpp.cmake
index 450530b7c6..367bc7886b 100644
--- a/vendor/kdbush.hpp.cmake
+++ b/vendor/kdbush.hpp.cmake
@@ -1,5 +1,9 @@
-add_library(kdbush.hpp INTERFACE)
+if(TARGET mbgl-vendor-kdbush.hpp)
+ return()
+endif()
-target_include_directories(kdbush.hpp SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/kdbush.hpp/include
+add_library(mbgl-vendor-kdbush.hpp INTERFACE)
+
+target_include_directories(mbgl-vendor-kdbush.hpp SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/kdbush.hpp/include
)
diff --git a/vendor/mapbox-base b/vendor/mapbox-base
-Subproject 13fa9eced82977791d814a7d549b2b6929b82b3
+Subproject 2a010969abc0d30cb49728fd2ab1e347689af68
diff --git a/vendor/nunicode.cmake b/vendor/nunicode.cmake
index d318b8a265..0a310a7bea 100644
--- a/vendor/nunicode.cmake
+++ b/vendor/nunicode.cmake
@@ -1,21 +1,25 @@
-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
+if(TARGET mbgl-vendor-nunicode)
+ return()
+endif()
+
+add_library(mbgl-vendor-nunicode STATIC
+ ${CMAKE_CURRENT_LIST_DIR}/nunicode/src/libnu/ducet.c
+ ${CMAKE_CURRENT_LIST_DIR}/nunicode/src/libnu/strcoll.c
+ ${CMAKE_CURRENT_LIST_DIR}/nunicode/src/libnu/strings.c
+ ${CMAKE_CURRENT_LIST_DIR}/nunicode/src/libnu/tolower.c
+ ${CMAKE_CURRENT_LIST_DIR}/nunicode/src/libnu/tounaccent.c
+ ${CMAKE_CURRENT_LIST_DIR}/nunicode/src/libnu/toupper.c
+ ${CMAKE_CURRENT_LIST_DIR}/nunicode/src/libnu/utf8.c
)
-target_compile_definitions(nunicode PRIVATE
+target_compile_definitions(mbgl-vendor-nunicode PRIVATE
NU_BUILD_STATIC
)
-target_compile_options(nunicode PRIVATE
+target_compile_options(mbgl-vendor-nunicode PRIVATE
-Wno-error
)
-target_include_directories(nunicode SYSTEM PUBLIC
- ${CMAKE_SOURCE_DIR}/vendor/nunicode/include
+target_include_directories(mbgl-vendor-nunicode SYSTEM PUBLIC
+ ${CMAKE_CURRENT_LIST_DIR}/nunicode/include
)
diff --git a/vendor/pixelmatch-cpp.cmake b/vendor/pixelmatch-cpp.cmake
index 8efa527133..aca9aa0d96 100644
--- a/vendor/pixelmatch-cpp.cmake
+++ b/vendor/pixelmatch-cpp.cmake
@@ -1,5 +1,9 @@
-add_library(pixelmatch-cpp INTERFACE)
+if(TARGET mbgl-vendor-pixelmatch-cpp)
+ return()
+endif()
-target_include_directories(pixelmatch-cpp SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/pixelmatch-cpp/include
+add_library(mbgl-vendor-pixelmatch-cpp INTERFACE)
+
+target_include_directories(mbgl-vendor-pixelmatch-cpp SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/pixelmatch-cpp/include
)
diff --git a/vendor/polylabel.cmake b/vendor/polylabel.cmake
index d732723a89..5a930c9f6d 100644
--- a/vendor/polylabel.cmake
+++ b/vendor/polylabel.cmake
@@ -1,5 +1,9 @@
-add_library(polylabel INTERFACE)
+if(TARGET mbgl-vendor-polylabel)
+ return()
+endif()
-target_include_directories(polylabel SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/polylabel/include
+add_library(mbgl-vendor-polylabel INTERFACE)
+
+target_include_directories(mbgl-vendor-polylabel SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/polylabel/include
)
diff --git a/vendor/protozero.cmake b/vendor/protozero.cmake
index e4f32f1ace..41af37f188 100644
--- a/vendor/protozero.cmake
+++ b/vendor/protozero.cmake
@@ -1,5 +1,9 @@
-add_library(protozero INTERFACE)
+if(TARGET mbgl-vendor-protozero)
+ return()
+endif()
-target_include_directories(protozero SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/protozero/include
+add_library(mbgl-vendor-protozero INTERFACE)
+
+target_include_directories(mbgl-vendor-protozero SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/protozero/include
)
diff --git a/vendor/rapidjson.cmake b/vendor/rapidjson.cmake
index 40b5c31895..6d22d226de 100644
--- a/vendor/rapidjson.cmake
+++ b/vendor/rapidjson.cmake
@@ -1,15 +1,19 @@
-add_library(rapidjson INTERFACE)
+if(TARGET mbgl-vendor-rapidjson)
+ return()
+endif()
+
+add_library(mbgl-vendor-rapidjson INTERFACE)
-target_include_directories(rapidjson SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/rapidjson/include
+target_include_directories(mbgl-vendor-rapidjson SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/rapidjson/include
)
-target_compile_definitions(rapidjson INTERFACE
+target_compile_definitions(mbgl-vendor-rapidjson INTERFACE
RAPIDJSON_HAS_STDSTRING=1
)
if(WIN32)
- target_compile_definitions(rapidjson INTERFACE
+ target_compile_definitions(mbgl-vendor-rapidjson INTERFACE
RAPIDJSON_HAS_CXX11_RVALUE_REFS
)
endif()
diff --git a/vendor/shelf-pack-cpp.cmake b/vendor/shelf-pack-cpp.cmake
index 0d8e850723..bf2e07c22f 100644
--- a/vendor/shelf-pack-cpp.cmake
+++ b/vendor/shelf-pack-cpp.cmake
@@ -1,5 +1,9 @@
-add_library(shelf-pack-cpp INTERFACE)
+if(TARGET mbgl-vendor-shelf-pack-cpp)
+ return()
+endif()
-target_include_directories(shelf-pack-cpp SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/shelf-pack-cpp/include
+add_library(mbgl-vendor-shelf-pack-cpp INTERFACE)
+
+target_include_directories(mbgl-vendor-shelf-pack-cpp SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/shelf-pack-cpp/include
)
diff --git a/vendor/sqlite.cmake b/vendor/sqlite.cmake
new file mode 100644
index 0000000000..d01ac0dd4e
--- /dev/null
+++ b/vendor/sqlite.cmake
@@ -0,0 +1,26 @@
+if(TARGET mbgl-vendor-sqlite)
+ return()
+endif()
+
+add_library(mbgl-vendor-sqlite STATIC
+ ${CMAKE_CURRENT_LIST_DIR}/sqlite/src/sqlite3.c
+)
+
+include(CheckSymbolExists)
+check_symbol_exists("strerror_r" "string.h" MBGL_SQLITE3_HAVE_STRERROR_R)
+
+if(MBGL_SQLITE3_HAVE_STRERROR_R)
+ target_compile_definitions(mbgl-vendor-sqlite PRIVATE
+ HAVE_STRERROR_R
+ )
+endif()
+
+# So we don't need to link with -ldl
+target_compile_definitions(mbgl-vendor-sqlite PRIVATE
+ SQLITE_OMIT_LOAD_EXTENSION
+ SQLITE_THREADSAFE
+)
+
+target_include_directories(mbgl-vendor-sqlite SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/sqlite/include
+)
diff --git a/vendor/supercluster.hpp.cmake b/vendor/supercluster.hpp.cmake
index 90d0becade..d88131fca6 100644
--- a/vendor/supercluster.hpp.cmake
+++ b/vendor/supercluster.hpp.cmake
@@ -1,5 +1,9 @@
-add_library(supercluster.hpp INTERFACE)
+if(TARGET mbgl-vendor-supercluster.hpp)
+ return()
+endif()
-target_include_directories(supercluster.hpp SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/supercluster.hpp/include
+add_library(mbgl-vendor-supercluster.hpp INTERFACE)
+
+target_include_directories(mbgl-vendor-supercluster.hpp SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/supercluster.hpp/include
)
diff --git a/vendor/unique_resource.cmake b/vendor/unique_resource.cmake
index ad450066eb..02fed9cbc1 100644
--- a/vendor/unique_resource.cmake
+++ b/vendor/unique_resource.cmake
@@ -1,5 +1,9 @@
-add_library(unique_resource INTERFACE)
+if(TARGET mbgl-vendor-unique_resource)
+ return()
+endif()
-target_include_directories(unique_resource SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/unique_resource
+add_library(mbgl-vendor-unique_resource INTERFACE)
+
+target_include_directories(mbgl-vendor-unique_resource SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/unique_resource
)
diff --git a/vendor/vector-tile.cmake b/vendor/vector-tile.cmake
index ec4552afcc..5f31fae94c 100644
--- a/vendor/vector-tile.cmake
+++ b/vendor/vector-tile.cmake
@@ -1,5 +1,9 @@
-add_library(vector-tile INTERFACE)
+if(TARGET mbgl-vendor-vector-tile)
+ return()
+endif()
-target_include_directories(vector-tile SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/vector-tile/include
+add_library(mbgl-vendor-vector-tile INTERFACE)
+
+target_include_directories(mbgl-vendor-vector-tile SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/vector-tile/include
)
diff --git a/vendor/wagyu.cmake b/vendor/wagyu.cmake
index 7cf3397b89..15f0758fb8 100644
--- a/vendor/wagyu.cmake
+++ b/vendor/wagyu.cmake
@@ -1,5 +1,9 @@
-add_library(wagyu INTERFACE)
+if(TARGET mbgl-vendor-wagyu)
+ return()
+endif()
-target_include_directories(wagyu SYSTEM INTERFACE
- ${CMAKE_SOURCE_DIR}/vendor/wagyu/include
+add_library(mbgl-vendor-wagyu INTERFACE)
+
+target_include_directories(mbgl-vendor-wagyu SYSTEM INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/wagyu/include
)