Konstantin Käfer
98cc7c6c5f
[build] upgrade minimum CMake version
2019-01-21 17:00:31 +01:00
Jason Wray
9d7b774960
[core, build] Use -Os for RelWithDebInfo darwin builds
...
This makes a 17% difference in binary size.
2018-12-05 12:34:39 -05:00
Konstantin Käfer
a0b8f01c1b
[build] use newer compiler versions for some builds
2018-11-28 14:49:44 +01:00
Bruno de Oliveira Abinader
00c71c89cb
[build] Set C++11 ABI on by default
2018-11-26 12:42:14 +02:00
Bruno de Oliveira Abinader
06a51713f6
[build] Set CMAKE_EXPORT_COMPILE_COMMANDS=ON by default
2018-11-26 12:42:14 +02:00
Konstantin Käfer
f30429832e
[build] use GLFW as a submodule and update to most recent version
...
this fixes https://github.com/glfw/glfw/issues/1334 for macOS Mojave
2018-11-21 10:12:59 +01:00
Ander Conselvan de Oliveira
ca21cedb84
[build] Use clcache in appveyor build
...
clcache is a cache for compiled C and C++ objects similar to ccache but
compatible with Microsoft compilers. Using it should result in faster
builds.
2018-11-01 13:49:15 +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
Konstantin Käfer
282c71e8e9
[core] unify UTF-8/16 conversion to <boost/locale/encoding_utf.hpp>
2018-10-23 12:23:40 +02:00
Konstantin Käfer
30e570aae7
[core] add polyfill for codecvt for STLs that don't have it yet
2018-09-11 11:43:54 +02:00
Konstantin Käfer
679d66f36d
[build] use vendored SQLite for LTO benefits + custom compile flags
2018-09-05 12:26:15 +02:00
Konstantin Käfer
1e454642c8
[build] allow WITH_EGL for macOS as well (SwiftShader) and enable EGL for GLFW
2018-08-27 14:07:40 -07:00
Bryan Haber
31bdb74f48
[build] fixed typo in list of configuration types; RelWithDebugInfo should be RelWithDebInfo
...
- added missing linker flags for Sanitize configuration type
- changed mason's download to use cmake's built-in support instead of directly calling curl
2018-08-20 21:24:12 +02:00
Konstantin Käfer
bded6c65d5
[build] use plain text files for file lists to simplify integration with other build systems
2018-08-20 19:11:31 +02:00
Konstantin Käfer
6e06e55b95
WIP: use expected<T, E> for passing on errors
2018-08-14 17:03:46 -07:00
Ivo van Dongen
946db666b9
[core] support windows compilation with msvc2017 and clang 6
2018-08-07 10:13:19 +03:00
Konstantin Käfer
93d37282d9
[build] organize CMake targets in folders for IDEs
2018-07-17 18:36:17 +02: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
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
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
Konstantin Käfer
2694c0df03
[build] disable parts of the build that require node when WITH_NODEJS=OFF is set
2018-05-24 21:50:29 +02:00
Dane Springmeyer
29214902b5
Fix CXX11ABI builds with clang++
...
The intention of the `WITH_CXX11ABI` option is to allow the user to control toggle whether to compile against the CXX11ABI in libstdc++ (and whether to download a few specific CXX11ABI compatible mason packages as well).
This option is important if you are building binaries (like the node binaries) and you want to support a platform that is older and does not have a recent enough libstdc++ to support the CXX11ABI (like ubuntu:precise, centos6, etc).
But this was broken for clang++ builds due to the use of `MAKE_COMPILER_IS_GNUCXX`. That was preventing the correct flags from being set when using clang++ effectively making the option useless and resulting in the build defaulting to whatever the libstdc++-dev headers default is on the system (which varies per linux distribution based on how libstdc++-dev is packaged).
This fixes the problem by ensuring that clang++ builds still support toggling control over this option.
Note: clang++ > 3.9 supports targeting both the new CXX11ABI in libstdc++ (with `-D_GLIBCXX_USE_CXX11_ABI=1`) and targeting the old one (with `-D_GLIBCXX_USE_CXX11_ABI=0`).
2018-05-02 10:28:40 -07:00
Dane Springmeyer
de8fd3f97b
allow disabling -Werror ( #11589 )
2018-04-19 17:36:19 -04:00
Konstantin Käfer
aba733dc72
[core] update vector-tile dependency to 1.0.1
2018-01-10 22:17:44 -08:00
Thiago Marcos P. Santos
d7d73a26ac
[build] Do not override CMake build configuration flags
...
These flags are set, for instance, by Ninja on Windows.
2018-01-10 21:42:20 +02:00
Thiago Marcos P. Santos
f391271532
[windows][build] Make nodejs/npm optional
2018-01-08 22:58:20 +02:00
Thiago Marcos P. Santos
6a6b451ac0
[core] Bump Boost version to 1.65.1
...
Fixes a build error when building for Windows with clang.
2018-01-08 22:58:20 +02:00
Bruno de Oliveira Abinader
f2d781ad55
[build] linux-clang39-debug → linux-clang-3.8-libcxx-debug
2017-12-19 12:20:48 +02: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
Asheem Mamoowala
3067b77c65
[core, ios, macos] Implement unique_any and remove linb::any
2017-11-22 13:56:38 -08:00
Bruno de Oliveira Abinader
0062c7103f
[build] Bump earcut to 0.12.4
2017-10-20 00:43:34 +02:00
Asheem Mamoowala
068ed9496c
[core] Use geojsonvt 6.3.0
2017-09-28 15:47:21 -07: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
Asheem Mamoowala
a2712f6fa4
Update to gejson 0.4.2 and add StyleParser test to verify that GeoJSON without properties field can be loaded
2017-08-28 15:43:18 -07:00
Thiago Marcos P. Santos
edd7948893
[core] Bump vector-tile to v1.0.0-rc7
...
This version builds on Android + GCC.
2017-08-08 15:22:59 +03:00
Thiago Marcos P. Santos
d7b5a298d4
[core] Update dependencies
...
Bump to a new version that old compilers can build.
2017-08-07 17:20:33 +03:00
Jason Wray
05df451f3c
[build] Add ccache install reminder and docs ( #9520 )
2017-07-18 12:36:22 -04:00
Konstantin Käfer
698542cf45
[build] make Xcode use the correct compiler when it is installed in a non-standard location
2017-07-18 11:54:14 +02:00
Bruno de Oliveira Abinader
460643b213
[build] Publish node packages with RelWithDebInfo
2017-07-14 15:28:36 +03:00
Konstantin Käfer
6ca7b28e60
[build] add ccache + Circle CI caching
2017-07-13 15:11:12 +02:00
Konstantin Käfer
92354bdc25
[build] add address, undefined behavior + thread sanitizer
2017-07-13 15:11:12 +02:00
Bruno de Oliveira Abinader
2954a2a40d
[build] OSX build fix for GCC 4.9
2017-07-12 20:42:29 +03:00
Bruno de Oliveira Abinader
c163402f64
[build] Added Linux GCC 4.9 CI bot
2017-07-12 20:42:29 +03:00
Konstantin Käfer
e364f24570
[build] Don't fail hard for unknown warning groups
2017-07-11 16:23:19 +02:00
Konstantin Käfer
fc48ca1801
[build] use CMake to generate Xcode schemes
2017-07-06 11:45:09 +02:00
Konstantin Käfer
2cc330463d
[core] switch to vector-tile library for decoding Mapbox vector tiles
2017-06-21 17:18:08 -07:00
Bruno de Oliveira Abinader
12279b5dcc
[glfw] Added extrusions (E) and route (R) shortcuts
2017-06-14 16:39:07 +03:00
John Firebaugh
bb544136f3
[core] Update to shelf-pack 2.1.0
2017-06-13 10:18:43 -07:00
Tobrun
f1598ff07e
[core] - bump earcut version dependency to handle unused lamba warning ( #9242 )
2017-06-12 14:35:08 +02:00
John Firebaugh
d766af44c8
[core] Auto-growable SpriteAtlas using shelf-pack
2017-05-26 11:21:56 -07:00