Commit Graph

413 Commits

Author SHA1 Message Date
Bruno de Oliveira Abinader
a083fcbd77 [Qt] Added qt-qml-app example 2016-04-27 17:36:35 +03:00
Bruno de Oliveira Abinader
72bcad210d [Qt] Added QQuickMapboxGL{,Renderer} 2016-04-27 17:36:35 +03:00
Thiago Marcos P. Santos
8b9f84d815 [Qt] Add toolchain support
Enables cross-compilation.
2016-04-25 16:44:28 +03:00
John Firebaugh
d77e35b686 [test] Run with --gtest_catch_exceptions=0 2016-04-22 15:53:18 -07:00
Thiago Marcos P. Santos
c8c69f1d2a [Qt] Build the Qt port 2016-04-20 20:55:51 +03:00
John Firebaugh
2d33ae5ed7 [ios, osx] Eliminate use of main.mk 2016-04-19 16:28:30 -07:00
Thiago Marcos P. Santos
301b4c7c4e [build] Use which instead of command
`command` is shell buitin on Linux.
2016-04-18 17:50:18 +03:00
Thiago Marcos P. Santos
87b27711d5 [build] Make run-glfw-app not working on Linux 2016-04-18 17:08:20 +03:00
Minh Nguyễn
b8c39667ff [ios] Moved SDK from gyp into Xcode project
Added a new Cocoa Touch dynamic framework target and Cocoa Touch static library target to the main iOS Xcode project. The targets are based on the templates provided by Xcode. They contain headers and source files in the darwin/ and ios/ subdirectories. Headers are explicitly marked public or project-internal instead of implicitly by subdirectory.

The SDK targets have a few dependencies that are managed by mason. Transform the config.gypi generated by configure into an .xcconfig file that Xcode uses to fill in compiler and linker flags.

Removed the iossdk target from platform.gypi and pared down the platform-lib target. make iproj opens the overall Xcode workspace instead of just the core project.

Resolved some warnings that are only now appearing because we’re using the standard warning and error flags instead of the pedantic and somewhat inappropriate flags that were forced by the gyp configuration files. Removed a console message informing developers of a long-ago deleted delegate method; the message was triggering a “selector not found” warning. Conditionalized some deprecated symbol usage that’s still needed for the static framework but not the dynamic framework, due to differing minimum deployment targets.

Added a build phase to the static library target that copies headers for use with the static library itself. This would allow us to potentially include a header in the dynamic framework but not the static library and vice-versa.

Updated the changelog to note that unused SVG files have been removed from the distribution.
2016-04-16 22:45:59 -07:00
John Firebaugh
be47e35a97 [ios, osx] The return of xcpretty, part II (#4676) 2016-04-11 16:45:14 -07:00
John Firebaugh
f964e40e7e [build] Refactor and simplify build system
* Main gyp files are now standardized as platform/<platform>/platform.gyp.
* Each platform gyp file defines appropriate loop_lib and headless_lib variables.
* Each platform gyp file includes mbgl.gypi, which defines base targets which may be useful to all platforms.
* CI targets are consistent across platforms: `make $(PLATFORM) && make test-$(PLATFORM)`.
* Renamed the "linux" test app to "glfw". It's now built in OS X CI.
* Android build flakiness is fixed.
* iOS CI builds the bench and iosapp targets.
* Mesa version is now in one place.
* CI scripts use bash "strict mode" and correct error handling.
* All build output goes to the build directory.
* Removed vestigial iOS/OS X/Android Travis scripts.
2016-04-07 18:01:02 -07:00
Konstantin Käfer
65acf35dcf [core] fix various compilation issues 2016-04-04 16:20:04 -07:00
John Firebaugh
409822633d [build] Fix/simplify ios, isim, and ibench targets 2016-04-04 11:32:42 -07:00
John Firebaugh
879382f724 [ios, osx] Replace libuv with native implementations 2016-04-01 09:26:54 -07:00
Bruno de Oliveira Abinader
bfd5ad3220 [gyp] Coverage only if BUILDTYPE=Debug and ENABLE_COVERAGE=1
Coverage compiler and linker flags are used only when (1) in debug build
and (2) with ENABLE_COVERAGE set to 1. Besides, because OS X's libtool
is unable to understand '--coverage', this linker flag is only used
genrating executable targets. Also, using 'link_settings' to specify
linker options and separate instructions for OSX and Linux.
2016-02-21 17:22:26 +02:00
Bruno de Oliveira Abinader
1dbfbfe7e3 [tests] Upload coverage reports to coveralls.io 2016-02-20 11:43:42 +02:00
Bruno de Oliveira Abinader
6792d78952 [tests] Use ENABLE_COVERAGE=1 envvar to enable coverage
This detaches coverage data collection from typical debug build.
2016-02-19 17:40:30 +02:00
Bruno de Oliveira Abinader
cdfe4e46aa [tests] Added coverage report target 'check'
Issuing 'make check' now collects unit tests coverage data and generates
a report in HTML.
2016-02-18 15:01:58 +02:00
John Firebaugh
13e2acbc75 [ios, osx] Consolidate remaining files in platform/{ios,osx} 2016-02-12 14:53:52 -08:00
Thiago Marcos P. Santos
9413c41ba3 [build] Build offline smoke test for Linux 2016-02-11 17:20:58 +02:00
Konstantin Käfer
2f06ca74e2 [core] move platform/gl.hpp to gl/gl.hpp 2016-02-08 12:50:00 +01:00
Bruno de Oliveira Abinader
7bd4745cf1 [core] Fix typo in version-specific host defaults path 2015-12-23 14:53:59 -04:00
Bruno de Oliveira Abinader
908f4d7eb1 [core] Fix build script paths 2015-12-23 14:02:24 -04:00
John Firebaugh
b60b6c47c0 [core] Merge SQLiteCache into the platform library
OfflineFileSource will depend on SQLite too.
2015-12-22 12:09:14 -08:00
John Firebaugh
3d37017c68 [ios, osx] Drop xcpretty
It's buggy and hides necessary diagnostics.
2015-12-21 16:59:35 -08:00
John Firebaugh
7a4e7376e1 Move platform scripts into platforms 2015-12-16 17:49:22 -08:00
John Firebaugh
13d5b18eba [android] Move into platform subdirectory 2015-12-16 14:52:29 -08:00
Minh Nguyễn
62412af6ab [osx] Only build osxapp on Travis
Building osxapp means building the SDK, so building the SDK independently is wasteful.

Fixes #3313.
2015-12-15 10:47:33 -08:00
Konstantin Käfer
95cef66e22 [core] change RapidJSON usage to use CrtAllocator and bump GeoJSON VT 2015-12-14 16:43:35 -08:00
Minh Nguyễn
e7d7add420 [ios] Strip OS X–specific APIs from iOS documentation
appledoc can’t understand conditional compilation. This is the best we can do until we move to Jazzy.
2015-12-13 17:26:53 -08:00
Minh Nguyễn
62e6c04c73 [osx] Align build settings with Xcode framework project template
In particular, -Os yields significant size improvements in Release.
2015-12-13 17:26:53 -08:00
Minh Nguyễn
47fb5e820b [osx] Moved Mapbox.{h,m} into framework proper; set version variables 2015-12-13 17:26:53 -08:00
Minh Nguyễn
df0511af18 [osx] Build framework based on static library 2015-12-13 17:26:53 -08:00
Minh Nguyễn
0cab7809eb [osx] Rewrote platform-osx and osxapp
platform-osx now vends a real NSView subclass, MGLMapView, that is readily embedded inside a Cocoa application for OS X. MGLMapView is backed by an NSOpenGLLayer for optimal performance and integration with other layer-backed views. It supports keyboard shortcuts and several gestures and hosts attribution, zooming, and rotation controls as subviews. osxapp is now a bona fide Cocoa application that embeds MGLMapView inside a XIB. osxapp has preferences and a share button for tight integration with custom styles.

Enabling asynchronous rendering would be more consistent with iOS but increases CPU usage so much, even when idle, that it isn’t worth any performance gain. The bigger issue is that VAOs aren’t being used.

make xpackage creates a static library similar to the one created by make ipackage. make clean cleans additional places where build output ends up.

The OS X minimum deployment target has been increased from 10.9 to 10.10. osxapp’s window has a full size content view, which requires 10.10. Lightweight generics require iOS 9+ and OS X 10.11 regardless, because it was only in that release that Foundation collection classes started adopting lightweight generics.

Shuffled files around and refactored annotations so that iOS and OS X share a good chunk of the annotations code, which now takes advantage of polymorphism. MGLMapView can now display annotations but cannot yet select them. In osxapp, a long press drops a pin, and so does the map view’s context menu.

Annotations have NSPopovers as callouts, and their view controllers can be customized. Annotation image alignment rects are respected for hit testing purposes and for positioning the callout anchor. Callouts in osxapp demonstrate the use of bindings to keep callouts in sync with underlying model objects.
2015-12-13 17:17:35 -08:00
Konstantin Käfer
8d711e9c80 [test] update test suite to include more comprehensive GeoJSON tests 2015-12-11 16:23:43 -08:00
Konstantin Käfer
b0bec13601 [build] make sure we're building the config file for node Xcode projects 2015-12-11 16:23:42 -08:00
Konstantin Käfer
da7b6bb8b9 [core] upgrade to GeoJSON VT 3.0.0 2015-12-10 12:54:58 -08:00
Konstantin Käfer
655b777635 [core] don't rebuild shaders unless they change 2015-12-10 11:59:51 -08:00
Konstantin Käfer
249966a9d7 [node] don't go through npm to debug in Xcode 2015-12-09 11:54:04 -08:00
Konstantin Käfer
8bfc5de1dc [build] use ccache 2015-12-07 17:53:38 -08:00
Justin R. Miller
032e3a66f3 fixes #3181: move from vendored lib to framework
- Add license file to framework build step to satisfy CocoaPods linting.
- Log version when rolling framework (refs #3046).
- fixes #1426: get rid of dummy file since we make our own framework.
2015-12-07 12:14:29 -08:00
Konstantin Käfer
e12cd6aef4 [build] Add clang-tidy to Travis 2015-12-03 15:38:36 +01:00
Konstantin Käfer
0c8eeea665 [build] add make target "tidy" for running clang-tidy 2015-12-03 12:06:51 +01:00
Konstantin Käfer
678a5ca91e [build] add ninja + compilation database support 2015-12-03 11:13:43 +01:00
John Firebaugh
eb60131741 [core] Only android needs libzip 2015-12-01 20:16:06 -08:00
Mike Morris
4dc4eef83e [node] simpler PACKAGE_JSON_VERSION 2015-12-01 13:52:17 -05:00
Justin R. Miller
8d25d9ab1a Merge branch 'release-ios-v3.0.0' 2015-11-30 11:10:27 -08:00
John Firebaugh
ed5eb9edc1 [test] Add pixelmatch; use in annotation tests 2015-11-25 15:57:37 -08:00
Justin R. Miller
c6edcf69b3 reduce framework binary size with more stripping 2015-11-23 12:49:33 -08:00
Justin R. Miller
8a774ad9a9 show current version changelog section in docs & link externally to full
This is going to fail and output nothing for -pre and -rc tags for now
until #3046 is addressed. We can't yet grab those but still have final
releases sort after them.
2015-11-23 11:15:10 -08:00