INTERFACE_COMPILE_DEFINITIONS
Список требований к общедоступным определениям компиляции для библиотеки.
Целевые объекты могут заполнить это свойство для публикации определений компиляции, необходимых для компиляции с заголовками для целевого объекта. Команда target_compile_definitions() заполняет это свойство значениями, заданными ключевыми словами PUBLIC и INTERFACE. Проекты также могут получить и установить свойство непосредственно.
Когда зависимости целевого объекта задаются с помощью target_link_libraries(), CMake будет считывать это свойство со всех зависимостей целевого объекта, чтобы определить свойства сборки потребителя.
Содержимое INTERFACE_COMPILE_DEFINITIONS может использовать «выражения генератора» с синтаксисом $<...>. Обратитесь к руководству 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_COMPILE_DEFINITIONS.html