Commit Graph

90 Commits

Author SHA1 Message Date
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
Konstantin Käfer
eae2c715f1 [core] add error for non-virtual destructor deletes + add virtual dtors 2017-05-18 16:57:12 +02:00
Bruno de Oliveira Abinader
52cddfc08a [build] Control libstdc++ usage via WITH_CXX11ABI 2017-04-27 18:45:56 +03:00
John Firebaugh
7b041b123c [core, darwin] Object identity for MGLSource*, MGLStyleLayer*
All `MGLSource` pointers referencing the same logical source will now be object identical; similarly for `MGLStyleLayer`.
2017-04-13 10:33:18 -07:00
Konstantin Käfer
a9896fa01b [build] generate .xcconfig files with configure_file
We previously used incremental `file(WRITE ...)` commands that gradually recreated the file on every CMake invocation. This sometimes lead to Xcode parsing a partially written file, which in turn breaks building dependend targets. Instead, we're now using a templated configuration file, which ensure that the file is created in one go and hopefully reduces the race condition between CMake and Xcode's automatic project updating.
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
Blake Thompson
fb37f5e543 Added wagyu and removed angus clipper 2017-03-17 08:28:51 -07:00
John Firebaugh
8742dc852c [all] Build all release builds with -Os 2017-03-02 16:32:42 -08:00
John Firebaugh
eb8a1ef7aa [tests] Disable timing-based Timer tests in CI 2017-02-15 15:09:30 -06:00
John Firebaugh
94a3c272ff [core] Update gl-js; fix $id filters with GeoJSON source 2017-02-08 19:07:53 -06:00