Git Product home page Git Product logo

jianyt / mobile-sdk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cartodb/mobile-sdk

0.0 0.0 0.0 107.24 MB

CARTO Mobile SDK core project

Home Page: https://carto.com/docs/carto-engine/mobile-sdk/

License: BSD 3-Clause "New" or "Revised" License

C 77.84% C++ 18.49% C# 0.58% Java 0.21% Python 0.70% Objective-C++ 0.34% Objective-C 0.16% CMake 0.09% Shell 0.05% XSLT 0.06% SWIG 1.47%

mobile-sdk's Introduction

CARTO Mobile SDK

CARTO Mobile SDK is a multi-platform mobile mapping SDK written mostly in C++11 with bindings to numerous languages (Java/C# for Android, ObjectiveC/C# for iOS and C# for Windows Phone).

This project contains the core part of the SDK, for samples, look at the 'Usage' section.

Building

We strongly suggest to use the precompiled SDK versions that can be found in the samples below (in 'Usage' section). The precompiled libraries include support for CARTO online services (basemaps, offline map packages, routing, etc). Also, getting all the SDK dependencies resolved and waiting for the build to complete can be very time-consuming.

Dependencies

Use git submodule to resolve all source-level dependencies

git submodule update --init --remote --recursive

Special swig version (swig-2.0.11-nutiteq branch) is needed for generating language-specific wrappers, this can be downloaded from https://github.com/CartoDB/swig. Clone it and compile it using usual ./autogen.sh; ./configure; make routine. Make sure build script refers to this one.

Python 2.7.x is used for build scripts

CMake 3.14 or later is required by build scripts

Android build requires Android SDK and Android NDK r19 or later.

iOS build requires XCode 7.3 or later.

Windows Phone build requires Visual Studio 2019.

Building process

Be patient - full build will take 1+ hours. You can speed it up by limiting architectures and platforms where it is built.

Set up boost library:

cd libs-external/boost
./bootstrap.sh
./b2 headers
cd ../..

Go to 'scripts' library where the actual build scripts are located:

cd mobile-sdk/scripts

Android build

python swigpp-java.py --profile standard
python build-android.py --profile standard

iOS build:

python swigpp-objc.py --profile standard
python build-ios.py --profile standard

Xamarin Android build:

python swigpp-csharp.py --profile standard android
python build-xamarin.py --profile standard android

Xamarin iOS build:

python swigpp-csharp.py --profile standard ios
python build-xamarin.py --profile standard ios

Windows Phone build

python swigpp-csharp.py --profile standard winphone
python build-winphone.py --profile standard

GDAL build for Android

Use precompiled GDAL library containing headers and .so files. Make symbolic links from GDAL_precompiled/android to prebuilt/gdal and GDAL_precompiled/android to libs-external/gdal.

python swigpp-java.py --profile gisextensions
python build-android.py --profile gisextensions --android-abi=armeabi-v7a --android-abi=arm64-v8a --android-abi=x86

Note: you need to copy libgdal.so files from the GDAL_precompiled folder

Usage

Support, Questions?

mobile-sdk's People

Contributors

csobier avatar csubira avatar farfromrefug avatar jaakla avatar jianyt avatar matallo avatar mostafa-j13 avatar mtehver avatar nikituh avatar vhamer avatar zach-ovic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.