Git Product home page Git Product logo

couchbase-mobile-tools's Introduction

The Couchbase Mobile Tool Repo

Master branch: This branch tracks the master branch of couchbase-lite-core, which is currently development versions of Couchbase Lite 2.8. For the Couchbase Lite 2.7 versions, check out the master-mercury branch.

This repo is a collection of tools developed by the Couchbase mobile team. Official support is not guaranteed by presence in this repo, and each tool gains official support (i.e. paid support help, etc) on a case-by-case basis. For more information, open one of the following pages:

Binary Releases

For convenience we've uploaded some pre-built binaries to the Releases tab. As these tools are unsupported, the binaries may or may not be up to date.

NOTE: The source code for the tools is Apache-licensed, as specified in LICENSE. However, the pre-built cblite binaries are linked with the Enterprise Edition of Couchbase Lite, so the usage of those binaries will be guided by the terms and conditions specified in Couchbase's Enterprise License.

Building the Tools

First: if you haven't already checked out submodules, run git submodule update --init --recursive.

Interactively

There is a Python script at the root of the repo called build.py which if run with no arguments will guide you through the build process.

To install the dependencies for the build script, run pip install -r requirements.txt. (Or use pip3 if you don't have pip.)

Then run python build.py (or python3 build.py) to build.

At the end of any interactive run, the script will print the non-interactive invocation to the screen for future reference. In the future you could just re-enter that command, if you like.

With CMake or Xcode

For a description of how to build without the script, see BUILDING.md

Compiler Requirements

Linux

The recommended configuration is clang and libc++. Here is a table of versions:

Name Minimum Recommended
GCC 7 7 or higher
Clang 3.9* 5 or higher

* Requires libstdc++-7 or libc++ from clang 5 or higher

Windows

Compiler versions on Windows have recently taken a turn beginning with Visual Studio 2017. However, it appears that compiler versions from here forward will be contained within a ten digit minor version range. Visual Studio 2017 was released with MSVC 14.10.25008 and is currently at MSVC 14.16.27027 while Visual Studio 2019 was released with MSVC 14.20.27508.

For the purposes of these tools, anything 14.10 or above is fine.

The C++ runtime installer for end users has been combined into one big installer for all of version 14 which overwrites the previous one instead of an installer per runtime like it used to be, so that makes checking if it is installed in an installer a bit more of a hassle.

If you've installed VS 2017, you are good to go for compiling. For distribution you will need to check the MSVC version and install the VS2015-2019 C++ runtime distributable if needed.

macOS

Xcode 11.4 or later recommended.

couchbase-mobile-tools's People

Contributors

bmeike avatar borrrden avatar jayahariv avatar mhocouchbase avatar pddstudio avatar pkjvit avatar rajagp avatar snej 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.