cdep

CDep is a decentralized native package dependency manager with a focus on Android. Runs on Windows, Linux, and MacOS.

Build Status Gitter

CDep

CDep is a decentralized native package dependency manager with a focus on Android. - Runs on Windows, Linux, and MacOS - Works with Android Studio, CMake, and ndk-build. CMake support is for both Android Studio version of CMake 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, SDL, ShaderC, STB, RE2 Regular Expressions, Firebase, MathFu, Vectorial, Boost, Yaml-CPP, SQLite.

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 * Author a new CDep package and host it on Github * Learn about the structure of CDep packages * Contribute to CDep * Request a new package or submit a bug report * See an Android Studio Freetype and SDL2 sample * Learn how CDep resolves coordinates

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 direcotry 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
  1. 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 “`
  2. Run the cdep command to download SQLite and generate CMake module for it.

    $ ./cdep
    Generating .cdep/modules/cdep-dependencies-config.cmake
    
  3. 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.

Related Repositories

cdep

cdep

CDep is a decentralized native package dependency manager with a focus on Android. Runs on Windows, Linux, and MacOS. ...

cppdep

cppdep

C/C++ Dependency Analyzer: a rewrite of John Lakos' dep_utils (adep/cdep/ldep) from "Large-Scale C++ Software Design" ...

cppdep

cppdep

This a rewrite of dep_utils(adep/cdep/ldep) which is provided by John Lakos' book Large-Scale C++ Software Design. ...