Commit Graph

145 Commits

Author SHA1 Message Date
Thiago Marcos P. Santos
65cec8be34 [android,darwin,ios,qt] Remove unused code
These files are no longer needed after the new GL abstraction.
2019-02-12 19:42:08 +02:00
Thiago Marcos P. Santos
690833ef92 [core] Switch to the new OpenGL abstraction
This patch will make Mapbox GL Core never use OpenGL
directly. We should consider locking into OpenGL ES 2.0
to simplify the code path and remove #ifdefs.
2019-02-12 19:42:08 +02:00
Thiago Marcos P. Santos
470b01847d [android,linux,darwin,qt] Load OpenGL for the platform
These loaders will provide pointers to the platform implementation
of OpenGL. On Android, Linux and Darwin, we simply link with the
OpenGL implementation that is expected to exist on the platform.

Qt has its own GL loader, so we just connect the dots.
2019-02-12 19:42:08 +02:00
Alexander Shalamov
2da9d483ac [android] Implement google benchmark runner for Android platform 2019-01-11 09:49:36 +02:00
Konstantin Käfer
1d8235f5b8 [build] rework platform/default directory and add -files.txt for vendored libs 2018-12-14 11:03:03 +01:00
Jordan Kiley
7cbd31e456 Switch code coverage system to CodeCov (#13297) 2018-11-08 10:56:44 -08:00
Mikhail Pozdnyakov
ffdeef3a26 Refer corresponding LayerFactory instance from the Layer::Impl 2018-11-07 16:34:20 +02:00
Thiago Marcos P. Santos
69960afb8d [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.
2018-10-31 18:19:28 +02:00
ear7h
7bf29bbf5a [linux] add map_snapshotter.*pp to linux core build 2018-10-09 11:15:19 +03:00
Konstantin Käfer
071129bf61 [linux,qt] Remove remainder of WebP support 2018-09-13 13:27:44 +02:00
Konstantin Käfer
4a3c4edb59 [android] add support for gnustl 2018-09-11 11:43:54 +02:00
Konstantin Käfer
e51eb0fc23 [build] use vendored version of ICU 2018-09-05 12:26:15 +02:00
Konstantin Käfer
679d66f36d [build] use vendored SQLite for LTO benefits + custom compile flags 2018-09-05 12:26:15 +02:00
Ivo van Dongen
fcb68041d5 [offline] Add option to pass geojson input file 2018-08-20 22:49:01 +03:00
John Firebaugh
ca9ba9cb43 [build] Move all mason_use statements to a single file
So its checksum can be used in a CI cache key name.
2018-07-13 11:50:39 -07:00
John Firebaugh
840a5cf120 [build] Record binary size via GitHub check 2018-07-03 14:03:32 -07:00
Chris Loer
35256c6e5b [core] Default "collator" implementation
- Based on nunicode
 - Not locale-aware
 - Used by linux and Qt builds
2018-07-03 10:03:05 -07:00
Chris Loer
251f5e605f [core, vendor] Create vendored nunicode 1.8.
- Version bump to 1.8 necessary for "unaccent" functionality
- Qt now depends on nunicode, ruling out use of precompiled binaries
2018-07-03 10:03:05 -07:00
Antonio Zugaldia
36c6a8ea79 [linux] Documentation update to reflect Ubuntu 18.04 packages (#12272)
* [linux] update libllvm version for ubuntu 18.04

* [linux] cmake 3.x is now bundled with ubuntu 18.04
2018-07-02 09:10:08 -04:00
Bruno de Oliveira Abinader
192bee256b [build] GLFW version 2018-06-27-0be4f3f 2018-06-27 17:23:49 +03:00
Konstantin Käfer
9ebb504164 [node] hide all symbols from the Node.js addons 2018-06-04 10:43:21 +02:00
Konstantin Käfer
d232a7a6f3 [linux] link EGL backend against SwiftShader to avoid Mesa dependency 2018-06-04 10:43:21 +02:00
Konstantin Käfer
500cf3864e [linux] load cURL dynamically for wider compatibility 2018-06-04 10:43:21 +02:00
Konstantin Käfer
0b305aca7d [linux] statically link the C++ standard library
Most of the STL is header-only anyway, and statically linking it only has a small overhead. On the other hand, it allows us to build more portable executables.
2018-06-04 10:43:21 +02:00
John Firebaugh
e423ef5609 [linux] Don't compile linux mbgl-loop-uv against node headers
Previously, `target_include_directories(mbgl-loop-uv PUBLIC ${NODEJS_INCLUDE_DIRS})` always applied. Compiles were working by accident because node is always installed in CI. Instead, split and inline loop-uv.cmake contents: linux uses `target_add_mason_package(mbgl-loop-uv PUBLIC libuv)`, node uses `target_include_directories(mbgl-loop-node PUBLIC ${NODEJS_INCLUDE_DIRS})`.
2018-05-04 07:19:36 -07:00
John Firebaugh
9a4b806fa8 [docs] Make per-platform installation docs self-contained
I've seen several issues where users followed platform-specific install docs, but were unaware of additional prerequisites spelled out in the top-level INSTALL.md. So let's try making each platform's installation documentation self contained.
2018-04-30 13:10:31 -07:00
Konstantin Käfer
1dd5e405c1 [build] Remove unused files, and cleanup directories 2018-01-03 01:07:41 +01:00
Bruno de Oliveira Abinader
6a838eeffb [build] Replace boost_libprogram_options with args 2017-12-18 16:40:29 +02:00
Chris Loer
1661af1cb4 [core] Enable local glyph generation using TinySDF.
- Platform-specific LocalGlyphRasterizer is responsible for deciding which glyphs to rasterize locally and for implementing the rasterization.
 - Default platform implementation doesn't locally generate any glyphs -> no behavior change
 - Unit test uses StubLocalGlyphRasterizer, which returns a single fixed bitmap for all CJK glyphs
 - Rename glyph_loader.test to glyph_manager.test
2017-12-11 10:43:00 -08:00
Konstantin Käfer
8757164ac8 [build] standardize on -fvisibility=hidden for all targets
Enables -fvisibility=hidden for iOS and Linux, and adds a workaround for GCC 6.3-7.1
Adds a GCC 6 build
Enables diagnostics for C files
Fixes a shadow warning in parsedate.c
2017-11-29 17:31:33 +01:00
Konstantin Käfer
2eec5a1980 [core] move HeadlessBackend extension initialization code into Impl 2017-11-29 15:48:51 +01:00
Konstantin Käfer
335f04f7e1 [core] fold HeadlessDisplay into the headless RenderBackend implementation 2017-11-29 15:48:51 +01:00
Thiago Marcos P. Santos
9d87dc8cf1 [core] Make the OpenGL implementation platform specific
Split the headers, so each platform includes the most appropriated
header.
2017-10-25 18:08:28 +03:00
Konstantin Käfer
64c75b442c [build] split out DefaultFileSource and dependents to a separate target
We don't want to link it into the node bindings, so keep it in a separate target
2017-09-28 13:48:36 -04:00
Ivo van Dongen
abecfe2333 [linux] headless display - support opengl es 2 2017-08-30 17:18:37 +03:00
Anand Thakker
d436bcd56b Add {Source,CompositeCamera}Function benchmarks (#9838) 2017-08-29 10:03:57 -04:00
John Firebaugh
32bd1d54fa [node, tests] Consolidate headless rendering logic in HeadlessFrontend 2017-07-26 09:50:38 -07:00
Bruno de Oliveira Abinader
15c5bf359a [build] Downgrade GCC support from 5.0 to 4.9 2017-07-19 19:24:30 +03:00
Ivo van Dongen
a5a0558bde [test] allow only a single shared display to avoid egl errors 2017-07-18 10:45:12 +02:00
Bruno de Oliveira Abinader
d0be2ed2a6 [build] Update GLFW to 2017-07-13-67c9155 2017-07-13 14:59:06 +03:00
Thiago Marcos P. Santos
7c117281bc [core] Isolate pthread-based tls implementation 2017-07-07 18:10:06 +03:00
Bruno de Oliveira Abinader
461387343d [build] Switch from Travis CI to CircleCI 2017-06-22 13:33:16 -07:00
Bruno de Oliveira Abinader
17af488048 [tidy] modernize-make-unique 2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
1e1da36123 [tidy] modernize-use-equals-default 2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
9894e58047 [tidy] modernize-use-override 2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
fa36110dfb [tidy] modernize-use-auto 2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
fd9e60c748 [build] Added 'shared_thread_pool.cpp' to 'mbgl-core' target on Linux 2017-05-02 12:54:37 +03:00
Konstantin Käfer
6fcac0f580 [core] always create a pixelbuffer surface in the EGL backend
We need a surface to activate a context. Some implementation don't seem to error when passing EGL_NO_SURFACE, but it doesn't seem standards compliant.
2017-04-05 23:05:46 +02:00
Konstantin Käfer
7c69cfa6de [core] destroy surface before context in EGL backend 2017-04-05 23:05:46 +02:00
Konstantin Käfer
c86b492bf7 [build] don't advertise headers that aren't used in public headers 2017-03-28 21:24:12 +02:00