CMake is one of Understand's built-in architectures — automatic ways to group a codebase (by directory, git history, language, …) for graphs, metrics, and dependency analysis.
CMake
Languages: C, C++Automatically extracts the architecture of a CMake-based C/C++ project.
This plugin allows you to automatically visualize your project's architecture based on information extracted from CMakeLists.txt files. This enables you to easily understand the relationships between your executables, libraries, and their corresponding source files.
Key Features:
- Recursive CMakeLists.txt file parsing: The plugin recursively searches specified directories (or your project directory) for CMakeLists.txt files.
- Executable and library identification: Automatically identifies executables and libraries defined in your CMakeLists.txt files.
- Source file mapping: Associates relevant source files (C/C++ files, headers) with their corresponding executables or libraries.
- Automatic Qt file handling: Supports Qt projects by recognizing and mapping automatically generated Qt designer and moc files.
- CMake variable expansion: Handles CMake variables and expands them to their corresponding values for accurate file mapping.
- Customizable architecture options: Provides options to specify directories, build directories, and other relevant settings.