Spec-Zone.ru › CMake

Наборы заголовков интерфейса для проверки

Добавлена в версии 3.24.

Используется для проверки, что все заголовки в наборах заголовков целевого PUBLIC и INTERFACE могут быть включены по отдельности.

Когда это свойство установлено в значение true, и цель — библиотека объектов, статическая библиотека, динамическая библиотека, библиотека интерфейсов или исполняемый файл с включёнными экспортами, и цель имеет один или несколько наборов заголовков PUBLIC или INTERFACE, создаётся целевой объект библиотеки, названный <target_name>_verify_interface_header_sets. Эта целевая проверка имеет один исходный файл на каждый заголовок в наборах заголовков PUBLIC и INTERFACE. Каждый исходный файл включает только связанный с ним заголовочный файл. Целевая проверка подключается к исходной цели, чтобы получить все требования к её использованию. У целевой проверки установлены свойства EXCLUDE_FROM_ALL и DISABLE_PRECOMPILE_HEADERS в значение true, а свойства AUTOMOC, AUTORCC, AUTOUIC и UNITY_BUILD в значение false.

Если свойство заголовка LANGUAGE установлено, значение этого свойства используется для определения языка, с помощью которого будет скомпилирован заголовочный файл. В противном случае, если у цели есть какие-либо исходные файлы C++, заголовок компилируется как C++. В противном случае, если у цели есть какие-либо исходные файлы C, заголовок компилируется как C. В противном случае, если C++ включён глобально, заголовок компилируется как C++. В противном случае, если C включён глобально, заголовок компилируется как C. В противном случае заголовочный файл не компилируется.

Если свойство заголовка SKIP_LINTING установлено в значение true, файл не компилируется.

Если создаются какие-либо целевые проверки, создаётся целевая проверка верхнего уровня под названием all_verify_interface_header_sets, которая зависит от всех целевых проверок.

Это свойство инициализируется значением переменной CMAKE_VERIFY_INTERFACE_HEADER_SETS, если она установлена при создании цели.

Если проект хочет контролировать, какие наборы заголовков проверяются с помощью этого свойства, он может установить INTERFACE_HEADER_SETS_TO_VERIFY.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_tgt/VERIFY_INTERFACE_HEADER_SETS.html

Spec-Zone.ru

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