Spec-Zone.ru › CMake 3.26

VERIFY_INTERFACE_HEADER_SETS

Новое в версии 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. В противном случае заголовочный файл не компилируется.

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

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

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

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

Spec-Zone.ru

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