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. В противном случае файл заголовка не компилируется.
Если для заголовка установлено свойство 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/v3.29/prop_tgt/VERIFY_INTERFACE_HEADER_SETS.html