Home

Awesome

Build Status Gitter

CDep

CDep is a decentralized native package dependency manager with a focus on Android.

Anyone can author a package and there is a growing list of useful packages, such as Freetype 2.0, SDL, ShaderC, STB, RE2 Regular Expressions, Firebase, MathFu, Vectorial, Boost, Yaml-CPP, SQLite, 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.

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.
  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.