Commit Graph

57 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
fd9e60c748 [build] Added 'shared_thread_pool.cpp' to 'mbgl-core' target on Linux 2017-05-02 12:54:37 +03: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
John Firebaugh
321d820a87 [node] Eliminate src as an include path 2017-03-28 13:53:19 +02:00
John Firebaugh
3afae825c7 Use ICU compiled with -Os 2017-03-08 14:05:19 -08:00
Thiago Marcos P. Santos
d2469f4bdb [build] Fix build on Ubuntu 16.04+
gtest was broken because of lack of CXX11ABI support.
2017-02-23 18:39:40 +02:00
Konstantin Käfer
e66f050b99 [glfw] use newer version that allows automated graphics switching on macOS 2017-02-10 17:55:57 +01:00
Konstantin Käfer
bb931505c5 [build] Remove Mason submodule in favor of CMake mason 2017-02-08 19:07:16 +01:00
Konstantin Käfer
a253a15a7c [linux] update CA bundle and add script for automated updates
also removes the ca-bundle.crt from the Android build, since it's entirely unused
2017-01-27 14:52:21 +01:00
Konstantin Käfer
1715bf9508 [core] replace encodePNG() with a version that doesn't use libpng
rationale: encodePNG is only used in tests + sample apps, but shouldn't actually be part of the core library. In #7828, we're removing the libpng dependency for Android, and using a libpng-free version of encodePNG allows us to run the core unit tests on Android without pulling in libpng just for the test suite. In a next step, we should remove encodePNG() from the image.hpp header, which is a public header.
2017-01-25 10:32:23 +01:00
John Firebaugh
0ccc255f0e [linux] mesa 13.0.3 2017-01-23 11:13:42 -06:00
Thiago Marcos P. Santos
181b3635f1 [core][Qt] Use Qt for UTF16, since codecvt is not always available 2017-01-20 18:50:45 +01:00
Bruno de Oliveira Abinader
49da57393a [core] Remove platform-specific main.cpp from MBGL_TEST_FILES 2017-01-18 19:06:32 +01:00
Thiago Marcos P. Santos
76301b252c [build] Fix mbgl-offline tool build on recent Linux distros 2017-01-16 17:53:02 +02:00
John Firebaugh
a47600a41d [linux] No need for CXXABI suffix for mesa 2017-01-12 13:10:24 -02:00
Bruno de Oliveira Abinader
ce5ed9e649 [build] ICU is now configured per platform 2016-12-12 22:34:52 +02:00
John Firebaugh
385fbe6a07 [all] Upgrade to boost 1.62.0 2016-12-05 08:31:00 -08:00
Konstantin Käfer
e76de05402 [build] move logging to util 2016-11-22 20:58:51 +01:00
Konstantin Käfer
117863f111 [build] move headless rendering files to platform/default 2016-11-22 20:58:51 +01:00
Konstantin Käfer
3bc79e316e [build] move default ThreadPool implementation to platform/default 2016-11-22 20:58:51 +01:00
Bruno de Oliveira Abinader
0ef52d7f7c [build] Added EGL & GLX CI builds 2016-11-17 01:01:15 +01:00
Tiago Vignatti
32b6f2fa03 [linux] Implement EGL headless backend
Original author: Tiago Vignatti <tvignatti@gmail.com>

Calling X11 window system is superfluous for headless rendering. This patch
implements EGL platform using GBM, which is slightly more simple than the GLX
path when using X11.

In principle there are no big advantages in terms of performance etc. My
motivation behind this was to get in touch with the code and the project. For
testing I'm using:

  $ unset DISPLAY && ./build/linux-x86_64/Debug/mbgl-test

v2: rebased patch against the new cmake changes; walk through render node to
find a valid one; remove EGLSurface completely cause windows are not needed
here.
2016-11-17 01:01:15 +01:00
Bruno de Oliveira Abinader
8e99ae44dd [build] Use mesa-13.0.0-glx in CI builds 2016-11-08 18:02:38 +02:00
Bruno de Oliveira Abinader
297c303e88 [core] Refactor HeadlessDisplay 2016-11-08 18:02:38 +02:00
Bruno de Oliveira Abinader
48a082a91b [linux] Use OSMesa when running Node tests 2016-11-04 18:43:08 +02:00
Bruno de Oliveira Abinader
e66cc2e583 [linux] Added OSMesa headless backend 2016-11-04 18:43:08 +02:00
Konstantin Käfer
a4d259c33f [core] move gl::Context to Backend and refactor View 2016-10-25 13:52:36 -07:00
Konstantin Käfer
5cc390d694 [core] separate Backend from View for headless rendering 2016-10-25 13:52:36 -07:00