Spec-Zone.ru › CMake 3.22

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.22/module/CMakeGraphVizOptions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API