CMake target_link_libraries Interface Dependencies
If you are creating a shared library and your source cpp files #include the headers of another library (Say, QtNetwork for example), but your header files don’t include QtNetwork headers, then QtNetwork is a PRIVATE dependency. If your source files and your headers include the headers of another library, then it is a PUBLIC dependency. … Read more