From c94e53d72b967a1ded1ab87ec00b645e11b4ac2d Mon Sep 17 00:00:00 2001 From: "Thiago Marcos P. Santos" Date: Mon, 8 Jan 2018 21:33:24 +0200 Subject: [qt] Refreshed build documentation --- README.md | 2 +- platform/qt/README.md | 75 ++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 60 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index c66d2216a4..32bfdf3b51 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ This repository hosts the cross-platform Mapbox GL Native library, plus convenie | [Mapbox Maps SDK for iOS](platform/ios/) | Objective-C or Swift | [![Bitrise](https://www.bitrise.io/app/7514e4cf3da2cc57.svg?token=OwqZE5rSBR9MVWNr_lf4sA&branch=master)](https://www.bitrise.io/app/7514e4cf3da2cc57) | | [Mapbox Maps SDK for macOS](platform/macos/) | Objective-C, Swift, or AppleScript | [![Bitrise](https://www.bitrise.io/app/155ef7da24b38dcd.svg?token=4KSOw_gd6WxTnvGE2rMttg&branch=master)](https://www.bitrise.io/app/155ef7da24b38dcd) | | [node-mapbox-gl-native](platform/node/) | Node.js | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | -| [Mapbox Qt SDK](platform/qt) | C++03 | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) | +| [Mapbox Qt SDK](platform/qt) | C++03 | [![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) [![AppVeyor CI build status](https://ci.appveyor.com/api/projects/status/3q12kbcooc6df8uc?svg=true)](https://ci.appveyor.com/project/Mapbox/mapbox-gl-native) | Additional Mapbox GL Native–based libraries for **hybrid applications** are developed outside of this repository: diff --git a/platform/qt/README.md b/platform/qt/README.md index 0123e3bda0..4d2d887828 100644 --- a/platform/qt/README.md +++ b/platform/qt/README.md @@ -1,41 +1,84 @@ # Mapbox Qt SDK -[![Travis](https://travis-ci.org/mapbox/mapbox-gl-native.svg?branch=master)](https://travis-ci.org/mapbox/mapbox-gl-native/builds) -[![Bitrise](https://www.bitrise.io/app/96cfbc97e0245c22.svg?token=GxsqIOGPXhn0F23sSVSsYA&branch=master)](https://www.bitrise.io/app/96cfbc97e0245c22) +[![Circle CI build status](https://circleci.com/gh/mapbox/mapbox-gl-native.svg?style=shield)](https://circleci.com/gh/mapbox/workflows/mapbox-gl-native/tree/master) [![AppVeyor CI build status](https://ci.appveyor.com/api/projects/status/3q12kbcooc6df8uc?svg=true)](https://ci.appveyor.com/project/Mapbox/mapbox-gl-native) -### Developing +## Developing -This is the foundation for the Mapbox GL plugin available since Qt 5.9. Use the Qt bugtracker -for bugs related to the plugin and this GitHub repository for bugs related to Mapbox GL Native. +This is the foundation for the [Mapbox GL plugin](https://doc.qt.io/qt-5/location-plugin-mapboxgl.html) +available in the Qt SDK since Qt 5.9. Use the [Qt bugtracker](https://bugreports.qt.io) for bugs related +to the plugin and this GitHub repository for bugs related to Mapbox GL Native and the Qt bindings. + +You should build this repository if you want to develop/contribute using the low level Qt C++ bindings or +want to contribute to the Mapbox GL Native projectusing the Qt port for debugging. + +See the Mapbox Qt landing page for more details: https://www.mapbox.com/qt/ + +### Build dependencies #### Linux -For Linux (Ubuntu) desktop, together with these [build +For Linux (tested on Ubuntu) desktop, together with these [build instructions](https://github.com/mapbox/mapbox-gl-native/tree/master/platform/linux#build), you also need: - sudo apt-get install qt5-default +``` +$ sudo apt-get install qt5-default +``` #### macOS -For macOS desktop, you can install Qt 5 via [Homebrew](http://brew.sh): +For macOS desktop, you can install Qt 5 via [Homebrew](https://brew.sh): - brew install qt5 +``` +$ brew install qt5 +``` Since Homebrew doesn't add Qt to the path, you'll have to do that manually before running any Make target: - export PATH=/usr/local/opt/qt5/bin:$PATH +``` +export PATH=/usr/local/opt/qt5/bin:$PATH +``` + +### Windows + +The Windows build will assume you have installed and on the default path: + +- Microsoft Visual Studio 2015 +- [CMake 3.10.1+](https://cmake.org/download/) +- [LLVM 5.0.0+](https://releases.llvm.org/download.html) +- [Qt 5+](https://www.qt.io/download) with "msvc2015" support. -We provide the following build targets for our Qt SDK: +At runtime, you will also need installed: + +- [OpenSSL 1.0.2+](https://slproweb.com/products/Win32OpenSSL.html) +- DirectX ### Build instructions -#### Qt library +Public API headers +can be found in the [platform/qt/include](https://github.com/mapbox/mapbox-gl-native/tree/master/platform/qt/include) directory. -```make qt-lib``` to build the `qmapboxgl` shared library. Public API headers -can be found in [platform/qt/include](https://github.com/mapbox/mapbox-gl-native/tree/master/platform/qt/include) folder. +#### Linux and macOS #### QMapboxGL example application -```make qt-app``` or ```make run-qt-app``` to run the application at the end of -build. +``` +$ make qt-lib # Will build libqmapboxgl.so +$ make qt-app # Will build the test app and libqmapboxgl.so if not built yet +$ make run-qt-app # Will build and run the test app +``` + +#### Windows + +The Windows build bot will publish MSVC 2015 compatible binaries and headers on every build +at the [artifacts](https://ci.appveyor.com/project/Mapbox/mapbox-gl-native/build/artifacts) tab. +These binaries can be downloaded and used right away. + +In case of building from the sources: + +``` +$ mkdir build +$ cd build +$ cmake -G "Visual Studio 14 2015 Win64" -T LLVM-vs2014 -DMBGL_PLATFORM=qt -DWITH_QT_DECODERS=ON -DWITH_QT_I18N=ON -DWITH_NODEJS=OFF .. +$ cmake --build . --config Release --target qmapboxgl -- /m +``` -- cgit v1.2.1