Si está creando una biblioteca compartida y sus archivos cpp de origen #incluyen los encabezados de otra biblioteca (digamos, QtNetwork por ejemplo), pero sus archivos de encabezado no incluyen encabezados QtNetwork, entonces QtNetwork es una PRIVATEdependencia.
Si sus archivos de origen y sus encabezados incluyen los encabezados de otra biblioteca, entonces es una PUBLICdependencia.
Si sus archivos de encabezado, pero no sus archivos de origen, incluyen los encabezados de otra biblioteca, entonces es una INTERFACEdependencia.
Otras propiedades de compilación PUBLICy INTERFACEdependencias se propagan a las bibliotecas consumidoras. http://www.cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html#transitive-usage-requirements