Document the building process.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=192490601
This commit is contained in:
costan 2018-04-11 12:27:57 -07:00 committed by Victor Costan
parent 09217fd067
commit 1cc8b10b82

View File

@ -5,6 +5,7 @@
Authors: Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com) Authors: Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)
# Features # Features
* Keys and values are arbitrary byte arrays. * Keys and values are arbitrary byte arrays.
* Data is stored sorted by key. * Data is stored sorted by key.
* Callers can provide a custom comparison function to override the sort order. * Callers can provide a custom comparison function to override the sort order.
@ -16,15 +17,30 @@ Authors: Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)
* External activity (file system operations etc.) is relayed through a virtual interface so users can customize the operating system interactions. * External activity (file system operations etc.) is relayed through a virtual interface so users can customize the operating system interactions.
# Documentation # Documentation
[LevelDB library documentation](https://github.com/google/leveldb/blob/master/doc/index.md) is online and bundled with the source code. [LevelDB library documentation](https://github.com/google/leveldb/blob/master/doc/index.md) is online and bundled with the source code.
# Limitations # Limitations
* This is not a SQL database. It does not have a relational data model, it does not support SQL queries, and it has no support for indexes. * This is not a SQL database. It does not have a relational data model, it does not support SQL queries, and it has no support for indexes.
* Only a single process (possibly multi-threaded) can access a particular database at a time. * Only a single process (possibly multi-threaded) can access a particular database at a time.
* There is no client-server support builtin to the library. An application that needs such support will have to wrap their own server around the library. * There is no client-server support builtin to the library. An application that needs such support will have to wrap their own server around the library.
# Building
This project supports [CMake](https://cmake.org/) out of the box.
Quick start:
```bash
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .
```
Please see the CMake documentation and `CMakeLists.txt` for more advanced usage.
# Contributing to the leveldb Project # Contributing to the leveldb Project
The leveldb project welcomes contributions. leveldb's primary goal is to be The leveldb project welcomes contributions. leveldb's primary goal is to be
a reliable and fast key/value store. Changes that are in line with the a reliable and fast key/value store. Changes that are in line with the
features/limitations outlined above, and meet the requirements below, features/limitations outlined above, and meet the requirements below,
@ -45,6 +61,7 @@ Contribution requirements:
a sufficient explanation as to why a new (or changed) test is not required. a sufficient explanation as to why a new (or changed) test is not required.
## Submitting a Pull Request ## Submitting a Pull Request
Before any pull request will be accepted the author must first sign a Before any pull request will be accepted the author must first sign a
Contributor License Agreement (CLA) at https://cla.developers.google.com/. Contributor License Agreement (CLA) at https://cla.developers.google.com/.