INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
Список общедоступных системных каталогов включаемых файлов для библиотеки.
Цели могут заполнять это свойство, чтобы предоставлять каталоги включаемых файлов, содержащие системные заголовочные файлы, которые поэтому не должны приводить к предупреждениям компилятора. Кроме того, поиск в системных каталогах включаемых файлов выполняется после поиска в обычных каталогах независимо от указанного порядка.
Если команде target_include_directories() передано ключевое слово SYSTEM, она заполняет это свойство значениями, указанными после ключевых слов PUBLIC и INTERFACE.
Проекты также могут получать и задавать это свойство напрямую, но следует учитывать, что добавление каталогов в это свойство не приводит к их использованию при компиляции. Добавление каталогов в это свойство помечает их как системные, хотя в противном случае они использовались бы не как системные. Это может выглядеть как дублирование, поэтому предпочтительнее использовать высокоуровневую команду target_include_directories() с ключевым словом SYSTEM и не задавать свойство напрямую.
Если зависимости целей указаны с помощью target_link_libraries(), CMake считывает это свойство из всех целевых зависимостей, чтобы пометить те же каталоги включаемых файлов как содержащие системные заголовочные файлы.
Содержимое INTERFACE_SYSTEM_INCLUDE_DIRECTORIES может использовать «генераторные выражения» с синтаксисом $<...>. Доступные выражения описаны в руководстве cmake-generator-expressions(7). Подробнее об определении свойств системы сборки см. в руководстве cmake-buildsystem(7).
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.html