https://github.com/google/cdep
CDep is a decentralized native package dependency manager with a focus on Android. Runs on Windows, Linux, and MacOS.
https://github.com/google/cdep
android
Last synced: 11 months ago
JSON representation
CDep is a decentralized native package dependency manager with a focus on Android. Runs on Windows, Linux, and MacOS.
- Host: GitHub
- URL: https://github.com/google/cdep
- Owner: google
- License: apache-2.0
- Created: 2017-03-13T22:29:59.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-06-20T18:55:06.000Z (about 3 years ago)
- Last Synced: 2025-08-12T15:56:39.881Z (11 months ago)
- Topics: android
- Language: Java
- Homepage:
- Size: 29.9 MB
- Stars: 100
- Watchers: 8
- Forks: 21
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-java - CDep
README
[](https://travis-ci.org/google/cdep)
[](https://gitter.im/google-cdep/Lobby)
# CDep
CDep is a decentralized native package dependency manager with a focus on Android.
- Runs on Windows, Linux, and MacOS
- Works with [Android Studio](https://d.android.com/studio/index.html), CMake, and [ndk-build](https://d.android.com/ndk/guides/ndk-build.html). CMake support is for both [Android Studio version of CMake](https://developer.android.com/studio/projects/add-native-code.html) and the built-in Android support that was added to CMake in version 3.7.1.
Anyone can author a package and there is a growing list of useful packages, such as [Freetype 2.0](https://github.com/jomof/freetype), [SDL](https://github.com/jomof/sdl), [ShaderC](https://github.com/ggfan/shaderc/releases), [STB](https://github.com/jomof/stb), [RE2 Regular Expressions](https://github.com/jomof/re2), [Firebase](https://github.com/jomof/firebase), [MathFu](https://github.com/jomof/mathfu), [Vectorial](https://github.com/jomof/vectorial), [Boost](https://github.com/jomof/boost), [Yaml-CPP](https://github.com/jomof/yaml-cpp), [SQLite](https://github.com/jomof/sqlite), [LUA](https://github.com/jomof/lua).
CDep comes from members of the Android Studio team and is not an official Google product. It is a work in progress and subject to change over time. Backward compatibility with existing packages will be maintained.
## Get started with CDep
Here are some things you can do to get started with CDep.
* [Add CDep dependencies to an existing Android Studio CMake project](doc/android-studio-cmake.md)
* [Author a new CDep package and host it on Github](doc/authoring.md)
* [Learn about the structure of CDep packages](doc/anatomy.md)
* [Contribute to CDep](CONTRIBUTING.md)
* [Request a new package or submit a bug report](https://github.com/google/cdep/issues/new)
* [See an Android Studio Freetype and SDL2 sample](https://github.com/jomof/cdep-android-studio-freetype-sample)
* [See an Android Studio ndk-build sample](https://github.com/jomof/ndk-build-meet-cdep)
* [Learn how CDep resolves coordinates](doc/coordinate-resolution.md)
* [Learn about CDep tool command line flags](doc/command-line-flags.md)
* [Learn about cdep.yml file](doc/cdep-yml.md)
## Getting started on Windows
Get started with CDep on Windows, enter the following in the command line:
> git clone https://github.com/jomof/cdep-redist.git
> cd my-project
> ..\cdep-redist\cdep wrapper
After this, the instructions are the same as Linux and Mac.
## Getting started on Linux and Mac
Get started with CDep on Linux or Mac by following these steps:
1. Open a terminal window and navigate to the directory where your project is located.
2. Enter the following commands:
```
$ git clone https://github.com/jomof/cdep-redist.git
$ cd my-project
$ ../cdep-redist/cdep wrapper
```
This creates the following files in your local directory (and are meant to be checked into source control):
```
cdep
cdep.bat
cdep.yml
bootstrap\wrapper\bootstrap.jar
```
3. Open `cdep.yml` and add the following line:
```
dependencies:
# This line tells CDep that your project depends on SQLite.
- compile: com.github.jomof:sqlite:3.16.2-rev51
```
Learn more about the cdep.yml file [here](doc/cdep-yml.md).
4. Run the `cdep` command to download SQLite and generate CMake module for it.
```
$ ./cdep
Generating .cdep/modules/cdep-dependencies-config.cmake
```
5. If you have a CMake project, open your `CMakeLists.txt` and add the following code at the end of the file. This tells CMake to locate the module glue file and add all the dependencies in that file to `your_target_library`.
```
find_package(cdep-dependencies REQUIRED)
add_all_cdep_dependencies(your_target_library)
```
When you call CMake to generate the project you'll need to tell it where to find the glue modules. So something like,
```
cmake -Dcdep-dependencies_DIR=.cdep/modules
```
For more details on setting up CMake build with CDep visit [Add CDep dependencies to an existing Android Studio CMake project](https://github.com/google/cdep/blob/master/doc/android-studio-cmake.md).