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.31/prop_tgt/VERIFY_INTERFACE_HEADER_SETS.html