Wenn Sie eine gemeinsam genutzte Bibliothek erstellen und Ihre Quell-CPP-Dateien # die Header einer anderen Bibliothek enthalten (z. B. QtNetwork), Ihre Header-Dateien jedoch keine QtNetwork-Header enthalten, ist QtNetwork eine PRIVATEAbhängigkeit.
Wenn Ihre Quelldateien und Ihre Header die Header einer anderen Bibliothek enthalten, handelt es sich um eine PUBLICAbhängigkeit.
Wenn Ihre Header-Dateien, aber nicht Ihre Quelldateien die Header einer anderen Bibliothek enthalten, handelt es sich um eine INTERFACEAbhängigkeit.
Andere Build-Eigenschaften PUBLICund INTERFACEAbhängigkeiten werden an konsumierende Bibliotheken weitergegeben. http://www.cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html#transitive-usage-requirements