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, 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
- 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
- See an Android Studio ndk-build sample
- Learn how CDep resolves coordinates
- Learn about CDep tool command line flags
- Learn about cdep.yml file
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:
- Open a terminal window and navigate to the directory where your project is located.
- Enter the following commands:
This creates the following files in your local directory (and are meant to be checked into source control):
$ git clone https://github.com/jomof/cdep-redist.git $ cd my-project $ ../cdep-redist/cdep wrapper
cdep cdep.bat cdep.yml bootstrap\wrapper\bootstrap.jar
cdep.ymland add the following line:Learn more about the cdep.yml file here.
dependencies: # This line tells CDep that your project depends on SQLite. - compile: com.github.jomof:sqlite:3.16.2-rev51
- Run the
cdepcommand to download SQLite and generate CMake module for it.
$ ./cdep Generating .cdep/modules/cdep-dependencies-config.cmake
- If you have a CMake project, open your
CMakeLists.txtand 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.When you call CMake to generate the project you'll need to tell it where to find the glue modules. So something like,
find_package(cdep-dependencies REQUIRED) add_all_cdep_dependencies(your_target_library)
For more details on setting up CMake build with CDep visit Add CDep dependencies to an existing Android Studio CMake project.