Spec-Zone.ru › CMake 3.15

INTERFACE_SYSTEM_INCLUDE_DIRECTORIES

Список общедоступных каталогов системных заголовков библиотеки.

Цели могут заполнить это свойство, чтобы опубликовать каталоги, содержащие системные заголовки, и поэтому не должны привести к предупреждениям компилятора. Подпись команды target_include_directories(SYSTEM) заполняет это свойство значениями, указанными в ключевых словах PUBLIC и INTERFACE.

Проекты также могут получить и установить свойство напрямую, но должны понимать, что добавление каталогов в это свойство не делает эти каталоги используемыми во время компиляции. Добавление каталогов в это свойство помечает каталоги как SYSTEM, которые в противном случае использовались бы не по-SYSTEM. Это может показаться похожим на «дублирование», поэтому предпочтительнее использовать высокоуровневую команду target_include_directories(SYSTEM) и избегать установки свойства низкоуровневыми средствами.

Когда зависимости целевого объекта задаются с помощью target_link_libraries(), CMake будет считывать это свойство из всех зависимостей целевого объекта, чтобы отметить одинаковые каталоги заголовков как содержащие системные заголовки.

Содержание INTERFACE_SYSTEM_INCLUDE_DIRECTORIES может использовать «генераторные выражения» со синтаксисом $<...>. См. руководство cmake-generator-expressions(7) для доступных выражений. См. руководство cmake-buildsystem(7) для получения более подробной информации об определении свойств системы сборки.

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

Spec-Zone.ru

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