В настоящее время я делаю учебник CMAKE.
Учебник CMAKE
На шаге 3 вы добавляете следующую строку в «библиотеку», MathFunctions содержит один исходный файл mysqrt.cpp
.
target_include_directories(MathFunctions
INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
)
В учебном пособии предлагается такое объяснение INTERFACE
:
Помните, что ИНТЕРФЕЙС означает то, что требуется потребителям, но производитель этого не делает ,
У меня проблемы с пониманием. Я предполагаю следующее:
1) Потребитель - это исходный проект, включая библиотеку MathFunctions
2) Производитель - это MathFunctions
библиотека
Но почему не нужно ли производителю включать текущий каталог с исходным кодом?
И почему мы не можем использовать вместо него клавишу PUBLIC
или PRIVATE
?