Возможно, имелись в виду модификаторы PUBLIC, PRIVATE и INTERFACE, которые обозначают способ наследования зависимостей целей сборки в контексте, например, CMake. www.cyberforum.ru
Разница между PRIVATE и INTERFACE заключается в характере наследования зависимостей: www.cyberforum.ru
- PRIVATE обозначает частные зависимости, которые подключаются к цели сборки, но не подключаются к её клиентам. www.cyberforum.ru Например, если библиотека A имеет приватную зависимость от библиотеки Б, а от библиотеки A зависит приложение B, то cmake слинкует приложение B только с библиотекой А, но не с библиотекой Б. www.cyberforum.ru
- INTERFACE обозначает зависимость от интерфейса, что означает, что ничего линковать не нужно, а нужно лишь прокинуть настройки, такие как, например, пути к заголовочным файлам. www.cyberforum.ru В большинстве случаев интерфейсные зависимости используют для подключения header-only библиотек. www.cyberforum.ru
Таким образом, PRIVATE фокусируется на локальных зависимостях, а INTERFACE — на настройках, которые не требуют линковки, но необходимы для других целей, которые используют указанную библиотеку в качестве зависимости. ru.stackoverflow.com www.cyberforum.ru