Разница между LINKLIBRARIES и INTERFACELINK_LIBRARIES в CMake заключается в том, что они указывают разные списки библиотек для линковки. 13
LINK_LIBRARIES содержит список библиотек, которые нужно связать с данной целью для её сборки. 1 Это можно рассматривать как список требований, необходимых для сборки указанной цели. 1
INTERFACELINKLIBRARIES содержит список библиотек, которые нужно связать с целями, использующими (линкующими) данную цель. 1 Другими словами, это транзитивные зависимости. 1 Например, если использование библиотеки A требует связывания библиотеки B, то правильное выполнение задачи обеспечивается установкой этого свойства для B на библиотеке A. 1
Таким образом, LINKLIBRARIES указывает библиотеки для сборки конкретной цели, а INTERFACELINK_LIBRARIES — для целей, использующих эту цель. 13