Проблемы понимания «интерфейса» в CMAKE target_include_libraries - PullRequest
1 голос
/ 28 января 2020

В настоящее время я делаю учебник CMAKE.

Учебник CMAKE

На шаге 3 вы добавляете следующую строку в «библиотеку», MathFunctions содержит один исходный файл mysqrt.cpp.

target_include_directories(MathFunctions
          INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
          )

В учебном пособии предлагается такое объяснение INTERFACE:

Помните, что ИНТЕРФЕЙС означает то, что требуется потребителям, но производитель этого не делает ,

У меня проблемы с пониманием. Я предполагаю следующее:

1) Потребитель - это исходный проект, включая библиотеку MathFunctions

2) Производитель - это MathFunctions библиотека

Но почему не нужно ли производителю включать текущий каталог с исходным кодом?

И почему мы не можем использовать вместо него клавишу PUBLIC или PRIVATE?

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