cppdep performs dependency analysis
among components/packages/package groups of a large C/C++ project.
This is a rewrite of
which is provided by John Lakos' book
"Large-Scale C++ Software Design", Addison Wesley (1996).
- Indirect extern declarations 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
$ 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
- Zhichang Yu for rewriting