CMakeGraphVizOptions
Встроенная поддержка Graphviz в CMake.
Генерация файлов Graphviz
CMake может генерировать файлы Graphviz, отображающие зависимости между целевыми элементами проекта, а также внешними библиотеками, к которым они ссылаются.
При запуске CMake с опцией --graphviz=foo.dot, он создаёт:
- файл
foo.dot, показывающий все зависимости в проекте - файл
foo.dot.<target>для каждой цели, показывающий, от каких других целей она зависит - файл
foo.dot.<target>.dependersдля каждой цели, показывающий, от каких других целей зависят
Эти файлы .dot можно преобразовать в изображения с помощью команды dot из пакета Graphviz:
dot -Tpng -o foo.png foo.dot
Новое в версии 3.10: Разные типы зависимостей PUBLIC, INTERFACE и PRIVATE представлены как сплошные, пунктирные и штрихпунктирные линии.
Переменные, специфичные для поддержки Graphviz
Получаемые графики могут быть очень большими. Внешний вид и содержимое сгенерированных графиков можно настроить, используя файл CMakeGraphVizOptions.cmake. Этот файл сначала ищется в CMAKE_BINARY_DIR, а затем в CMAKE_SOURCE_DIR. Если он найден, переменные, установленные в нём, используются для настройки параметров сгенерированных файлов Graphviz.
-
GRAPHVIZ_GRAPH_NAME -
Имя графика.
- Обязательно: НЕТ
- По умолчанию: значение
CMAKE_PROJECT_NAME
-
GRAPHVIZ_GRAPH_HEADER -
Заголовок, вставляемый в начало файлов Graphviz.
- Обязательно: НЕТ
- По умолчанию: "node [ fontsize = "12" ];"
-
GRAPHVIZ_NODE_PREFIX -
Префикс для каждого узла в файлах Graphviz.
- Обязательно: НЕТ
- По умолчанию: "node"
-
GRAPHVIZ_EXECUTABLES -
Установите в FALSE, чтобы исключить исполняемые файлы из сгенерированных графиков.
- Обязательно: НЕТ
- По умолчанию: TRUE
-
GRAPHVIZ_STATIC_LIBS -
Установите в FALSE, чтобы исключить статические библиотеки из сгенерированных графиков.
- Обязательно: НЕТ
- По умолчанию: TRUE
-
GRAPHVIZ_SHARED_LIBS -
Установите в FALSE, чтобы исключить динамические библиотеки из сгенерированных графиков.
- Обязательно: НЕТ
- По умолчанию: TRUE
-
GRAPHVIZ_MODULE_LIBS -
Установите в FALSE, чтобы исключить модульные библиотеки из сгенерированных графиков.
- Обязательно: НЕТ
- По умолчанию: TRUE
-
GRAPHVIZ_INTERFACE_LIBS -
Установите в FALSE, чтобы исключить интерфейсные библиотеки из сгенерированных графиков.
- Обязательно: НЕТ
- По умолчанию: TRUE
-
GRAPHVIZ_OBJECT_LIBS -
Установите в FALSE, чтобы исключить объектные библиотеки из сгенерированных графиков.
- Обязательно: НЕТ
- По умолчанию: TRUE
-
GRAPHVIZ_UNKNOWN_LIBS -
Установите в FALSE, чтобы исключить неизвестные библиотеки из сгенерированных графиков.
- Обязательно: НЕТ
- По умолчанию: TRUE
-
GRAPHVIZ_EXTERNAL_LIBS -
Установите в FALSE, чтобы исключить внешние библиотеки из сгенерированных графиков.
- Обязательно: НЕТ
- По умолчанию: TRUE
-
GRAPHVIZ_CUSTOM_TARGETS -
Установите в TRUE, чтобы включить пользовательские целевые элементы в сгенерированные графики.
- Обязательно: НЕТ
- По умолчанию: FALSE
-
GRAPHVIZ_IGNORE_TARGETS -
Список регулярных выражений для имен целевых элементов, которые нужно исключить из сгенерированных графиков.
- Обязательно: НЕТ
- По умолчанию: пустой
-
GRAPHVIZ_GENERATE_PER_TARGET -
Установите в FALSE, чтобы не генерировать графики для каждой цели
foo.dot.<target>.- Обязательно: НЕТ
- По умолчанию: TRUE
-
GRAPHVIZ_GENERATE_DEPENDERS -
Установите в FALSE, чтобы не генерировать графики зависимостей
foo.dot.<target>.dependers.- Обязательно: НЕТ
- По умолчанию: TRUE
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.20/module/CMakeGraphVizOptions.html