Как избежать транзитивного связывания Target после установки политики cmp0022 на новое - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть библиотека libB, связанная с libA с использованием target_link_libraries(libA Interface libB). Затем libA связана с другим libC, таким как target_link_libraries(libC libA).

Теперь, если мое понимание верно, то еслиcmp0022 установлен на new, тогда libC транзитивно связан с A и B, но я не хочу, чтобы это произошло с некоторыми целями, так как при сборке я получаю ошибку с некоторыми неразрешенными символами,

Эти ошибки связаны с целями, которые транзитивно связаны.Как это можно решить?

Установка политики обратно на старую не вариант.Кроме того, ссылка на библиотеку как частную также не принимается, поскольку эта проблема касается только некоторых целей.Я попытался получить значение INTERFACE_LINK_LIBRARIES, но показывает только те библиотеки, которые связаны напрямую, а не ту, которая транзитивно связана.В каком cmake свойстве я могу получить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...