Skip to content
This repository was archived by the owner on Aug 8, 2023. It is now read-only.

Commit b5980bd

Browse files
committed
[build] Replace geometry.hpp/variant with mapbox-base
1 parent f529380 commit b5980bd

15 files changed

+77
-94
lines changed

.gitmodules

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@
1919
[submodule "vendor/geojson.hpp"]
2020
path = vendor/geojson.hpp
2121
url = https://github.com/mapbox/geojson.hpp.git
22-
[submodule "vendor/geometry.hpp"]
23-
path = vendor/geometry.hpp
24-
url = https://github.com/mapbox/geometry.hpp.git
2522
[submodule "vendor/polylabel"]
2623
path = vendor/polylabel
2724
url = https://github.com/mapbox/polylabel.git
@@ -34,9 +31,6 @@
3431
[submodule "vendor/supercluster.hpp"]
3532
path = vendor/supercluster.hpp
3633
url = https://github.com/mapbox/supercluster.hpp.git
37-
[submodule "vendor/variant"]
38-
path = vendor/variant
39-
url = https://github.com/mapbox/variant.git
4034
[submodule "vendor/vector-tile"]
4135
path = vendor/vector-tile
4236
url = https://github.com/mapbox/vector-tile.git
@@ -103,3 +97,6 @@
10397
[submodule "vendor/filesystem"]
10498
path = vendor/filesystem
10599
url = https://github.com/gulrak/filesystem.git
100+
[submodule "vendor/mapbox-base"]
101+
path = vendor/mapbox-base
102+
url = https://github.com/mapbox/mapbox-base.git

appveyor.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ install:
6262
- git config --system core.longpaths true
6363
- git submodule sync
6464
- git submodule update --init
65+
- git submodule foreach git submodule update --init
6566
- ps: |
6667
if (!(Test-Path cmake-3.10.1-win64-x64.zip)) {
6768
appveyor DownloadFile https://cmake.org/files/v3.10/cmake-3.10.1-win64-x64.zip

circle.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,9 @@ jobs:
477477
- install-dependencies: { mason: false, ccache: false }
478478
- run:
479479
name: Initialize submodules
480-
command: git submodule update --init
480+
command: |
481+
git submodule update --init
482+
git submodule foreach git submodule update --init
481483
- run:
482484
name: Verify submodule pin
483485
command: scripts/nitpick/submodule-pin.js
@@ -720,7 +722,9 @@ jobs:
720722
- checkout
721723
- run:
722724
name: Checkout submodules
723-
command: git submodule update --init
725+
command: |
726+
git submodule update --init
727+
git submodule foreach git submodule update --init
724728
- run:
725729
name: Build Android library
726730
command: |

cmake/core.cmake

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ endif()
2828
# libraries in our public interface.
2929
target_link_libraries(mbgl-core PUBLIC
3030
boost
31+
mapbox-base
3132
geojson.hpp
32-
geometry.hpp
3333
${ICU_LIBRARY}
3434
optional
3535
polylabel
3636
protozero
3737
rapidjson
38-
variant
3938
vector-tile
4039
)
4140

cmake/vendor.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ include(${CMAKE_SOURCE_DIR}/vendor/expected.cmake)
1212
include(${CMAKE_SOURCE_DIR}/vendor/filesystem.cmake)
1313
include(${CMAKE_SOURCE_DIR}/vendor/geojson-vt-cpp.cmake)
1414
include(${CMAKE_SOURCE_DIR}/vendor/geojson.hpp.cmake)
15-
include(${CMAKE_SOURCE_DIR}/vendor/geometry.hpp.cmake)
1615
include(${CMAKE_SOURCE_DIR}/vendor/icu.cmake)
1716
include(${CMAKE_SOURCE_DIR}/vendor/jni.hpp.cmake)
1817
include(${CMAKE_SOURCE_DIR}/vendor/kdbush.hpp.cmake)
@@ -25,11 +24,12 @@ include(${CMAKE_SOURCE_DIR}/vendor/rapidjson.cmake)
2524
include(${CMAKE_SOURCE_DIR}/vendor/shelf-pack-cpp.cmake)
2625
include(${CMAKE_SOURCE_DIR}/vendor/supercluster.hpp.cmake)
2726
include(${CMAKE_SOURCE_DIR}/vendor/unique_resource.cmake)
28-
include(${CMAKE_SOURCE_DIR}/vendor/variant.cmake)
2927
include(${CMAKE_SOURCE_DIR}/vendor/vector-tile.cmake)
3028
include(${CMAKE_SOURCE_DIR}/vendor/wagyu.cmake)
3129
include(${CMAKE_SOURCE_DIR}/vendor/args.cmake)
3230

31+
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/vendor/mapbox-base)
32+
3333
if(MBGL_PLATFORM STREQUAL "linux" OR MBGL_PLATFORM STREQUAL "macos")
3434
include(${CMAKE_SOURCE_DIR}/vendor/glfw.cmake)
3535
endif()

misc/buck/mapbox-gl-native/BUCK

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ mbgl_vendor_library("expected")
4545
mbgl_vendor_library("eternal")
4646
mbgl_vendor_library("geojson.hpp")
4747
mbgl_vendor_library("geojson-vt-cpp")
48-
mbgl_vendor_library("geometry.hpp")
4948
mbgl_vendor_library("jni.hpp")
5049
mbgl_vendor_library("kdbush.hpp")
50+
mbgl_vendor_library("mapbox-base")
5151
mbgl_vendor_library("sqlite")
5252
mbgl_vendor_library("optional")
5353
mbgl_vendor_library("pixelmatch-cpp")
@@ -57,7 +57,6 @@ mbgl_vendor_library("rapidjson")
5757
mbgl_vendor_library("shelf-pack-cpp")
5858
mbgl_vendor_library("supercluster.hpp")
5959
mbgl_vendor_library("unique_resource")
60-
mbgl_vendor_library("variant")
6160
mbgl_vendor_library("vector-tile")
6261
mbgl_vendor_library("wagyu")
6362

scripts/generate-file-lists.js

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,19 @@ const xcode = require('xcode');
77

88
require('./style-code');
99

10-
const classifier = /^(?:(?:(?:platform|vendor)\/(?:[^/]+)\/|(?:test|benchmark)\/)?(?:(include|src)\/)?)?(.+\.h(?:pp|xx)?)$/;
10+
const classifier = /^(?:(?:(?:platform|vendor)\/(?:(?!include|src).)*\/|(?:test|benchmark)\/)?(?:(include|src)\/)?)?(.+\.h(?:pp|xx)?)$/;
1111

12-
function generateFileList(filename, root, regex, patterns) {
12+
function generateFileList(filename, roots, regex, patterns) {
1313
writeFileList(
1414
filename,
15-
child_process
15+
[].concat.apply([], roots.map(function(root) {
16+
return child_process
1617
.execSync(`git -C ${root} ls-files ${patterns.map((p) => '"' + p + '"').join(' ')}`)
1718
.toString()
1819
.trim()
1920
.split('\n')
20-
.map(file => path.join(root, file)));
21+
.map(file => path.join(root, file))
22+
})))
2123
}
2224

2325
function writeFileList(filename, files) {
@@ -110,42 +112,41 @@ function generateXcodeSourceList(project, target, name) {
110112
writeIfModified(`${projectPath}/${name || target}-files.json`, JSON.stringify(json, null, 4) + '\n');
111113
}
112114

113-
generateFileList('src/core-files.json', '.', /^(?:src|include)\/(?:mbgl\/)?(.+)\/[^\/]+$/,
115+
generateFileList('src/core-files.json', [ '.' ], /^(?:src|include)\/(?:mbgl\/)?(.+)\/[^\/]+$/,
114116
[ 'include/*.hpp', 'include/*.h', 'src/*.hpp', 'src/*.cpp', 'src/*.h', 'src/*.c' ]);
115117

116-
generateFileList('benchmark/benchmark-files.json', '.', /^benchmark\/(?:(?:src|include)\/)?(?:mbgl\/)?(?:(.+)\/)?[^\/]+$/,
117-
[ 'benchmark/*.hpp', 'benchmark/*.cpp', 'benchmark/*.h', 'benchmark/*.c' ]);
118+
generateFileList('benchmark/benchmark-files.json', [ '.' ], /^benchmark\/(?:(?:src|include)\/)?(?:mbgl\/)?(?:(.+)\/)?[^\/]+$/,
119+
[ 'benchmark/*.hpp', 'benchmark/*.cpp', 'benchmark/*.host', 'benchmark/*.c' ]);
118120

119-
generateFileList('test/test-files.json', '.', /^test\/(?:(?:src|include)\/)?(?:mbgl\/)?(?:(.+)\/)?[^\/]+$/,
121+
generateFileList('test/test-files.json', [ '.' ], /^test\/(?:(?:src|include)\/)?(?:mbgl\/)?(?:(.+)\/)?[^\/]+$/,
120122
[ 'test/*.hpp', 'test/*.cpp', 'test/*.h', 'test/*.c' ]);
121123

122124
generateXcodeSourceList('platform/macos/macos.xcodeproj', 'dynamic', 'sdk');
123125

124126
generateXcodeSourceList('platform/ios/ios.xcodeproj', 'dynamic', 'sdk');
125127

126128
const vendorRegex = /^(?:(?:src|include)\/)?(?:(.+)\/)?[^\/]+$/
127-
generateFileList('vendor/args-files.json', 'vendor/args', vendorRegex, [ "args.hxx" ]);
128-
generateFileList('vendor/boost-files.json', 'vendor/boost', vendorRegex, [ "include/**/*.hpp", "include/**/*.h" ]);
129-
generateFileList('vendor/cheap-ruler-cpp-files.json', 'vendor/cheap-ruler-cpp', vendorRegex, [ "include/**/*.hpp" ]);
130-
generateFileList('vendor/earcut.hpp-files.json', 'vendor/earcut.hpp', vendorRegex, [ "include/**/*.hpp" ]);
131-
generateFileList('vendor/eternal-files.json', 'vendor/eternal', vendorRegex, [ "include/**/*.hpp" ]);
132-
generateFileList('vendor/expected-files.json', 'vendor/expected', vendorRegex, [ "include/expected.hpp" ]);
133-
generateFileList('vendor/filesystem-files.json', 'vendor/filesystem', vendorRegex, [ "include/**/*.hpp" ]);
134-
generateFileList('vendor/geojson-vt-cpp-files.json', 'vendor/geojson-vt-cpp', vendorRegex, [ "include/**/*.hpp" ]);
135-
generateFileList('vendor/geojson.hpp-files.json', 'vendor/geojson.hpp', vendorRegex, [ "include/**/*.hpp" ]);
136-
generateFileList('vendor/geometry.hpp-files.json', 'vendor/geometry.hpp', vendorRegex, [ "include/**/*.hpp" ]);
137-
generateFileList('vendor/icu-files.json', 'vendor/icu', vendorRegex, [ "include/**/*.h", "src/*.h", "src/*.cpp" ]);
138-
generateFileList('vendor/jni.hpp-files.json', 'vendor/jni.hpp', vendorRegex, [ "include/**/*.hpp", ":!:include/jni/string_conversion.hpp" ]);
139-
generateFileList('vendor/kdbush.hpp-files.json', 'vendor/kdbush.hpp', vendorRegex, [ "include/*.hpp" ]);
140-
generateFileList('vendor/optional-files.json', 'vendor/optional', vendorRegex, [ "optional.hpp" ]);
141-
generateFileList('vendor/pixelmatch-cpp-files.json', 'vendor/pixelmatch-cpp', vendorRegex, [ "include/**/*.hpp" ]);
142-
generateFileList('vendor/polylabel-files.json', 'vendor/polylabel', vendorRegex, [ "include/**/*.hpp" ]);
143-
generateFileList('vendor/protozero-files.json', 'vendor/protozero', vendorRegex, [ "include/**/*.hpp" ]);
144-
generateFileList('vendor/rapidjson-files.json', 'vendor/rapidjson', vendorRegex, [ "include/**/*.h" ]);
145-
generateFileList('vendor/shelf-pack-cpp-files.json', 'vendor/shelf-pack-cpp', vendorRegex, [ "include/**/*.hpp" ]);
146-
generateFileList('vendor/sqlite-files.json', 'vendor/sqlite', vendorRegex, [ "include/*.h", "src/*.c" ]);
147-
generateFileList('vendor/supercluster.hpp-files.json', 'vendor/supercluster.hpp', vendorRegex, [ "include/*.hpp" ]);
148-
generateFileList('vendor/unique_resource-files.json', 'vendor/unique_resource', vendorRegex, [ "unique_resource.hpp" ]);
149-
generateFileList('vendor/variant-files.json', 'vendor/variant', vendorRegex, [ "include/**/*.hpp" ]);
150-
generateFileList('vendor/vector-tile-files.json', 'vendor/vector-tile', vendorRegex, [ "include/**/*.hpp" ]);
151-
generateFileList('vendor/wagyu-files.json', 'vendor/wagyu', vendorRegex, [ "include/**/*.hpp" ]);
129+
generateFileList('vendor/args-files.json', [ 'vendor/args' ], vendorRegex, [ "args.hxx" ]);
130+
generateFileList('vendor/boost-files.json', [ 'vendor/boost' ], vendorRegex, [ "include/**/*.hpp", "include/**/*.h" ]);
131+
generateFileList('vendor/cheap-ruler-cpp-files.json', [ 'vendor/cheap-ruler-cpp' ], vendorRegex, [ "include/**/*.hpp" ]);
132+
generateFileList('vendor/earcut.hpp-files.json', [ 'vendor/earcut.hpp' ], vendorRegex, [ "include/**/*.hpp" ]);
133+
generateFileList('vendor/eternal-files.json', [ 'vendor/eternal' ], vendorRegex, [ "include/**/*.hpp" ]);
134+
generateFileList('vendor/expected-files.json', [ 'vendor/expected' ], vendorRegex, [ "include/expected.hpp" ]);
135+
generateFileList('vendor/filesystem-files.json', [ 'vendor/filesystem' ], vendorRegex, [ "include/**/*.hpp" ]);
136+
generateFileList('vendor/geojson-vt-cpp-files.json', [ 'vendor/geojson-vt-cpp' ], vendorRegex, [ "include/**/*.hpp" ]);
137+
generateFileList('vendor/geojson.hpp-files.json', [ 'vendor/geojson.hpp' ], vendorRegex, [ "include/**/*.hpp" ]);
138+
generateFileList('vendor/icu-files.json', [ 'vendor/icu' ], vendorRegex, [ "include/**/*.h", "src/*.h", "src/*.cpp" ]);
139+
generateFileList('vendor/jni.hpp-files.json', [ 'vendor/jni.hpp' ], vendorRegex, [ "include/**/*.hpp", ":!:include/jni/string_conversion.hpp" ]);
140+
generateFileList('vendor/kdbush.hpp-files.json', [ 'vendor/kdbush.hpp' ], vendorRegex, [ "include/*.hpp" ]);
141+
generateFileList('vendor/mapbox-base-files.json', [ 'vendor/mapbox-base/libs/geometry.hpp', 'vendor/mapbox-base/libs/variant' ], vendorRegex, [ "include/*.hpp", "include/**/*.hpp" ]);
142+
generateFileList('vendor/optional-files.json', [ 'vendor/optional' ], vendorRegex, [ "optional.hpp" ]);
143+
generateFileList('vendor/pixelmatch-cpp-files.json', [ 'vendor/pixelmatch-cpp' ], vendorRegex, [ "include/**/*.hpp" ]);
144+
generateFileList('vendor/polylabel-files.json', [ 'vendor/polylabel' ], vendorRegex, [ "include/**/*.hpp" ]);
145+
generateFileList('vendor/protozero-files.json', [ 'vendor/protozero' ], vendorRegex, [ "include/**/*.hpp" ]);
146+
generateFileList('vendor/rapidjson-files.json', [ 'vendor/rapidjson' ], vendorRegex, [ "include/**/*.h" ]);
147+
generateFileList('vendor/shelf-pack-cpp-files.json', [ 'vendor/shelf-pack-cpp' ], vendorRegex, [ "include/**/*.hpp" ]);
148+
generateFileList('vendor/sqlite-files.json', [ 'vendor/sqlite' ], vendorRegex, [ "include/*.h", "src/*.c" ]);
149+
generateFileList('vendor/supercluster.hpp-files.json', [ 'vendor/supercluster.hpp' ], vendorRegex, [ "include/*.hpp" ]);
150+
generateFileList('vendor/unique_resource-files.json', [ 'vendor/unique_resource' ], vendorRegex, [ "unique_resource.hpp" ]);
151+
generateFileList('vendor/vector-tile-files.json', [ 'vendor/vector-tile' ], vendorRegex, [ "include/**/*.hpp" ]);
152+
generateFileList('vendor/wagyu-files.json', [ 'vendor/wagyu' ], vendorRegex, [ "include/**/*.hpp" ]);

vendor/geometry.hpp

Lines changed: 0 additions & 1 deletion
This file was deleted.

vendor/geometry.hpp-files.json

Lines changed: 0 additions & 22 deletions
This file was deleted.

vendor/geometry.hpp.cmake

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)