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 PRIVATE
Abhängigkeit.
Wenn Ihre Quelldateien und Ihre Header die Header einer anderen Bibliothek enthalten, handelt es sich um eine PUBLIC
Abhängigkeit.
Wenn Ihre Header-Dateien, aber nicht Ihre Quelldateien die Header einer anderen Bibliothek enthalten, handelt es sich um eine INTERFACE
Abhängigkeit.
Andere Build-Eigenschaften PUBLIC
und INTERFACE
Abhängigkeiten werden an konsumierende Bibliotheken weitergegeben. http://www.cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html#transitive-usage-requirements