Dependency analyzer for C/C++ projects
cppdep performs dependency analysis among components/packages/package groups of a large C/C++ project. This is a rewrite of dep_utils(adep/cdep/ldep), which is provided by John Lakos’ book “Large-Scale C++ Software Design”, Addison Wesley (1996).
Differences from dep_utils
- Rewrite in Python, unifying adep/cdep/ldep into one tool
- Single configuration file (yaml file)
- No file alias support for the archaic file-name length limitations
- An extended notion of Component (header- or source-only)
- Support for multiple packages and package groups
- Support for exporting final dependency graph to Graphviz dot format
externdeclarations of global variables or functions instead of including the proper component header with the declarations.
- Embedded dynamic dependencies, such as dynamic loading and configurable internal services.
- Preprocessing or macro expansion is not performed. Dependency inclusion via preprocessor meta-programming is not handled.
- Dependency exclusion with C style multi-line comments or macros is not respected.
- Python 2.7 or 3.4+
- PyKwalify 1.6.0+
The dependencies can be installed with pip.
$ sudo pip install -r requirements.txt
>From the source:
$ ./setup.py install
The latest stable release from PyPi:
$ pip install cppdep
Create a configuration file that describes the project for analysis. config_schema.yml is given for guidance.
In the root directory of the project with the configuration file, run the following command to generate dependency analysis reports and graphs.
$ cppdep -c /path/to/config/file
More documentation and example configurations can be found in project wiki.
- John Lakos for inventing the analysis and providing dep_utils.
- Zhichang Yu for rewriting dep_utils into Python.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|File Name & Checksum SHA256 Checksum Help||Version||File Type||Upload Date|
|cppdep-0.2.2-py2.py3-none-any.whl (18.7 kB) Copy SHA256 Checksum SHA256||py2.py3||Wheel||Feb 14, 2017|
|cppdep-0.2.2.tar.gz (19.5 kB) Copy SHA256 Checksum SHA256||–||Source||Feb 14, 2017|