Commit Graph

34 Commits

Author SHA1 Message Date
Bruno de Oliveira Abinader
0c57efb9a8 [gyp] Use variant compiler flags when needed 2016-02-21 17:34:15 +02: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
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
ec97264431 [osx] Enable coverage support for debug build 2016-02-18 15:01:58 +02:00
Bruno de Oliveira Abinader
d5da86b098 [linux] Enable coverage support for debug build 2016-02-18 15:01:58 +02:00
John Firebaugh
d7db9c775a [all] Make #include <mapbox/variant.hpp> universally accessible 2016-02-04 11:08:02 -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
Mike Morris
79a5a96037 [core] mason geojsonvt-2.1.6.3
- [osx] set -fvisibility-inlines-hidden in gyp/common.gypi to silence
  mismatched visibility linker warnings
- [linux] set cxx_host in GYP_FLAGS to set -fabi-version=0 on gcc builds
  to use clang-built mason binaries
- [ios] update symbol visibility for iOS tests
- [ios] link libgeojsonvt.a in iOS tests xcodeproj
  - add libgeojsonvt.a to General -> Linked Frameworks and Libraries
  - add mason_packages (recursive) to Build Settings -> Library Search Path
- [ios] add libuv and geojsonvt first in iOS libtool smush to ensure symbols
  are found by later compilation units where they are undefined
2015-11-02 18:41:34 -05:00
Mike Morris
071dbcf44c [core] c++1y -> c++14 2015-10-14 11:36:28 -04:00
Konstantin Käfer
da4c62087d include $CFLAGS into build 2015-08-04 14:08:20 +02:00
Mike Morris
a65c90fdcb compile OS X with --std=c++1y
because Travis uses Apple LLVM 6.0 and full c++14 support landed in 6.1
2015-05-12 20:43:01 -07:00
John Firebaugh
e476fcbf3b C++14 2015-05-04 12:01:15 -07:00
John Firebaugh
2b0892aaaa Build with gcc 4.9 2015-05-04 11:59:39 -07:00
Mike Morris
2fd22b8742 define MACOSX_DEPLOYMENT_TARGET in common.gypi
Needed in target_defaults to prevent node-gyp from overriding this everywhere with '10.5' from https://github.com/joyent/node/blob/master/common.gypi
2015-04-13 19:33:16 +02:00
Konstantin Käfer
47ede853c4 fixes black flicker on rotating the device
fixes #838

instead of rendering ad libitum on the map thread, we are now driving rendering from the UI thread on iOS via the map.renderSync() function. There are still white bars during the rotation, but the general content of the view is kept visible.

- upgrades GLFW to 3.1
- removes swapped/needsSwap in favor of a more explicit scheme
- View#invalidate() now replaces View#swap() and is called whenever the View needs to trigger a rerender. GLFW and Android to this right away, while iOS goes back to the main thread and does the Map redrawing as part of the GLKView update
- sets all iOS deployment targets to 7.0
- disables SQLite3 version check, since the library version changed on iOS 8.2
2015-03-12 12:16:38 +01:00
Konstantin Käfer
50d78fde85 fix install script 2015-02-04 10:49:09 +01:00
Konstantin Käfer
29baacf3a5 refactor makefile 2015-02-04 10:49:09 +01:00
Konstantin Käfer
3d51e116a8 use fake linker for merging the standalone static library 2015-02-04 10:49:08 +01:00
Konstantin Käfer
704b3719f5 use standard DEBUG macro rather than NDEBUG 2015-02-04 10:49:07 +01:00
Konstantin Käfer
8730120054 move variables to their own file 2015-02-04 10:49:07 +01:00
Konstantin Käfer
272fa8935e make storage lib separate so we can build without storage libs 2015-02-04 10:49:07 +01:00
Konstantin Käfer
fbe30e04c4 move ios-specific configuration to common.gypi 2015-02-04 10:49:07 +01:00
Konstantin Käfer
4cbe665f7d add symbols to Release builds for easier debugging 2015-02-04 10:49:06 +01:00
Leith Bade
33f611cdf8 Fix -W flags for boost
Fixes #801
2015-02-03 11:38:43 -08:00
Leith Bade
70057e1b8e Merge branch 'master' of https://github.com/mapbox/mapbox-gl-native into android-mason
Conflicts:
	gyp/common.gypi
	include/mbgl/geometry/vao.hpp
	include/mbgl/platform/event.hpp
	include/mbgl/platform/gl.hpp
	platform/default/http_request_baton_curl.cpp
	src/storage/response.cpp
2014-11-09 00:35:52 +11:00
Konstantin Käfer
fb7f23884b don't error on unused parameters 2014-11-06 17:21:55 +01:00
Konstantin Käfer
618a4a5785 add -Werror to os x as well 2014-11-06 14:18:52 +01:00
Dane Springmeyer
d7b0a34bdd mason-based android port 2014-11-01 22:41:40 -04:00
Dane Springmeyer
bc7effdd86 declare explicit MACOSX_DEPLOYMENT_TARGET - refs #529 2014-10-31 16:37:53 -04:00
Mike Morris
7bdef53490 fix standalone_product_dir path 2014-10-30 11:51:50 -04:00
Dane Springmeyer
d8a93dbb95 use stable cross-generator direction for referencing standalone lib + other minor fixups 2014-10-29 18:13:25 -04:00
Konstantin Käfer
602b9da992 add -fPIC for static libraries 2014-10-27 16:47:47 -04:00
Konstantin Käfer
84700fce90 allow installing the library 2014-10-27 10:12:30 -04:00
Konstantin Käfer
0e928b5204 make tests work 2014-10-24 17:44:51 +02:00